Fare il primo passo
Introduzione
I container sono una componente chiave dello sviluppo di app moderne. Sono diventati un modo standard per organizzare le risorse di elaborazione e gestire il contenuto delle implementazioni delle applicazioni.
I container forniscono un ambiente di elaborazione discreto e riproducibile. Forniscono inoltre un modo per semplificare la gestione degli imballaggi e delle dipendenze. Sono un ottimo modo per iniziare a creare software da implementare nel cloud, dall'orchestrazione di ambienti multi-cluster di grandi dimensioni alle applicazioni Web, fino al collaudo del proprio lavoro e alla realizzazione di un proof of concept su un notebook.
Questa guida decisionale ti aiuta a iniziare a scegliere il servizio di container AWS giusto per lo sviluppo di app moderne.
Questo estratto di quattro minuti è tratto da una registrazione di 57 minuti di una presentazione di Vikram Venkataraman, principale responsabile tecnico degli account di AWS, tenuta durante il Summit AWS DC 2022. Fornisce una panoramica dei servizi container AWS disponibili.
Tempo di lettura
20 minuti
Scopo
Aiutaci a determinare quale servizio di container AWS è più adatto alla tua organizzazione.
Livello
Principiante
Ultimo aggiornamento
26 aprile 2023
Servizi coperti
Altre guide decisionali su
Scopri
I container sono diventati di fatto uno standard per raggruppare il codice delle applicazioni, le configurazioni e le dipendenze in un unico artefatto che può essere implementato in modo coerente in più ambienti.
I container sono un elemento chiave di qualsiasi moderna strategia di sviluppo di applicazioni. Per fornire un contesto per i servizi AWS relativi ai container, l'immagine a destra mostra le opzioni dei container AWS disponibili per livello (spiegate più dettagliatamente in questo video).
Capacità
La capacità si riferisce all'elaborazione sottostante su cui implementerai il container insieme ai requisiti di CPU e memoria. È l'infrastruttura su cui verrà eseguito il container. Esistono due scelte di capacità per i container su AWS:
- Amazon Elastic Compute Cloud (AmazonEC2) ti consente di eseguire i container su macchine virtuali che gestisci.
- AWS Fargate è un motore di elaborazione serverless per container che consente di eseguire container senza gestire l'infrastruttura sottostante. Con Fargate, puoi avviare e dimensionare i container senza preoccuparti delle istanze EC2 sottostanti.
Orchestrazione
Non è raro che un'organizzazione utilizzi migliaia di container. Gestire un ambiente così complesso diventa difficile. I servizi di orchestrazione aiutano a facilitare l'implementazione e la gestione di queste applicazioni. AWS offre tre servizi di orchestrazione:
- Amazon Elastic Container Service (Amazon ECS) è un servizio di orchestrazione di container completamente gestito ed è ideale per le organizzazioni che desiderano un modo semplice ed economico per distribuire e gestire applicazioni containerizzate.
- Amazon Elastic Kubernetes Service (Amazon EKS) completamente gestito che consente di eseguire e gestire cluster Kubernetes su AWS.
- Il servizio Red Hat OpenShift su AWS (ROSA) è un servizio OpenShift completamente gestito che consente di eseguire e gestire cluster OpenShift su AWS. È una buona opzione per i clienti che utilizzano già OpenShift on premise.
Provisioning
Il provisioning fornisce un'interfaccia per il livello di orchestrazione dei servizi. Ogni orchestratore presenta le sue complessità. I servizi di provisioning nascondono questa complessità e facilitano l'utilizzo del servizio. Nell’ambito di questa categoria, i servizi AWS includono:
- AWS App Runner è un servizio completamente gestito che crea automaticamente immagini di container dal codice sorgente, implementa i container su un'infrastruttura completamente gestita e li ridimensiona in base alla domanda.
- AWS Elastic Beanstalk è un servizio completamente gestito che semplifica l’implementazione, la gestione e la scalabilità delle applicazioni Web. Elastic Beanstalk supporta anche i container e fornisce una piattaforma completamente gestita per l'implementazione e la scalabilità di applicazioni containerizzate.
- Amazon Lightsail è un modo semplice ed economico per avviare e gestire server privati virtuali, ma offre anche supporto per i container, consentendoti di creare e implementare applicazioni containerizzate utilizzando istanze Lightsail.
Prendi in esame
È importante scegliere una soluzione di container che si allinei ai requisiti applicativi e alle preferenze operative. La sezione seguente illustra alcuni dei criteri chiave da considerare nella scelta di un servizio di container, nonché gli strumenti e i servizi di supporto.
-
Spese generali del servizio gestito e dell’operatività
-
Caratteristiche del carico di lavoro
-
Portabilità delle applicazioni
-
Dimensioni e competenze dell'organizzazione
-
Facilità di implementazione
-
Le organizzazioni possono scegliere il cloud per ridurre i costi operativi standardizzando servizi gestiti che trasferiscono l'onere operativo su AWS. Livelli di astrazione più elevati consentono agli sviluppatori e agli operatori di concentrarsi sulle proprie attività a valore aggiunto uniche, anziché su attività indifferenziate.
La creazione di container su AWS utilizza servizi con livelli di astrazione più elevati per trasferire il sovraccarico operativo della manutenzione dell'infrastruttura su AWS.
-
Le scelte sull’architettura saranno più semplici se comprendi i modelli del tuo carico di lavoro. Possono includere applicazioni Web, microservizi basati su API, applicazioni basate su eventi, streaming e messaggistica, pipeline di dati, automazioni IT e altro ancora. Alcuni carichi di lavoro avranno prestazioni migliori o saranno più convenienti in un ambiente di elaborazione rispetto a un altro tipo.
-
Molti clienti vogliono assicurarsi che le loro applicazioni possano essere eseguite - oltre che facilmente migrate o spostate - in un ambiente diverso. È importante per loro poter scegliere o essere in grado di eseguire un'applicazione sia on-premise che nel cloud.
Ti consigliamo di acquisire competenze nelle architetture software e creare pacchetti che consentano di trasferire più facilmente la logica aziendale differenziata tra i servizi di elaborazione.
Le applicazioni create utilizzando alcune tecnologie possono funzionare in modo più efficace su alcuni servizi di elaborazione rispetto ad altri.
-
Le competenze della tua organizzazione sono un fattore importante per decidere quali servizi container utilizzare. L’approccio da te adottato richiederà un investimento nei team DevOps e Site Reliability Engineer (SRE). Creare una pipeline automatizzata per l’implementazione delle applicazioni è un passaggio comune per la maggior parte dello sviluppo di applicazioni moderne.
Alcune scelte aumentano la quantità di gestione. Ad esempio, alcune organizzazioni dispongono delle competenze e delle risorse per eseguire e gestire un'implementazione Kubernetes, poiché investono in forti team SRE per gestire i cluster Kubernetes. Questi team gestiscono gli aggiornamenti frequenti dei cluster (ad esempio, Kubernetes rilascia tre release principali all'anno e le vecchie versioni sono obsolete).
Le dimensioni dell'organizzazione sono un fattore chiave, poiché le startup più piccole dispongono forse di un piccolo staff IT composto da persone che ricoprono più ruoli, mentre le aziende più grandi possono essere in grado di supportare centinaia di carichi di lavoro in produzione contemporaneamente.
-
Diversi servizi di container AWS soddisfano esigenze specifiche in termini di complessità di implementazione. Ecco come ogni servizio è ottimizzato per il proprio ruolo:
- AWS AppRunner offre il percorso più semplice, che consente di implementare l'applicazione sulla rete Internet pubblica senza gestire o personalizzare l'infrastruttura sottostante.
- Amazon ECS è una buona scelta se si ha bisogno di un maggiore controllo sulla rete e sulle configurazioni di sicurezza senza sacrificare scalabilità o funzionalità.
- Amazon EKS ti consente di avere la flessibilità e il controllo sull’implementazione e l'orchestrazione delle applicazioni forniti dalla tecnologia Kubernetes.
- AWS AppRunner offre il percorso più semplice, che consente di implementare l'applicazione sulla rete Internet pubblica senza gestire o personalizzare l'infrastruttura sottostante.
Scegli
Ora che conosci i criteri in base ai quali valutare le opzioni dei tuoi container, sei pronto a scegliere quali servizi di container AWS possono essere più adatti alle tue esigenze organizzative.
La tabella seguente evidenzia quali servizi sono ottimizzati per quali circostanze. Utilizza la tabella per determinare il servizio di container più adatto alla tua organizzazione e al tuo caso d'uso.
Opzioni di capacità
La capacità si riferisce all'elaborazione sottostante su cui implementerai il container insieme ai requisiti di CPU e memoria. È l'infrastruttura su cui verrà eseguito il container.
Amazon EC2 è un servizio Web che fornisce capacità di elaborazione ridimensionabile (con server all'interno dei data center di Amazon) per creare e ospitare i tuoi sistemi software.
AWS Fargate è una tecnologia che puoi usare con Amazon ECS per eseguire container senza dover gestire server o cluster di istanze Amazon EC2. Con AWS Fargate non devi più effettuare il provisioning, la configurazione o il dimensionamento di cluster di macchine virtuali per eseguire i container.
Orchestrazione dei container
I servizi di orchestrazione dei container gestiscono quando e dove vengono eseguiti i container.
Servizio Red Hat OpenShift su AWS (ROSA)
Il servizio Red Hat OpenShift Service su AWS (ROSA) semplifica la creazione e la gestione dei cluster Red Hat OpenShift su AWS. Per le applicazioni già containerizzate in locale su OpenShift Container Platform, ROSA fornisce una superficie API familiare e mantiene invariata la toolchain di implementazione, in modo che tu possa concentrarti sulla rifattorizzazione del modello di dati e non dell'intero stack di applicazioni.
Amazon Elastic Kubernetes Service
Amazon EKS consente di avviare, eseguire e ridimensiona le applicazioni Kubernetes nel cloud AWS o on-premise.
Amazon ECS è un servizio di orchestrazione di container completamente gestito per implementare, gestire e dimensionare le applicazioni containerizzate.
Provisioning
La categoria di servizi di provisioning fornisce un'interfaccia per il livello di orchestrazione dei servizi. Ogni orchestratore presenta le sue complessità. I servizi di fornitura nascondono questa complessità e facilitano l'utilizzo del servizio da parte dei clienti.
Con Elastic Beanstalk, puoi implementare e gestire rapidamente le applicazioni nel cloud AWS senza dover apprendere nozioni sull'infrastruttura che esegue tali applicazioni. Elastic Beanstalk riduce la complessità della gestione senza limitare le scelte o il controllo.
AWS App Runner consente di creare ed eseguire applicazioni containerizzate su un servizio completamente gestito; è sufficiente una conoscenza minima dell'infrastruttura.
Lightsail offre istanze di server privato virtuale (VPS), container, archiviazione, database e altro ancora, facili da usare e a un prezzo mensile conveniente.
Strumenti
Strumenti per fornire un registro dei container e per containerizzare e migrare le applicazioni esistenti.
Amazon Elastic Container Registry
Amazon ECR è un registro del container completamente gestito che offre hosting ad alte prestazioni, in modo da poter implementare in modo affidabile immagini e artefatti di applicazioni ovunque.
On-premise
Consente di eseguire un piano di controllo familiare per garantire un'esperienza coerente indipendentemente dal luogo in cui sono eseguite le applicazioni basate su container.
Amazon Elastic Container Service (ECS) Anywhere
Amazon ECS Anywhere è una funzionalità di Amazon ECS che consente di eseguire e gestire i carichi di lavoro dei container nella tua infrastruttura.
Amazon EKS Anywhere ti consente di creare e gestire cluster Kubernetes sulla tua infrastruttura.
Amazon EKS utilizza Amazon EKS Distro, una distribuzione Kubernetes sviluppata e mantenuta da AWS. Amazon EKS Distro semplifica la creazione di cluster affidabili e sicuri.
Utilizzo
Ora dovresti avere una chiara idea di ogni servizio di container AWS (e degli strumenti e servizi AWS di supporto) e di quale potrebbe essere il più adatto alla tua organizzazione e al tuo caso d'uso.
Per scoprire come utilizzare e saperne di più su ciascuno dei servizi di container AWS disponibili, abbiamo creato un percorso dove puoi esplorare il funzionamento di ciascuno dei servizi. La sezione seguente fornisce collegamenti a documentazione approfondita, tutorial pratici e risorse per iniziare.
-
Amazon EC2
-
Amazon ECR
-
Amazon ECS
-
Amazon EKS
-
Amazon Lightsail
-
AWS App Runner
-
AWS Elastic Beanstalk
-
AWS Fargate
-
ROSA
-
Amazon EC2
-
Guida introduttiva su Amazon EC2
Accesso al set completo di documentazione tecnica di Amazon EC2, comprese le guide alle istanze Linux e Windows.
Guida per l'utente su Import/Export VM
Scopri come importare immagini di macchine virtuali (VM) dal tuo ambiente di virtualizzazione esistente in Amazon EC2 e quindi esportarle nuovamente.Dimensionamento automatico Amazon EC2 con istanze spot EC2
Scopri come creare un carico di lavoro senza stato e tollerante agli errori utilizzando il dimensionamento automatico Amazon EC2 con modelli di avvio per richiedere istanze spot Amazon EC2.
Implementa un'applicazione Web su Amazon EC2
Ti accompagneremo nella creazione di un'istanza Amazon EC2 usando AWS CDK e nell'implementazione di un'applicazione Web su di essa.
-
Amazon ECR
-
Cos'è Amazon Elastic Container Registry (ECR)?
Una guida per conoscere e iniziare a usare ECR.Amazon ECR in architetture multiaccount e multiregionali
Esplora le considerazioni chiave sulle architetture Amazon ECR che si estendono su account AWS e regioni AWS e le architetture relative a casi d'uso ipotetici da parte dei clienti.
Crea una pipeline con una fonte Amazon ECR e un’implementazione ECS-to-CodeDeploy
Configura una pipeline in AWS CodePipeline che implementi applicazioni container utilizzando un’implementazione blu/verde che supporti le immagini Docker.
-
Amazon ECS
-
Nozioni di base su Amazon ECS
Questa guida fornisce una presentazione degli strumenti disponibili per accedere ad Amazon ECS e procedure introduttive dettagliate per eseguire i container.
Cosa c'è di nuovo e cosa promette il futuro con Amazon ECS
Scopri cosa c’è di nuovo dal lancio di Amazon ECS Anywhere, le nuove funzionalità di AWS Fargate e dai uno sguardo al futuro per scoprire gli entusiasmanti miglioramenti di Amazon ECS.
Implementazione di Amazon Elastic Container Service (ECS)
Questa guida offre una panoramica delle opzioni di implementazione di Amazon ECS su AWS e mostra come può essere utilizzato per gestire una semplice applicazione containerizzata.
Workshop su Amazon ECS
Questo workshop è progettato per istruire coloro che potrebbero non conoscere AWS Fargate, Amazon ECS ed eventualmente anche il flusso di lavoro dei container Docker.
Implementa container Docker su Amazon ECS
Scopri come creare un'applicazione di esempio compatibile con Docker in un cluster Amazon ECS con un sistema di bilanciamento del carico, per poi testare l'app ed eliminare le risorse per evitare costi.
-
Amazon EKS
-
Guida introduttiva su Amazon EKS
Scopri di più su Amazon Elastic Kubernetes Service (Amazon EKS), un servizio gestito che puoi utilizzare per eseguire Kubernetes su AWS senza dover installare, gestire e mantenere il tuo piano di controllo o i tuoi nodi Kubernetes.
Implementazione di Amazon Elastic Kubernetes Service (EKS)
Esplora le opzioni di implementazione di Amazon EKS su AWS e scopri come può essere utilizzato per gestire un'applicazione containerizzata generica.
Implementazione di riferimento Amazon EKS Quick Start
Con una guida di riferimento per l’implementazione di Quick Start forniamo istruzioni dettagliate per l’implementazione dei cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Implementa un'applicazione Kubernetes
Questo tutorial illustra come implementare un'applicazione in container su un cluster Kubernetes utilizzando Amazon Elastic Container Service for Kubernetes (Amazon EKS).Workshop su Amazon EKS
Esercizi pratici per conoscere Amazon Elastic Kubernetes Service.
Visita il workshop »
-
Amazon Lightsail
-
Creazione, invio e implementazione di immagini di container
con Amazon Lightsail
Questo tutorial mostra come creare un'immagine del container sul tuo computer locale utilizzando un Dockerfile. Dopo aver creato l'immagine puoi inviarla al servizio di container di Lightsail per implementarla.
Centro risorse Amazon Lightsail
Esplora i tutorial, i video e i link alla documentazione concettuale di base di Lightsail.
Avvia una macchina virtuale Linux con Amazon Lightsail
In questo tutorial, crei un'istanza Amazon Linux in Amazon Lightsail. Dopo che l'istanza è in esecuzione, ci si connette tramite SSH all'interno della console Lightsail utilizzando il terminale SSH basato su browser.
-
AWS App Runner
-
Guida introduttiva su AWS App Runner
Questo tutorial illustra la configurazione del codice sorgente e dell’implementazione, la creazione e il runtime del servizio per implementare l'applicazione sul servizio App Runner. Inoltre, mostra come implementare una versione del codice, apportare una modifica alla configurazione e visualizzare i registri.
Usa il tutorial»
AWS App Runner: da un codice a un'applicazione web scalabile e sicura in pochi minuti
Scopri come AWS App Runner è stato progettato per semplificare l’implementazione di app Web e API nel cloud, indipendentemente dalla lingua in cui sono scritte, anche per team che non hanno esperienza precedente nell’implementazione e nella gestione di container o infrastrutture.
Implementa un'app Web utilizzando AWS App Runner
Segui queste istruzioni dettagliate per implementare un'app Web containerizzata utilizzando AWS App Runner. Inizia con il codice sorgente o con l’immagine di container. App Runner crea e implementa automaticamente l’applicazione web e bilancia il carico del traffico mediante la crittografia. -
AWS Elastic Beanstalk
-
Guida introduttiva su Elastic Beanstalk
Questa guida spiega come svolgere i passaggi di creazione, esplorazione, aggiornamento ed eliminazione di un'applicazione Elastic Beanstalk.Opzioni di implementazione su AWS Elastic Beanstalk
Questa guida spiega come utilizzare AWS Elastic Beanstalk per implementare, gestire e dimensionare le applicazioni senza dover gestire l'infrastruttura.
Tutorial ed esempi intermedi di AWS Electric Beanstalk
Questi tutorial sono rivolti a utenti intermedi e potrebbero non contenere istruzioni per passaggi di base come la registrazione ad AWS.
-
AWS Fargate
-
Guida introduttiva su AWS Fargate
Questa guida spiega le basi di AWS Fargate, una tecnologia che puoi usare con Amazon ECS per eseguire container senza dover gestire server o cluster di istanze Amazon EC2.
Guida introduttiva sulla console utilizzando i container Linux su AWS Fargate
Inizia a usare Amazon ECS su AWS Fargate utilizzando il tipo di avvio Fargate per le tue attività nelle regioni in cui Amazon ECS supporta AWS Fargate.
Creazione di un cluster con un'attività Fargate Linux utilizzando l'interfaccia a riga di comando di AWS
Configura un cluster, registra una definizione di attività, esegui un'attività Linux ed esegui altri scenari comuni in Amazon ECS con l'interfaccia a riga di comando di AWS. -
ROSA
-
Guida introduttiva su Red Hat OpenShift Service su AWS
Questa guida ti aiuterà a iniziare a usare Red Hat OpenShift Service su AWS (ROSA).
Perché dovresti usare ROSA?
Questo video analizza quando è possibile utilizzare Red Hat OpenShift rispetto a Kubernetes standard ed esplora in modo approfondito ROSA su AWS.
Esplora
Esplora i diagrammi dell'architettura di riferimento per i container su AWS.
Esplora i whitepaper per iniziare e apprendere le best practice.
Esplora soluzioni verificate e linee guida architettoniche per i casi d'uso più comuni per i container.