Microservices

This article talks about microservices. The microservice architectural style us an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. These services are built around the business. In order to understand what a microservice is, the author puts and the monolithic example: a monolithic application built as a single unit. But what does it mean?

Enterprise Applications are often built in three main parts: a client-side user interfaces a database and a server-side application. The server-side application will handle HTTP requests, execute domain logic, retrieve and update data from the database, and select and populate HTML views to be sent to the browser. This server-side application is a monolith - a single logical executable. Any changes to the system involve building and deploying a new version of the server-side application.

Monolithic applications can be successful. Change cycles are tied. Over time it's often hard to keep a good modular structure, making it harder to keep changes that ought to only affect one module within that module. Scaling requires scaling of the entire application rather than parts of it that require greater resource.New techniques tend to be adopted by more skillful teams. But a technique that is more effective for a more skillful team isn't necessarily going to work for less skillful teams. A poor team will always create a poor system - it's very hard to tell if microservices reduce the mess in this case or make it worse. And as we know if we do not update ourselves and adapt all we have to microservices, we can get two options: the time will tell us to upgrade ourselves or just the tendency of microservices will disappear, but I doubt that. So we must have to update.

Comentarios

Entradas populares de este blog

An Introduction to Metaprogramming

Understanding the solid principles

Hidden Figures