Distribuisci Apache Tomcat sul computer Ampere A1 basato su armi connesso a un database autonomo
Apache Tomcat è un Application Server Java open source. Implementa le tecnologie Java Servlet, JavaServer Pages, Java Expression Language e Java WebSocket.
Architettura
Si tratta di un'architettura di riferimento a più archi che contiene un load balancer, un livello di applicazione con Apache Tomcat in esecuzione sulle forme Arm AArch64 (Arm-based Ampere A1 Compute) e un livello di database con Oracle Autonomous Database in esecuzione su x86.
In qualità di sviluppatore di Java, è possibile sfruttare questa flessibilità e distribuire un'applicazione Web Tomcat utilizzando la sicurezza e le prestazioni delle forme Arm in OCI. In questo scenario, è possibile modificare il conteggio principale in base ai requisiti dell'applicazione.
I componenti si trovano in subnet diverse. Il load balancer si trova in una subnet pubblica. I server Tomcat condividono una sottorete privata e il database si trova nella propria sottorete privata. Tutto l'accesso esterno avviene tramite il load balancer tramite un gateway Internet.
È inclusa un'applicazione di esempio che mostra la gestione delle sessioni dell'applicazione utilizzando il database.
Il seguente diagramma illustra questa architettura di riferimento.

Descrizione dell'illustrazione Architecture-deploy-tomcat-adb.png
Architecture-deploy-tomcat-adb-oracle.zip
L'architettura contiene i componenti riportati di seguito.
- Area
Per area si intende un'area geografica localizzata composta da uno o più domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o continenti).
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza di errore. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È quindi improbabile che un errore a un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Domini 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 si inseriscono istanze di calcolo in più domini di errore, le applicazioni possono tollerare errori fisici del server, la manutenzione del sistema e molti errori di rete e di alimentazione comuni all'interno del dominio di disponibilità.
- Rete cloud virtuale (VCN) e subnet
Un VCN è una rete definita dal software impostata in un'area Oracle Cloud Infrastructure. I VCN possono essere segmentati in subnet, che possono essere specifiche di un'area o di un dominio di disponibilità. Sia le subnet specifiche dell'area che quelle specifiche del dominio di disponibilità possono coesistere nello stesso VCN. Una subnet può essere pubblica o privata.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un punto di accesso a più server raggiungibili da VCN. Quando si crea il layer dell'applicazione in modalità cluster, è possibile configurare il load balancer per distribuire il traffico tra i server Tomcat. Il load balancer fornisce un front-end agli Application Server, isolando e impedendo l'accesso non necessario o non autorizzato al layer interno.
- Liste di sicurezza
Per ogni subnet è possibile creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.
- Tabelle instradamento
Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni al di fuori di VCN, in genere tramite gateway.
- Gateway Internet
Il gateway Internet consente il traffico tra VCN e Internet pubblico.
- Server Tomcat
I server Tomcat ospitano Java Servlet, JavaServer Pages, Java Expression Language e Java WebSockets. I server Tomcat vengono installati nelle forme Ampere A1 basate su armi in questa architettura.
- Database server
Tomcat può connettersi a qualsiasi database che offra connettività al database Java JDBC. Questa architettura utilizza Oracle Autonomous Database.
- Host Bastion
L'host bastion è un'istanza di calcolo che funge da punto di accesso sicuro e controllato alla topologia dall'esterno del cloud. L'host bastione viene eseguito in genere in una zona demilitarizzata (DMZ). Consente di proteggere le risorse sensibili inserendole in reti private a cui non è possibile accedere direttamente dall'esterno del cloud. La topologia dispone di un singolo punto di accesso noto che è possibile monitorare e controllare regolarmente. Di conseguenza, è possibile evitare di esporre i componenti più sensibili della topologia senza comprometterne l'accesso.
Suggerimenti
I requisiti potrebbero essere diversi dall'architettura descritta qui. Utilizzare come punto di inizio i suggerimenti riportati di seguito.
- VCN
Quando si crea VCN, determinare il numero di indirizzi IP richiesti per le risorse cloud in ogni subnet. Utilizzando la notazione CIDR (Classless Inter-Domain Routing), specificare una subnet mask e un intervallo di indirizzi di rete sufficientemente grande per gli indirizzi IP richiesti. Utilizzare uno spazio di indirizzi all'interno dei blocchi di indirizzi IP privati standard.
Selezionare un intervallo di indirizzi che non si sovrapponga alla rete in locale, in modo da poter impostare una connessione tra VCN e la rete in locale, se necessario.
Dopo aver creato un VCN, non è possibile modificarne l'intervallo di indirizzi.
Quando si progettano le subnet, considerare i requisiti di funzionalità e sicurezza. Allegare tutte le istanze di calcolo all'interno dello stesso livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.
Utilizzare le subnet regionali.
- Bilanciatore di carico
Questa architettura utilizza un load balancer sempre gratuito da 10 Mbps.
La forma dei load balancer non liberi inizia con 100 Mbps. A seconda del numero di connessioni simultanee necessarie e del throughput totale, è possibile utilizzare forme più grandi.
Si consiglia di utilizzare i nomi DNS perché l'indirizzo IP del load balancer non può essere riservato.
- Istanze
Nell'ambito delle forme flessibili, tutte le tenancie ottengono 4 core della forma di calcolo Ampere A1 gratuitamente e un totale di 24 GB di memoria.
- Sistemi database (DB)
Tutte le tenancie ottengono due database autonomi Oracle sempre gratuiti. I database autonomi utilizzano l'infrastruttura Exadata condivisa, in cui Oracle gestisce il provisioning e la gestione dell'infrastruttura.
Se sono necessari più di due database, utilizzare un Oracle Autonomous Database non libero.
- Memoria
Le istanze di questa architettura utilizzano la memorizzazione a blocchi normale; non sono richieste prestazioni aggiuntive.
- Connettività di rete
È possibile gestire l'ambiente connettendosi all'infrastruttura esistente in locale utilizzando una VPN site-to-site o una connessione dedicata a FastConnect.
Se è necessario separare l'ambiente dall'infrastruttura esistente o accedervi esternamente, un host bastione può proteggere le connessioni di gestione. L'host bastione viene in genere eseguito il provisioning in una zona demilitarizzata (DMZ). Protegge le risorse sensibili inserendole in reti private a cui non è possibile accedere direttamente dall'esterno del cloud. È possibile evitare di esporre i componenti più sensibili dell'architettura senza comprometterne l'accesso.
Considerazioni
Durante la distribuzione di questa architettura di riferimento, prendere in considerazione i seguenti punti.
- Prestazioni
Questa architettura utilizza le risorse sempre libere di Oracle Cloud Infrastructure. A causa dei limiti della potenza di lavorazione, questa architettura non è destinata alla produzione. Per carichi di lavoro più intensi, è necessario utilizzare le forme regolari delle istanze, dei load balancer e dei database.
- Sicurezza
Ad eccezione dell'host bastione, se presente, e dei load balancer, tutti i componenti devono essere posizionati in subnet private.
- Disponibilità
I load balancer e i database sono ridondanti, senza richiedere alcun intervento per sfruttare queste funzioni. I server Tomcat vengono distribuiti come coppia e bilanciati dal load balancer. È possibile aggiungere altri nodi, ma non sono inclusi nel livello Sempre libero.
- Costo
Questa architettura utilizza il livello Sempre libero. Non vi sono costi se viene utilizzata la configurazione di distribuzione standard.
Distribuire
Il codice Terraform per questa architettura di riferimento è disponibile su GitHub. È possibile estrarre il codice in Oracle Cloud Infrastructure Resource Manager con un solo clic, creare lo stack e distribuirlo. In alternativa, scaricare il codice da GitHub nel computer, personalizzare il codice e distribuire l'architettura utilizzando Terraform CLI.
- Distribuisci utilizzando Oracle Cloud Infrastructure Resource Manager:
- Fare clicsu
Se non si è già connessi, immettere la tenancy e le credenziali utente.
- Rivedere e accettare i termini e le condizioni.
- Selezionare l'area in cui distribuire lo stack.
- Seguire i prompt visualizzati e le istruzioni per creare lo stack.
- Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
- Attendere il completamento del job e rivedere il piano.
Per apportare modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche desiderate. Eseguire di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
- Fare clicsu
- Distribuire utilizzando il codice Terraform in GitHub:
- Andare a GitHub.
- Duplicare o scaricare il repository nel computer locale.
- Seguire le istruzioni contenute nel documento
README
.
Ulteriori informazioni
Collegamenti a informazioni aggiuntive che possono aiutarti a conoscere, modificare, utilizzare o implementare questa architettura.
-
Un workshop pratico gratuito su Oracle LiveLabs in cui eseguire la migrazione di Tomcat a Oracle Cloud Infrastructure e connettersi a un Autonomous Database.
-
Articoli tecnici, white paper, campioni di codice, domande frequenti e altro ancora che descrivono come utilizzare JDBC, Universal Connection Pool e la JVM incorporata per connettersi a Oracle Database.
-
Repository in GitHub con esempi di codice per un servlet Java che si connette a Oracle Database utilizzando il driver Oracle JDBC.