2.1. Introducció
Un cop hem vist els entorns Conda, ens introduirem en una altra metodologia per controlar els processos utilitzats: els contenidors.
Els contenidors són sistemes de virtualització que contenen totes les eines necessàries per executar un software. Molt sovint es comparen les màquines virtuals amb els contenidors. La diferència més important és que les màquines virtuals virtualitzen tota una màquina fins a les capes de hardware, mentre que els contenidors únicament virtualitzen la capa de software damunt del sistema operatiu. Aquesta característica els fa més lleugers i fàcils de modificar.
Tot i que els contenidors no són una tecnologia nova, la seva aplicació de manera extensa va començar amb l’aparició de Docker el 2013 (consulta la caixa lateral). La popularització d’aquestes aplicacions va introduir la complexitat d’administrar centenars o milers de contenidors, i per això va aparèixer el que es coneix com la Orquestradors de contenidors. Tot i que al llarg del temps han aparegut diferents plataformes d’orquestració, fins i tot una del mateix Docker, com és Docker Swarm, Google va crear el 2014 Kubernetes, de codi obert, que s’ha convertit en el software preferit de moltes empreses i s’ha consolidat com un estàndard. Les plataformes d’orquestració s’encarreguen de reiniciar les aplicacions si fallen, d’equilibrar la càrrega de treball, d’escalar automàticament, d’implementar sense temps d’inactivitat, etc.
Tot i que en sistemes HPC (High Performance Computing) s’utilitza més Singularity, en aquest apartat de contenidors ens centrarem en com utilitzar Docker.