Ikut Menjadi Orang Oon Diantara 2 Milyar Pengguna Facebook

Pernah terbayang atau bahkan merasakan betapa sakitnya kalau ternyata apa yang kita lakukan secara sukarela untuk seseorang ternyata dikata-katain. Itu yang saya rasakan ketika menemukan kata-kata…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Why do we build monoliths?

In the last decade, everyone has heard about microservices and how amazing they are. But microservices, domain-driven design (DDD), and other techniques for building loosely-coupled software are not only buzzwords that allow us to be the coolest-looking company out there. We have statistical proof that they enable low- and mid-performing teams to be high performers, being highly focused on their goals, and achieving superior business results.

Procedurally building our software, due to the natural time-pressure of launching MVPs to the market, leads us to tightly-coupled solutions that are difficult to change. The problem with these solutions is that they will often take us to a point where tech teams cannot fulfill product requirements without significant rework, leading to longer cycle times. This is when we know that we will need to switch the approach to a well-encapsulated modular architecture. But how can we move towards a hypothetical service-oriented architecture with a very young product?

At this point, a domain-driven design approach can be extremely helpful because it not only allows us to decouple our idea and model our product better, it also tends to bridge the gap between the problem domain and the solution space, that is, the business problems that we are trying to solve and how we solve them.

When teams grow and start having multiple squads, a mono-repo modular approach can be limiting, making our different teams codependent and reducing autonomy. However, if we have already started identifying our subdomains and bounded contexts, we already have half of the path done towards microservices. Through domain-driven design, we would have already created independent sub-products that can be extracted into different services to maintain event-based communication.

Right now, at Koble, we are moving towards a microservices architecture due to our own growth. Handling growth with this new architecture will avoid dependencies or blockers between teams, enabling fully-autonomous squads that focus their work in specific domains. These domains are fully aligned with the business, and, thanks to this, the transition will be a lot less painful.

Add a comment

Related posts:

New insights into the strong interaction with strange exotic atoms

The strong interaction plays a fundamental role in our universe. The difficulty of performing precision measurements has limited our understanding of this interaction. Dr Catalina Curceanu at the…

Want to know more?

Mosquitoes are the deadliest animals in the world — but maybe we should think of them as victims, not villains? Worldwide, an estimated 700 million people contract diseases from a mosquito bite…

Status quo

The most powerful emotions demand to be felt.. “Status quo” is published by Keets.