Microservizi
Le API sono la porta che conduce ai microservizi, il che significa che le API fungono da punto di ingresso per la logica delle applicazioni dietro una serie di interfacce programmatiche, in genere un'API per servizi web REST
Implementazione microservizi
AWS presenta componenti integrati che supportano lo sviluppo di microservizi. Due approcci molto usati prevedono l'utilizzo di AWS Lambda
Con AWS Lambda, è sufficiente caricare il codice e lasciare che Lambda si occupi di tutte le operazioni necessarie per avviare e dimensionare l'implementazione in modo da soddisfare la curva effettiva delle richieste con la massima disponibilità. Non è necessaria alcuna amministrazione dell'infrastruttura. Il servizio Lambda supporta diverse sintassi di programmazione e può essere attivato da altri servizi AWS oppure richiamato direttamente da qualsiasi applicazione web o per dispositivi mobili. Uno dei maggiori vantaggi di AWS Lambda è la possibilità di progredire in modo rapido: è possibile concentrarsi sulla logica di business dal momento che la sicurezza e il ridimensionamento sono gestiti da AWS. L'approccio prescrittivo di Lambda guida la piattaforma scalabile.
Un metodo utilizzato di frequente per la riduzione del carico operativo dell'implementazione è l'uso di container. Le tecnologie di container come Docker
AWS Fargate è un motore di calcolo serverless per container che funziona con Amazon ECS e Amazon EKS. Con Fargate, non devi più preoccuparti di eseguire il provisioning di risorse di calcolo sufficienti per le tue applicazioni di container. Fargate è in grado di lanciare decine di migliaia di container e scalare per eseguire le applicazioni più critiche nella massima semplicità.
Amazon ECS supporta strategie e restrizioni di collocazione dei container per personalizzare le modalità di posizionamento e di arresto delle attività da parte di Amazon ECS. Una restrizione al posizionamento di un'attività è una regola presa in esame durante tale processo. È possibile associare degli attributi alle istanze di container, che sono essenzialmente delle coppie chiave-valore, e quindi utilizzare una regola di restrizione per posizionare l'attività in base ad essi. Utilizzando questo metodo, è possibile posizionare determinati microservizi in base al tipo o alla capacità delle istanze, ad esempio solo su istanze basate su GPU.
Amazon EKS esegue versioni aggiornate del software open source Kubernetes: è possibile quindi utilizzare tutti i plug-in e gli strumenti messi a disposizione della community di Kubernetes. Le applicazioni in esecuzione su Amazon EKS sono completamente compatibili con quelle in esecuzione in qualsiasi ambiente Kubernetes standard, sia che si tratti di data center in locale o di cloud pubblici. Amazon EKS integra IAM con Kubernetes, il che ti consente di registrare entità IAM con il sistema di autenticazione nativo in Kubernetes. Non è necessario impostare manualmente le credenziali per l'autenticazione con il piano di controllo Kubernetes. L'integrazione IAM consente di utilizzare questo servizio per autenticarsi direttamente sul piano di controllo stesso e fornire un accesso granulare preciso all'endpoint pubblico del piano di controllo Kubernetes.
Le immagini Docker usate in Amazon ECS e in Amazon EKS possono essere memorizzate in Amazon Elastic Container Registry
Le pipeline di integrazione e distribuzione continua (CI/CD) rappresentano una best practice e una parte vitale di un'iniziativa DevOps che consente rapidi cambiamenti del software mantenendo stabilità e sicurezza del sistema. Tuttavia, questo tema non rientra nell'ambito di questo whitepaper. Per ulteriori informazioni, consultare il whitepaper Integrazione e distribuzione continua in AWS.
Collegamenti privati
AWS PrivateLink
I collegamenti privati sono un ottimo modo per aumentare l'isolamento e la sicurezza dell'architettura di microservizi. Un microservizio, ad esempio, potrebbe essere implementato in un VPC completamente separato, gestito da un bilanciatore del carico ed esposto ad altri microservizi attraverso un endpoint AWS PrivateLink. Con questa configurazione, utilizzando AWS PrivateLink, il traffico di rete da e verso il microservizio non attraversa mai la rete Internet pubblica. Un caso d'uso per tale isolamento include la conformità alle normative per i servizi che gestiscono dati sensibili come PCI, HIPPA e EU/US Privacy Shield. Inoltre, AWS PrivateLink consente di collegare microservizi tra diversi account e Amazon VPC, senza la necessità di regole firewall, definizioni di percorsi o tabelle di routing, semplificando così la gestione della rete. Utilizzando PrivateLink, i fornitori di software come servizio (SaaS) e gli ISV possono offrire le loro soluzioni basate su microservizi con isolamento operativo completo e accesso sicuro.