Scegliere la destinazione appropriata

Completato

Nell'unità precedente sono state esaminate le opzioni disponibili per distribuire un'applicazione Java nel cloud, in particolare in Azure. Ma qual è l'opzione più adatta alle proprie esigenze? Ecco una guida alla scelta.

La piattaforma distribuita come servizio o il controllo dell'infrastruttura?

La prima domanda da porsi è se si vuole avere il controllo completo dell'applicazione o si preferisce usare una soluzione PaaS. La risposta dipende in genere dalle esigenze dal team con cui si lavora.

Le soluzioni PaaS sono più facili da usare. Molti team le preferiscono perché hanno un costo più basso e garantiscono maggiore affidabilità e sicurezza.

I team scelgono soluzioni PaaS per i motivi seguenti:

  • Devono passare rapidamente alla fase di produzione e possono contare su un team operativo limitato o addirittura non hanno alcun team operativo.
  • Hanno determinati requisiti di disponibilità elevata, sicurezza o conformità e queste esigenze possono essere soddisfatte da funzionalità predefinite offerte da un servizio gestito.
  • Non hanno le risorse o l'interesse a mantenere un'infrastruttura a livello di produzione.

Alcuni team preferiscono tuttavia avere il controllo completo sulla propria infrastruttura, principalmente per i motivi seguenti:

  • Se si usa un software proprietario specifico o funzionalità Java non comuni, un servizio gestito potrebbe non essere la soluzione ideale. Può ad esempio essere opportuno usare la trasmissione di rete per trovare i nodi delle applicazioni e questa funzionalità non è disponibile in un servizio gestito.
  • Può anche essere necessario usare una libreria nativa specifica, che non può essere eseguita in un servizio gestito.

Scegliere una soluzione PaaS in Azure

Per l'esecuzione di carichi di lavoro Java in una soluzione di piattaforma distribuita come servizio, Azure offre quattro opzioni possibili:

  • Funzioni di Azure: ideale per semplici carichi di lavoro basati su eventi che possono essere ridimensionati in modo estremamente efficace.
  • servizio app Azure: ideale per l'esecuzione di carichi di lavoro di Jakarta edizione Enterprise.
  • Azure Spring Apps: la soluzione più efficace per l'esecuzione di applicazioni Spring Boot e in particolare dei microservizi Spring Cloud.

Scegliere il controllo dell'infrastruttura in Azure

Per il controllo completo delle distribuzioni, Azure offre queste due principali opzioni:

  • App Azure Container: ideale per l'esecuzione di semplici applicazioni monolitiche Java basate su contenitori.
  • servizio Azure Kubernetes (servizio Azure Kubernetes): ideale per applicazioni Java più complesse basate su contenitori. Inoltre, è possibile beneficiare del vasto ecosistema di servizio Azure Kubernetes.
  • Macchine virtuali di Azure: ideale per eseguire qualsiasi tipo di carico di lavoro o se si vuole eseguire il trasferimento in modalità lift-and-shift da un'infrastruttura locale esistente senza riprogettare le applicazioni.

Considerazioni finali sulla scelta della destinazione

La scelta di una destinazione è solo il primo passo. Quando si sceglie un servizio, tenere presente quanto segue:

  • Le attività di manutenzione variano significativamente a seconda del tipo di servizio scelto e del set di competenze del proprio team operativo.
  • Poiché gli sviluppatori useranno la piattaforma ogni giorno, saranno più produttivi se il servizio offre un'esperienza di sviluppo ottimale.

Per entrambi questi aspetti, la scelta dipende dal proprio team. La procedura consigliata è di scegliere una destinazione adeguata alle competenze e alle preferenze del team.