Per tante buone ragioni i container sembrano essere l’approccio predefinito per la maggior parte dei sistemi che migrano al cloud o vengono costruiti lì. Forniscono portabilità e scalabilità (utilizzando l’orchestrazione), che sono più difficili da ottenere con altre tecnologie abilitanti; inoltre, esiste un ecosistema sano intorno ai container e una soluzione a eventuali problemi è più facile da definire e trovare.

Tuttavia, proprio come altre tecnologie pubblicizzate negli ultimi tempi come AI e serverless, stiamo assistendo a molti casi in cui i container vengono applicati in modo errato. Le aziende infatti li scelgono anche quando altre tecnologie abilitanti sarebbero soluzioni migliori e più convenienti.

Gli svantaggi principali oggi sono l’applicazione eccessiva dello sviluppo di container e la migrazione di applicazioni esistenti ai container nei progetti di “modernizzazione delle applicazioni”. Non è che i container non funzionino, certo che lo fanno. Ma molte cose che pure funzionano sono enormemente inefficienti rispetto ad altre tecnologie.

La maggior parte delle aziende, ad esempio, sta inseguendo il vantaggio della portabilità per un carico di lavoro che difficilmente si sposterà mai dalla sua piattaforma host di destinazione. Inoltre, e soprattutto, non capiscono che sfruttare veramente ciò che i container offrono richiede una riprogettazione completa dell’applicazione nella maggior parte dei casi, cosa che in genere non fanno.

container

Anche lo sviluppo di nuovi reti ha questo problema. Le aziende spendono fino a quattro volte il necessario per creare la stessa applicazione utilizzando lo sviluppo e la distribuzione basati su container rispetto ai metodi più tradizionali. Inoltre, l’applicazione basata su container potrebbe costare di più per operare, utilizzando più risorse basate su cloud, come storage e calcolo.

Ecco quindi alcuni punti fondamentali da considerare:

  • Concentrarsi sulla restituzione del valore all’azienda. È la vecchia storia di sviluppatori e ingegneri che non si preoccupano del business quanto dovrebbero.
  • Non sopravvalutare i benefici, come la portabilità, che potreste non utilizzare mai. Se dovete spendere il doppio o anche il quadruplo per arrivarci, quali sono le probabilità che possiate spostare un’applicazione?
  • Comprendere i costi operativi. I container possono costare di più per operare a lungo termine. Non si sta dicendo di non usarli mai, ma di capire il vero costo della loro manutenzione nel corso degli anni.
  • Utilizzare le best practice architetturali. Le applicazioni spesso devono essere riprogettate affinché i container siano efficaci. “Avvolgere” qualcosa non ti dà efficienza per impostazione predefinita.

Tutto questo discorso è un ammonimento per sottolineare la necessità di un sano scetticismo su qualsiasi tecnologia. Abbiamo usato i container come esempio, ma avremmo potuto trattare qualsiasi altra tecnologia. Tenete sempre d’occhio il valore restituito all’azienda e molto probabilmente farete le scelta giusta.