WaveMaker distribuisce nativamente creando il cluster Kubernetes.

La funzione di distribuzione con un clic della piattaforma WaveMaker ora consente alle applicazioni di essere distribuite nei cluster Kubernetes. La qualifica e la creazione automatica del cluster avviene sul cloud Digital Ocean, e presto sarà pronta per AWS, Azure, e GCP.


È possibile configurare la topologia di distribuzione in base alle proprie esigenze e quindi, con un solo clic, la funzione di distribuzione della piattaforma WaveMaker genera i file docker necessari per creare le immagini, genera i file YAML K8S necessari per la distribuzione e attiva le API K8S per la distribuzione. Il cliente non deve scrivere nemmeno una singola riga del file YAML di K8S !!

WaveMaker offre un set predefinito di stage di consegna che consente al team di progredire attraverso le fasi Demo, Stage e Live. Questo ti consente di verificare a fondo le tue app prima di portarle nell’ambiente di produzione.

La fase demo utilizza il cloud interno di WaveMaker. Da sempre le fasi Stage e Live devono essere configurate con i tuoi account AWS, Azure o GCP.

A questo elenco di fornitori di servizi cloud tra cui scegliere, abbiamo aggiunto Digital Ocean. Questo sarà solo il primo provider cloud basato su Kubernetes supportato dalla piattaforma WaveMaker.

Di seguito ti presentiamo il cluster Kubernetes di DigitalOcean e ti illustriamo i vantaggi di un provider cloud basato su Kubernetes e le sue implementazioni.

Introduzione a DigitalOcean Kubernetes

DigitalOcean Kubernetes (DOKS) è un servizio Kubernetes gestito che consente di distribuire i cluster Kubernetes senza la complessità della gestione del piano di controllo e dell’infrastruttura containerizzata. I cluster sono compatibili con le toolchain Kubernetes standard e si integrano in modo nativo con i load balancer DigitalOcean e con i volumi di archiviazione.

Perché scegliere le distribuzioni basate su Kubernetes?

Prima di arrivare al “perché”, comprendiamo innanzitutto che cosa è fondamentalmente in una distribuzione basata su kubernetes? Per comprendere ciò confrontiamo prima le diverse epoche di distribuzioni delle app:

Era di distribuzione tradizionale : ogni applicazione veniva eseguita su un server fisico. Poiché non sono stati definiti limiti per le applicazioni nel server fisico, vi sono stati casi in cui un’applicazione ha assorbito tutte le risorse e ha comportato la “cannibalizzazione” delle risorse assegnate anche per tutte le altre applicazioni. Il ridimensionamento delle applicazioni era difficile poiché le risorse erano sottoutilizzate.

Era di implementazione virtualizzata : la virtualizzazione come soluzione per le carenze delle implementazioni tradizionali ha anche fornito la sicurezza delle informazioni delle applicazioni in quanto le applicazioni venivano isolate tra le macchine virtuali.

Era di distribuzione dei container : i container, come tutti sappiamo, sono considerati sistemi leggeri in quanto disaccoppiati dall’infrastruttura sottostante e allo stesso tempo hanno il proprio fileSystem, CPU, memoria, spazio di processo ecc. per mantenere l’isolamento tra le applicazioni in esecuzione. Le distribuzioni basate su container sono diventate popolari a causa di molteplici vantaggi come l’isolamento delle risorse, l’utilizzo delle risorse ecc.

immagine dello schermo

Allora perché hai bisogno di Kubernetes e cosa si può fare con esso?

Le distribuzioni di Kubernetes, si può dire, non sono altro che distribuzioni containerizzate, con Kubernetes che fornisce un framework per gestire le risorse del contenitore, il ridimensionamento e il failover per la vostra applicazione. Ad esempio: se un contenitore scende, è necessario avviarne un altro. Non sarebbe più semplice se questo comportamento fosse gestito da un sistema? Kubernetes ci aiuta in questo processo e in molte altre funzioni utili per le infrastrutture!

  • Auto Scaling, Ridimensionamento automatico.
  • Self healing, Auto guarigione.
  • Service Discovery.
  • L’orchestrazione dell’archiviazione è una delle poche funzionalità che lo sviluppatore della App riceve adattandosi alle distribuzioni di provider cloud basate su Kubernetes.

Ora che comprendiamo i vantaggi di una distribuzione basata su Kubernetes, capiamo come la piattaforma WaveMaker semplifichi il processo di distribuzione.

Di cosa ha bisogno uno sviluppatore di applicazioni per distribuire la sua app su DigitalOcean Cloud?

Per distribuire la tua applicazione sul cloud DigitalOcean, tutto ciò di cui hai bisogno è un account DigitalOcean .

Vi sono due fasi coinvolte per l’impostazione dello stage live e della pipeline di rilascio con il provider cloud DigitalOcean:

  • Configurazione del cluster DigitalOcean
  • Distribuzione dell’applicazione nel cluster DigitalOcean

immagine dello schermo

Configurazione del cluster DigitalOcean

Dopo aver scelto il provider DigitalOcean dall’elenco dei provider, è necessario fornire un token di accesso .

Per creare un nuovo cluster nel tuo account, devi fornire anche alcuni dettagli di configurazione:

  • regione del cluster,
  • nome del cluster e
  • capacità del cluster.

immagine dello schermo

Dopo aver fornito questi dettagli, WaveMaker crea un nuovo cluster nel tuo account Digital Ocean.

 

In alternativa, puoi scegliere di utilizzare un cluster esistente già presente nel tuo account. immagine dello schermo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Questo cluster è quindi associato alla fase live / stage della pipeline di rilascio.

Distribuzione dell’applicazione nel cluster DigitalOcean

Una volta che la fase live / stage della pipeline di rilascio è associata a un cluster nell’account DigitalOcean, ora si è pronti per la distribuzione.

immagine dello schermo

Non è necessario scrivere file yaml specifici di K8S o creare immagini di app!

WaveMaker genera automaticamente file docker, crea un’immagine docker, genera i file manifest K8S e distribuisce l’applicazione al cluster utilizzando le API K8S.

Inoltre, la memoria dell’app e il numero di repliche dei pod sono completamente configurabili dall’interfaccia utente.

immagine dello schermo

Il processo di creazione del cluster e il processo di distribuzione dell’app vengono eseguiti come processi ed eseguiti in background, consentendo di continuare con lo sviluppo durante la creazione del cluster o la distribuzione dell’applicazione.

Cosa succede dopo che l’app è stata distribuita?

Ora ,dopo la distribuzione, allo sviluppatore dell’app viene restituito con un URL di servizio che è l’URL dell’applicazione distribuita.

immagine dello schermo

Non solo l’applicazione è distribuita su un cluster kubernetes, ma la piattaforma restituisce anche informazioni specifiche sulla distribuzione come

  • namespace in cui l’applicazione è stata distribuita,
  • l’immagine utilizzata per il processo di distribuzione,
  • la versione del cluster
  • dimensione del nodo di lavoro utilizzata ecc.

È possibile utilizzare i comandi kubectl con il cluster kubernetes associato o eseguire il debug dell’immagine nel registro associato.

immagine dello schermo

immagine dello schermo

Vai avanti e prova la prima distribuzione di kubernetes della tua app e facci sapere la tua esperienza !!