

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.

# Rediseño de la arquitectura como microservicios en contenedores de Linux
<a name="refactor-linux-micro"></a>

Una arquitectura de microservicios es un enfoque para desarrollar una sola aplicación como un conjunto de servicios pequeños. 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
<a name="refactor-linux-micro-use-case"></a>

Esta estrategia de migración resulta ú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 de larga duración.

## Ventajas
<a name="refactor-linux-micro-advantages"></a>

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 confiabilidad
+ Mayor agilidad y escalabilidad bajo demanda
+ Despliegue independiente y canalizaciones modernas de integración y despliegue continuo (CI/CD)
+ Sólidos límites de módulos y diversidad técnica

## Desventajas
<a name="refactor-linux-micro-disadvantages"></a>
+ Esfuerzo y coste de la refactorización
+ Posible complejidad operativa

## AWS servicios
<a name="refactor-linux-micro-services"></a>

Puede utilizar los siguientes AWS servicios para desarrollar un sistema basado en microservicios:
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns)
+ [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs)
+ [Amazon ECS](https://aws.amazon.com/ecs)
+ [Amazon EKS](https://aws.amazon.com/eks)
+ [AWS Lambda](https://aws.amazon.com/lambda)
+ [AWS Fargate](https://aws.amazon.com/fargate)
+ [CloudFormation](https://aws.amazon.com/cloudformation) o [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk)
+ [AWS Identity and Access Management](https://aws.amazon.com/iam) (IAM)
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3)
+ [Amazon ECR](https://aws.amazon.com/ecr)

## Tools (Herramientas)
<a name="refactor-linux-micro-tools"></a>

AWS Los servicios profesionales ofrecen herramientas y servicios personalizados para ayudarlo a refactorizar sus aplicaciones monolíticas en microservicios.

## Decisiones de implementación
<a name="refactor-linux-micro-deploy"></a>

Puede elegir entre cinco opciones de implementación:
+ Si desea tener un control total sobre la configuración de su entorno informático, incluidos los ajustes de memoria y almacenamiento, y sobre los parches del sistema operativo, implemente la aplicación como un contenedor de Linux en una instancia EC2.
+ Si desea que Kubernetes administre el contenedor y se ejecute como un contenedor sin servidor, implemente su aplicación como un 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 su aplicación como un 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 su aplicación como un contenedor de Linux en Amazon EKS.
+ Si desea que Amazon ECS administre el contenedor, pero quiere administrar los recursos informáticos del contenedor usted mismo, implemente su aplicación como un contenedor de Linux en Amazon ECS.

 ![Refactoring .NET applications as microservices in Linux containers on AWS](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/modernization-net-applications/images/rearchitect-linux.png) 