Scopri come convertire le applicazioni monolitiche in servizi containerizzati su Oracle Cloud
Per loro natura, le applicazioni monolitiche sono fisse e lineari, rendendole difficili da gestire e aggiornare nel tempo.
Poiché i modelli architettonici monolitici vengono utilizzati per progettare e sviluppare un'applicazione completa come un'unica unità, l'affidabilità può essere un problema importante, soprattutto nei casi che coinvolgono l'entanglement e l'accoppiamento. Questo perché se una cosa va storto in qualsiasi modulo, potrebbe rendere inutilizzabile l'intera applicazione.
Se la tua applicazione richiede scalabilità, affidabilità, agilità e autonomia, dovresti prendere in considerazione l'adozione di un'architettura di microservizi. A differenza dei monoliti fissi e lineari, un'architettura di microservizi si basa sulla progettazione, lo sviluppo e la distribuzione di un'applicazione come raccolta di servizi accoppiati in modo approssimativo che possono essere distribuiti e testati in modo indipendente.
Uno dei principali vantaggi delle architetture di microservizi è che non influiscono sullo sviluppo e sulla distribuzione di altri servizi e sulle loro capacità. Puoi ridimensionare un particolare microservizio indipendentemente da altri microservizi e hai la libertà di scegliere uno stack tecnologico e un linguaggio di programmazione per ogni particolare servizio.
Architettura
Il diagramma dell'architettura riportato di seguito mostra la distribuzione finale con le applicazioni gestite in container in esecuzione indipendentemente l'una dall'altra.
applicazioni-multiservizi-arch-oracle.zip
L'architettura è dotata dei componenti elencati di seguito.
- Tenancy
Una tenancy è una partizione sicura e isolata che Oracle imposta all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le tue risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di azienda o organizzazione. In genere, un'azienda avrà una singola tenancy e ne rifletterà la struttura organizzativa all'interno di tale tenancy. Una singola tenancy in genere è associata a una singola sottoscrizione e una singola sottoscrizione in genere ha una sola tenancy.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).
- Dominio di disponibilità
I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione, il raffreddamento o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Dominio di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Lista di sicurezza
Per ogni subnet, puoi creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico che deve essere consentito all'interno e all'esterno della subnet.
- Tabella di instradamento
Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere tramite gateway.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing offre la distribuzione automatica del traffico da un unico punto di accesso a più server nel back-end.
- Container Engine per Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni gestite in container nel cloud. Puoi specificare le risorse di computazione richieste dalle tue applicazioni, mentre Container Engine for Kubernetes le esegue sul provisioning di Oracle Cloud Infrastructure in una tenancy esistente. Container Engine for Kubernetes utilizza Kubernetes per automatizzare la distribuzione, il ridimensionamento e la gestione delle applicazioni in container su cluster di host.
- Calcolo
Il servizio Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di computazione nel cloud. Puoi avviare le istanze di computazione con forme che soddisfano i requisiti delle risorse per CPU, memoria, larghezza di banda di rete e storage. Dopo aver creato un'istanza di computazione, puoi accedervi in tutta sicurezza, riavviarla, collegare e scollegare i volumi e terminarla quando non ne hai più bisogno.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing è un servizio di database a gestione autonoma, protezione automatica e funzionalità di riparazione ottimizzato per i carichi di lavoro di elaborazione delle transazioni. Non è necessario configurare o gestire alcun hardware o installare alcun software. Oracle Cloud Infrastructure gestisce la creazione del database, nonché il backup, l'applicazione di patch, l'aggiornamento e l'ottimizzazione del database.
