¿Cuáles son buenos ejemplos de soluciones que son buenos candidatos para la arquitectura de Micro Services?

Bueno, cuando la complejidad no es trivial, es mejor dividir la solución en componentes, ¿verdad?

Ahora, hay diferentes niveles de ” complejidad ” relevante: complejidad funcional pura, complejidad de escala (principalmente rendimiento, pero también espacio, a veces) que requieren distribución.

Tenga en cuenta que la complejidad funcional no necesariamente significa flujos complicados; También incluyo múltiples flujos simples (por ejemplo, procesamiento y distribución de resumen de correo electrónico, además de otros flujos que pasan por el sistema, tareas de limpieza y muchos otros).

Entonces, las preguntas son:

  1. Cómo lo desglosamos en componentes distribuibles. Eso significa, qué infraestructura se utiliza como tiempo de ejecución del componente, cómo se comunican, etc.
  2. Qué componentes estarían allí y, en consecuencia, qué tan grande sería cada componente.

Entonces, creo que puede deducir que hay muchas soluciones que no se beneficiarán de MS-s, porque son demasiado triviales (a menos que use una infraestructura muy ligera para MS-s que no complique nada, como me gusta usar) y hay muchos que se benefician enormemente de él:

  1. El software como servicio y sus hermanos (PaS, etc.) seguramente son candidatos
  2. Todas las aplicaciones empresariales no triviales
  3. Servidores de juegos
  4. Aplicaciones que realizan muchos flujos, programados y / o en paralelo.
  5. Y muchos muchos mas.

Microservicios es un subconjunto de Arquitectura Orientada a Servicios. Como tal, los mejores candidatos para Microservicios son aplicaciones que ya son SOA o distribuidas. Esto no cambia el diseño radicalmente, más bien intenta simplemente diseñar y actualizar las mejores prácticas.

Si bien puede migrar un monolito a los microservicios, tratar de hacer esto en un solo paso es muy difícil y es probable que falle porque es necesario cambiar demasiado, el código, la forma en que los desarrolladores piensan, depuran, prueban, ajustan el rendimiento, supervisan, implementan, distribuir y perfilar producción.

Un paso más fácil es convertir un monolito en un microservicio grande y extraer alguna funcionalidad o agregar un microservicio, eventualmente pero lentamente reemplazando el monolito.

Tradicional son las operaciones del sistema, como el procesamiento automático de datos o solicitudes.

Toda la arquitectura SOA, ESB puede contener micro servicios.

Un ejemplo del mundo real son los servicios financieros y el microservicio de “operación bancaria”.

More Interesting

¿Cuál es el futuro en AWS?

¿Puedo vender el exceso de capacidad de mi cuenta de AWS al mercado de instancias puntuales, durante las horas no operativas de la empresa?

¿Cuál es el servicio de alojamiento Linux VPS más barato y confiable disponible para una aplicación web basada en PHP / MySQL? Las revisiones de DreamHost sugieren que es mejor que Hostator. Además, ¿es VPS la mejor opción para mi aplicación web si la construí desde cero?

¿Cómo se compara Cloud Sigma con otros proveedores de IaaS?

¿Puedo construir un sitio web a gran escala con millones de usuarios usando ASP.NET MVC?

¿Cuáles son los problemas en la seguridad de la nube?

¿Cuáles son los 3 principales proveedores de servicios de CDN o Cloud más seguros (un poco Cloud Fort-Knox)

¿Cuál es la mejor opción para WordPress en Microsoft Azure Martketplace?

¿Qué práctica nos ayuda a evitar bloqueos en una nube pública?

¿Cuál es el mejor proveedor de la nube entre Azure y Amazon Web Services para un proyecto de IoT?

¿Qué tan bien funciona DB2 en Linux en entornos de nube como Azure y AWS?

¿Qué lenguaje de programación debo usar para desarrollar un sistema / software ERP y sistemas / software de gestión de construcción para una empresa de construcción de carreteras?

¿Es VirtualBox ilegal?

¿Qué lenguaje de programación podría convertirse en el lenguaje de "Cloud Computing"?

¿Cuál es el alboroto sobre todas las nuevas empresas / servicios de computación en la nube? (Servicios web de Amazon, etc.)