Docker
Docker è il più noto software open source per la containerizzazione degli applicativi.
Cos'è Docker
Il container deploymentDocker è un software open source, sviluppato in Go, che permette il deployment di sistemi software all'interno di container, cioè contenitori che includono l'applicativo e tutte le sue dipendenze per poter essere eseguito in modo flessibile in un qualsiasi ambiente.
Docker e i microservizi
Quando usiamo dockerIn un approccio basato sui microservizi, l’applicazione è deployata sotto forma di suite di applicativi, ognuno dei quali può essere sviluppato, modificato, deployato e scalato in modo indipendente dagli altri. Docker costituisce uno standard de facto nel caso di un sistema costituito da microservizi. Nel caso di applicazioni di grandi dimensioni, e che necessitano di scalare velocemente e in modo flessibile, a Docker può essere affiancato Kubernetes.
Cosa sono i microservizi e quando usarli?
Quando il monolite non va più beneLa tipica struttura di un'applicazione enterprise si compone di una (o più) interfacce utente, una componente backend che fornisce le API e un database. In molti casi questo approccio è la scelta più semplice, più veloce da realizzare e da testare e con un minore impatto sul budget. Ci sono alcuni casi però in cui una struttura a microservizi è preferibile, in particolare dove si prevede che le varie parti del sistema possano evolvere in futuro in maniera indipendente oppure in quei casi in cui la scalabilità è un punto critico ed in particolare ci può essere un carico che si concentra su una o l'altra parte del sitema in momenti diversi. In questi casi la scelta di un'architettura a microservizi garantisce una migliore flessibilità e migliori prestazioni con un uso più accurato delle risorse.