

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Riprogettazione come microservizi nei contenitori Linux
<a name="refactor-linux-micro"></a>

Un'architettura di microservizi è un approccio allo sviluppo di una singola applicazione come suite di piccoli servizi. Ogni servizio viene eseguito secondo un proprio processo e comunica con altri servizi tramite meccanismi leggeri. Questo approccio suddivide un'applicazione monolitica in servizi più piccoli, in cui ogni servizio ha un unico scopo e viene distribuito come contenitore.

## Casi d’uso
<a name="refactor-linux-micro-use-case"></a>

Questa strategia di migrazione è utile se:
+ Vuoi suddividere il tuo sistema monolitico in microservizi.
+ Hai le risorse e il tempo disponibili per il refactoring.
+ È possibile risolvere tutte le dipendenze.NET Framework.
+ Hai un'applicazione che richiede molto tempo.

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

Questo approccio di migrazione offre i seguenti vantaggi rispetto alle applicazioni.NET locali:
+ Innovazione più rapida perché è più facile aggiungere nuove funzionalità in un'architettura di microservizi
+ Disponibilità e affidabilità elevate
+ Maggiore agilità e scalabilità su richiesta
+ Implementazione indipendente e moderne pipeline di integrazione continua e distribuzione continua (CI/CD)
+ Forti confini tra i moduli e diversità tecnica

## Svantaggi
<a name="refactor-linux-micro-disadvantages"></a>
+ Impegno e costi del refactoring
+ Potenziale complessità operativa

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

È possibile utilizzare i seguenti AWS servizi per sviluppare un sistema basato su microservizi:
+ [Gateway Amazon API](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 (Strumenti)
<a name="refactor-linux-micro-tools"></a>

AWS Professional Services offre strumenti e servizi personalizzati per aiutarvi a rifattorizzare le vostre applicazioni monolitiche in microservizi.

## Decisioni di implementazione
<a name="refactor-linux-micro-deploy"></a>

Puoi scegliere tra cinque opzioni di implementazione:
+ Se desideri il controllo completo sulla configurazione del tuo ambiente di calcolo, comprese le impostazioni di memoria e archiviazione, e il controllo sulle patch del sistema operativo, distribuisci l'applicazione come contenitore Linux su un'istanza EC2.
+ Se desideri che il contenitore sia gestito da Kubernetes ed eseguito come contenitore serverless, distribuisci la tua applicazione come contenitore Linux su Amazon EKS con Fargate.
+ Se desideri che il contenitore sia gestito da Amazon ECS ed eseguito come contenitore serverless: distribuisci la tua applicazione come contenitore Linux su Amazon ECS con Fargate.
+ Se desideri che il contenitore sia gestito da Kubernetes, ma desideri gestire tu stesso le risorse di calcolo del contenitore, distribuisci la tua applicazione come contenitore Linux su Amazon EKS.
+ Se desideri che il contenitore sia gestito da Amazon ECS, ma desideri gestire tu stesso le risorse di calcolo del contenitore, distribuisci la tua applicazione come contenitore Linux su Amazon ECS.

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