Microservices

Microservices

The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. 
"The microservice architecture is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API."

Enterprise Applications are built in three main parts: 
  1. A client-side user interface
  2. A database 
  3. 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. 

Monolithic applications vs Microservices

Monolithic applications have some disadvantages just as:
  • "A change made to a small part of the application, requires the entire monolith to be rebuilt and deployed."
  • In a similar way scaling requires scaling of the entire application.
 





Microservice Architecture


Important things to take into account:
  • Componentization via Services: To build systems by plugging together components.
  • Microservice architectures will use libraries ("their primary way of componentizing their own software is by breaking down into services").  
  • From General to specific easier to treat separated components
  • Using services as components is a more explicit component interface

Conway's LawAny organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.



The microservice division focus on splitting up into services organized around business capability



"A common inspiration for this is Amazon's notion of "you build, you run it" where a development team takes full responsibility for the software in production."

In Overall the Microservice architecture set another paradigm most of us think is recent but no, part of what today is Microservice architecture has already being defined and used in other older approaches, still this architecture adds a new option on this vast programming area, these architecture has gained popularity in the last 10 or more years and It has being proved to be a reliable option if your problem fits on the structure of the paradigm.

References:https://martinfowler.com/articles/microservices.html

Comentarios

Entradas más populares de este blog

Hidden Figures

The 4+1 View Model

Is Design Dead?