The Case Against Always Using Microservices

The Case Against Always Using Microservices

When it comes to software architecture, the debate between monolithic and microservices architectures has been a hot topic for years. While microservices have gained significant popularity due to their scalability, flexibility, and agility, they are not a one-size-fits-all solution. In this article, we’ll delve into the reasons why microservices might not always be the best choice, and why sometimes, the old reliable monolith is the way to go. Increased Complexity in Management One of the most significant drawbacks of microservices is the increased complexity in managing distributed systems....

January 15, 2025 · 4 min · 852 words · Maxim Zhirnov
Implementing the Event Sourcing Pattern in a Go Application with EventStoreDB

Implementing the Event Sourcing Pattern in a Go Application with EventStoreDB

Introduction to Event Sourcing Event Sourcing is a design pattern that has been gaining traction in the software development world, and for good reason. It allows you to capture changes to an application’s state as a sequence of events, rather than just storing the current state. This approach provides a complete audit trail of all changes, making it easier to debug, audit, and even revert to previous states if needed....

January 14, 2025 · 5 min · 853 words · Maxim Zhirnov
The Myth of the Objective Code Review: Acknowledging Bias in Peer Reviews

The Myth of the Objective Code Review: Acknowledging Bias in Peer Reviews

The Elusive Quest for Objectivity in Code Reviews In the realm of software development, code reviews are often touted as a sacred ritual, a bastion of quality and a guardian against the nefarious forces of bad code. However, beneath the surface of this seemingly objective process lies a complex web of biases, subjective judgments, and human fallibilities. Let’s delve into the myth of the objective code review and explore why, despite our best intentions, code reviews are inherently subjective....

January 14, 2025 · 5 min · 875 words · Maxim Zhirnov
Automating Deployment with Ansible and Terraform: A Match Made in Heaven

Automating Deployment with Ansible and Terraform: A Match Made in Heaven

The Perfect Duo: Ansible and Terraform In the world of software development, automation is the unsung hero that saves us from the drudgery of repetitive tasks and the pitfalls of human error. Two tools that have risen to the forefront of this automation revolution are Ansible and Terraform. While they serve different purposes, they complement each other beautifully, making them an indispensable duo in any DevOps toolkit. What is Terraform? Terraform, developed by HashiCorp, is a powerful infrastructure as code (IaC) tool....

January 13, 2025 · 5 min · 991 words · Maxim Zhirnov
The Fallacy of 'Always Use a Monorepo': When Multiple Repos Win

The Fallacy of 'Always Use a Monorepo': When Multiple Repos Win

The Monorepo Mania: A Critical Look In the world of software development, the debate between monorepos and multi-repos has been a longstanding one. While monorepos have gained significant popularity, especially among tech giants like Microsoft, Facebook, and Twitter, the idea that they are always the best solution is a fallacy. Let’s dive into the nuances of both approaches and explore why, in many cases, multiple repositories might be the better choice....

January 13, 2025 · 5 min · 875 words · Maxim Zhirnov