5 febrer, 2019
Serveis Docker al desenvolupament d’apps
 

Per què implementar serveis Docker al desenvolupament d’apps?

 

Docker és un projecte Open Source on es pot crear de forma fàcil contenidors d’aplicacions lleugeres, portables i autosuficients.

Els contenidors permeten als desenvolupadors crear una aplicació amb totes les parts que necessita, com a biblioteques i altres dependències, i distribuir-la com un sol paquet.

Gràcies al contenidor, l’aplicació s’executarà en qualsevol altra màquina Linux, independentment de les configuracions personalitzades que la màquina pugui tenir i que puguin diferir de la màquina utilitzada per a escriure i provar el codi.

El desenvolupament d’aplicacions requereix processos complexos en relació amb la gestió de dependències, però no només en l’àmbit d’aplicació (vendors, bundles o llibreries), sinó també a escala de sistema operatiu (mod_rewrite, imagemagick…) o pel que fa a la infraestructura (MySql, Redis, Elasticsearch).

Docker proporciona la flexibilitat apropiada per a traslladar les dependències a les diferents situacions necessàries durant el cicle de desenvolupament d’una aplicació.

Gestionar aquestes dependències en els diferents passos del cicle de desenvolupament de l’aplicació pot arribar a ser complicat i impactar directament tant en els temps de desenvolupament com en la qualitat del resultat.

Cada contenidor de Docker apunta a una aplicació específica. Docker també incorpora solucions d’administració de contenidors per a facilitar la creació de scripts i l’automatització (especialment quan l’objectiu és reduir el temps d’execució). Un contenidor de Docker s’enfoca en només una aplicació alhora, i l’entorn està controlat per a impedir l’accés fora de l’arbre de directoris del contenidor.

Per què és més fàcil implementar software amb Docker?

Les companyies líders estan confiant en la plataforma de contenidors Docker per a construir, administrar i assegurar totes les seves aplicacions, des d’aplicacions tradicionals fins a microserveis d’avantguarda, i desplegar-les en qualsevol lloc.

Els serveis Docker compten amb suport per part de proveïdors cloud:

AWS suporta Docker de 3 maneres diferents de forma nativa ECS, Kubernetes i Fargate de manera serverless.

  • Google amb Google Contenidor Engine (GKE).
  • Microsoft Azure amb Azure Contenidor Service (AKS).

Docker permet un ús més eficient dels recursos del sistema

Les instàncies d’aplicacions en contenidors utilitzen menys memòria que les màquines virtuals, s’inicien i es detenen més ràpidament, i poden empaquetar-se molt més densament en el seu hardware host. Tot això equival a menys despesa TI.

L’estalvi de costos varia en funció de les aplicacions i l’ús de recursos, però els contenidors funcionen de forma més eficient que les màquines virtuals. També és possible estalviar costos en llicències de software.

Docker permet cicles de lliurament de software més ràpid

El software empresarial ha de respondre de forma ràpida a les necessitats de demanda oferint escalabilitat per a agregar noves funcions segons els requisits de cada negoci.

Els contenidors Docker faciliten la posada en producció de noves versions de software, amb noves característiques comercials i actualitzacions.

Docker permet la portabilitat d’aplicacions

Els contenidors Docker encapsulen tot el que una aplicació per a executar i permeten que les aplicacions es puguin transportar fàcilment entre entorns. Qualsevol host amb el temps d’execució Docker instal·lat pot executar un contenidor de Docker, sigui el portàtil de desenvolupador o una instància de núvol públic.

Docker i la seva arquitectura de microserveis

Lleuger, portàtil i autònom. Els contenidors Docker faciliten la creació de programari en línies avançades, per a poder resoldre els problemes del futur.

Gràcies als microserveis és possible escalar, modificar i atendre per separat, a través d’equips separats i en diferents línies de temps per a satisfer les necessitats de negoci.

Els contenidors no estan obligats a implementar microserveis, però es poden adequar per a aquest enfocament i processos de desenvolupament àgils.

Quan utilitzar Docker?

Utilitzar contenidors Docker és convenient si s’ajusta a una o més de les següents categories:

Aprenentatge de noves tecnologies

Docker ofereix un entorn aïllat i d’un sol ús. Molts projectes mantenen imatges de Docker amb les seves aplicacions ja instal·lades i configurades.

Casos d’ús bàsics

Si la teva aplicació bàsica o estàndard està treballant amb una imatge de Docker predeterminada extreure imatges de Docker Hub també és una bona solució. D’aquesta forma es pot estalviar molt de temps que en cas contrari es dedicaria a configurar el teu entorn i instal·lar les eines necessàries.

Aïllament de l’aplicació

Si desitges executar diverses aplicacions en un servidor, mantenint els components de cada aplicació en contenidors separats evitaràs problemes amb l’administració de dependències.

Equips de desenvolupadors

Si tens desenvolupadors que treballen amb diferents configuracions, els contenidors Docker et proporcionaran entorns de desenvolupament local convenients que s’ajustin estretament al voltant de producció, sense necessitat de SSH en una caixa remota.

Els contenidors Docker ofereixen molts altres beneficis a més de l’encapsulació, aïllament, portabilitat i control. Són petits (megabytes) i comencen a l’instant. Tenen els seus propis mecanismes incorporats per al control de versions i la reutilització de components. Es poden compartir fàcilment a través del Docker Hub públic o el repositori privat. Els contenidors utilitzen sistemes operatius compartits, sent molt més eficients. En lloc de virtualitzar el hardware els contenidors descansen sobre una sola instància de Linux.

Docker s’ha convertit en una forma extremadament popular de configurar, guardar i compartir entorns de servidor utilitzant contenidors. La separació de les funcions de l’aplicació en diferents contenidors també ofereix avantatges en l’administració de la seguretat i la dependència.

Aquesta solució popular és fàcil d’usar, però com amb qualsevol altra eina, és necessari determinar els requisits del projecte en qüestió i investigar de forma exhaustiva abans de decidir l’ús de Docker.

A Ilimit no només podem allotjar les teves aplicacions amb Docker, sinó que també t’acompanyem en el procés de “dockerizació” de les teves aplicacions i serveis.

CTA ebook cloud computing

Bon profit!

A l'hora de dinar també hi som. Posa't en contacte amb nosaltres i t'ajudarem en el que necessitis.
Contáctanos