Arquitectura de Software: Self-Contained System

¿Que es Self-Contained System?

Diferencias con Microservicios

  • Un microservicio es probablemente mas pequeño que un SCS
  • Un sistema debería de tener un menor núemro de SCS que de microservicios. Por ejemplo un sistema puede componerse de 100 microservicios, sin embargo componerse de 10 SCS.
  • Los SCS idealmente no deberían de conectarse entre ellos o minímamente, contradictorio a los micrsoervicios
  • los SCSs tienen sus propio interfaz de usuario, mientras los microservicios separan la lógica del apartado visual.

Características

  1. Cada SCS es una aplicación totalmente independiente. Para todo su dominio, todos los datos, la lógica, y el código para renderizar la interfaz es contenida por el mismo SCS. A priori debería de poder componerse por si mismo sin confiar en la disponibilidad de otros sistemas.
  2. Cada SCS es implementado y manteniendo por un solo equipo. Esto no significa necesariamente que otros desarrolladores puedan tocar el sistema, pero la responsabilidad de cada SCS debería de pertenecer a un equipo.
  3. Todas la comunicaciones con otros SCSs o a terceros debería ser asíncrona para mantener el sistema totalmente desacoplado y siendo autónomo.
  4. Un SCS puede tener debería de tener su propia API aunque tenga una misma herramienta UI de gestión.
  5. Un SCS debería de implementar una funcionalidad por si mismo, esto quiere decir que complete un caso de uso por si mismo.
  6. SCS propone desacoplar la infraestructura para potenciar la escalabilidad de cada SCS independientemente. Deberían evitarse las base de datos compartidas.

Conclusión

Enlaces Relacionados

--

--

--

Full Stack Web Developer — adrianalonso.es

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adrián Alonso

Adrián Alonso

Full Stack Web Developer — adrianalonso.es

More from Medium

What does async communication mean?

Up to 90% of M&A Deals Fail — Here’s How Osterus Can Help

MariaDB — Optimize query execution time using MEMORY storage engine (up to 97% faster)

Exploring Design Patterns — Decorator Pattern