Rearquitectura como microservicios en contenedores de Linux - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Rearquitectura como microservicios en contenedores de Linux

Una arquitectura de microservicios es un enfoque para desarrollar una sola aplicación como un conjunto de pequeños servicios. Cada servicio se ejecuta en su propio proceso y se comunica con otros servicios a través de mecanismos ligeros. Este enfoque divide una aplicación monolítica en servicios más pequeños, donde cada servicio tiene un único propósito y se implementa como un contenedor.

Casos de uso

Esta estrategia de migración es útil si:

  • Desea dividir su sistema monolítico en microservicios.

  • Tiene los recursos y el tiempo disponibles para la refactorización.

  • Puede resolver todas las dependencias de .NET Framework.

  • Tiene una aplicación que se ejecuta desde hace mucho tiempo.

Ventajas

Este enfoque de migración ofrece las siguientes ventajas, en comparación con las aplicaciones.NET locales:

  • Innovación más rápida porque es más fácil añadir nuevas funciones en una arquitectura de microservicios

  • Alta disponibilidad y durabilidad

  • Mayor agilidad y escalabilidad bajo demanda

  • Implementación e integración continuas (CI/CD)

  • Límites sólidos de los módulos y diversidad técnica

Desventajas

  • Esfuerzo y costo de la refactorización

  • Complejidad operativa potencial

Servicios de AWS

Puede utilizar los siguientesAWS servicios para desarrollar un sistema basado en microservicios:

Herramientas

AWSProfessional Services ofrece herramientas y servicios personalizados para ayudarlo a refactorizar sus aplicaciones monolíticas en microservicios.

Decisiones de implementación

Puede elegir entre cinco opciones de implementación:

  • Si desea tener un control total sobre la configuración de su entorno informático, incluida la configuración de memoria y almacenamiento, y sobre los parches del sistema operativo, implemente la aplicación como un contenedor de Linux en una instancia de EC2.

  • Si desea que Kubernetes administre el contenedor y se ejecute como un contenedor sin servidor, implemente su aplicación como contenedor de Linux en Amazon EKS con Fargate.

  • Si desea que Amazon ECS administre el contenedor y se ejecute como un contenedor sin servidor, implemente la aplicación como contenedor de Linux en Amazon ECS con Fargate.

  • Si desea que Kubernetes administre el contenedor, pero quiere administrar los recursos informáticos del contenedor usted mismo, implemente la aplicación como un contenedor de Linux en Amazon EKS.

  • Si desea que Amazon ECS administre el contenedor, pero desea administrar los recursos informáticos del contenedor usted mismo, implemente la aplicación como un contenedor de Linux en Amazon ECS.

Refactoring .NET applications as microservices in Linux containers on AWS