Software development teams which work in an Agile mode often focus on speeding up the deployment process and these deployments are quite frequent.
The reader is expected to have a very basic understanding of Kubernetes(k8s), Docker and containers. This blog post assumes the deployment of the application is happening in a k8s cluster. The deployment strategy can be assumed to be in rolling update fashion.(It’s beyond the scope of this post).
Trying to keep it as simple as possible even if the reader is new to these terms.
With great power, comes great responsibility! When the builds and deployments are…
In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Determining what is and is not a code smell is subjective, and varies by language, developer, and development methodology. — wikipedia
Code smells are often symptoms of poor design or implementation choices.
Writing clean code is an art. It is a pathway towards software craftsman /craftswoman ship. But sometimes not every one is well equipped with this art. As the saying goes it takes 10,000 hours to master a skill. So, we need something that will enforce the developers of the team to write the code in a cleaner and secure way.
SonarQube is an amazing tool that helps in this regard. It helps us detect the code smells, potential bugs and security vulnerabilities in your code. …
This post is co-authored by swathi kurella.
Excessive abstractions by frameworks can sometimes be painful for developers to utilize the underlying functionalities of core libraries.
In this write out, you are going to take away how to elegantly handle publisher failures while publishing to Kafka using Spring abstractions.
At ThoughtWorks, we have built a data ingestion platform as a part of a project. We chose Kafka as a streaming platform, Spring messaging framework to ingest payloads using spring-cloud-stream’s Kafka binder.
The reader is assumed to have some basic knowledge of Spring framework, Kafka streaming platform, callbacks mechanism, asynchronous communication.
What a git hook can do is constrained only by the developer’s imagination. Git hooks are one of the most productive hacks every software engineering team must possess.
I assume the reader has some hands on experience with git and basic shell scripting. We will be going through only two types of git hooks in this write out. The intention is to introduced the reader to git hooks,not to explain details of different types of git hooks.
Keeping the application’s build pipeline always green is a skill. We all often see developers saying :
“oh! the pull request build failed…
Debugging the performance of a distributed system is always a pain. But on the other side of this coin, you get a lot of learning, knowing the system better and this helps in building an architectural mindset.
Recently, I have spent close to 2 weeks on debugging a performance issue of a distributed system our team was developing. I am sharing my learning from this period in this blog post.
First things first:
I assume the reader has some knowledge of micro services, distributed systems and how critical would a performance issue of a distributed could be. …