Creare immagini applicative custom da cui far partire istanze Virtuali o container Docker è un modo per ridurre drasticamente il boot time ed aumentare l’affidabilità della soluzione applicativa. Inoltre pre-installando le dipendenze ed il software di terze parti nella tua immagine custom puoi superare eventuali problemi di disponibilità di prodotti che non sono sotto il tuo diretto controllo.
E’ possibile chiaramente scegliere quanto software includere nell’immagine custom e le due soluzioni più comuni sono:
In un contesto di CI/CD la soluzione da ricercare è quella della immutable image ed è quella che affrontiamo di seguito. Contattaci subito e senza impegno per una consulenza sull’argomento.
Il Building di immagini segue quasi il medesimo percorso del Building di software e pertanto avrai l’applicazione di codice e script all’immagine e quindi la creazione di un artifact. L’artifact supererà quindi dei test e sarà inserito in un processo di controllo della versione. Implementando strumenti di DevOps, il processo di Building e Deploy sarà automatizzato e si otterrà una sistema efficiente ed affidabile.
Per creare una pipeline automatizzata di building di immagini sono necessari i seguenti tool:
In pratica viene definito un job su Jenkins in base all’immagine di cui vuoi effettuare il build, il job quindi effettua il poll da un repository, per es. Git, che contiene gli script di configurazione ed un template di Packer che a sua volta descrive come effettuare il build. Durante il processo di poll, quando viene identificato un cambiamento o una modifica applicativa, Jenkins attiva il building agent che usa Packer per effettuare il build e creare un’immagine Docker. L’immagine Docker può essere quindi caricata automaticamente in un repository opportuno, per es. Container Registry, e quindi lasciare a Kubernetes la possibilità di effettuare il deploy.
Realizzare un’architettura di questo tipo semplifica enormemente il lavoro di building applicativo e permette di realizzare un vero processo di CI/CD in ambito DevOps. Contattaci subito e senza impegno per una consulenza sull’argomento.
Siamo Google Cloud, Google Workspace e G Suite Enterprise for Education Partner e, grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ed un solido gruppo aziendale, ti forniamo formazione avanzata su tool come Jenkins e Kubernetes ed assistenza e supporto per qualsiasi progetto. Contattaci subito e senza impegno per maggiori informazioni.