Tanquem la Part IV amb EKS (Elastic Kubernetes Service), l’alternativa més potent —i més complexa— per executar contenidors a AWS. És important entendre què és Kubernetes, què aporta EKS i, sobretot, quan val la pena davant la senzillesa d’ECS. Espòiler: no sempre.

Què és Kubernetes

Kubernetes (sovint abreujat K8s) és l’orquestrador de contenidors més popular del món. Fa el mateix que ECS (executar, escalar, reparar i coordinar contenidors), però amb dues diferències importants:

  • És open source (codi obert) i estàndard de la indústria: l’utilitzen empreses de totes les mides i funciona a qualsevol núvol (AWS, Azure, Google...) o fins i tot als teus propis servidors.
  • És moltíssim més potent i flexible... però també molt més complex.
ECS  = orquestrador d’AWS, senzill, només a AWS
K8s  = orquestrador estàndard, potentíssim, a qualsevol lloc, però complex

Analogia: si ECS és un cotxe automàtic (fàcil de conduir, AWS gestiona gairebé tot per tu), Kubernetes és un cotxe de Fórmula 1: increïblement capaç i configurable, però requereix un pilot expert i molt manteniment. Per anar al supermercat, l’automàtic és més que suficient.

Què és EKS

Gestionar Kubernetes pel teu compte és molt difícil: cal instal·lar i mantenir el seu «cervell» (el pla de control), que és complex i delicat. EKS (Elastic Kubernetes Service) resol això: és Kubernetes gestionat per AWS. AWS s’encarrega de la part més difícil (el pla de control), i tu utilitzes Kubernetes sense haver de mantenir-ne el nucli.

Kubernetes pel teu compte:  tu mantens TOT (molt difícil)
EKS:                       AWS manté el "cervell"; tu utilitzes Kubernetes

Tot i així —i això és clau— EKS continua sent més complex que ECS. AWS et treu una part de la feina, però Kubernetes en si té una corba d’aprenentatge pronunciada: conceptes propis (pods, deployments, services, ingress...), la seva pròpia manera de configurar-se, el seu propi ecosistema d’eines.

ECS vs EKS: la comparació clau

ECS EKS (Kubernetes)
Complexitat Baixa, fàcil d’aprendre Alta, corba pronunciada
Potència/flexibilitat Suficient per a la majoria Enorme, molt configurable
Portabilitat Només AWS Qualsevol núvol o local
Ecosistema El d’AWS Enorme ecosistema open source
Equip necessari Qualsevol equip Idealment, expertise en Kubernetes
Ideal per a Començar, simplicitat Necessitats complexes, multi-núvol

Quan triar Kubernetes (EKS)?

EKS té sentit en aquests casos:

  • Ja utilitzes Kubernetes o el teu equip té experiència amb ell. Aprofites aquest coneixement.
  • Necessites multi-núvol o evitar el «vendor lock-in»: vols que la teva aplicació pugui funcionar a AWS, en un altre núvol o als teus servidors sense reescriure-la. Kubernetes és l’estàndard comú.
  • Necessitats molt complexes: configuracions avançades de xarxa, desplegaments sofisticats, o vols utilitzar l’enorme ecosistema d’eines de Kubernetes (Helm, operators, service meshes...).
  • Organització gran amb molts equips i aplicacions, on la potència de Kubernetes compensa la seva complexitat.

Quan NO triar Kubernetes?

I aquí hi ha el consell més valuós del subcapítol. Molta gent tria Kubernetes per moda, sense necessitar-lo, i acaba pagant una complexitat enorme per res. No triïs EKS si:

  • Estàs començant amb contenidors. Comença per ECS/Fargate; és molt més senzill.
  • El teu equip no coneix Kubernetes. La corba d’aprenentatge i el manteniment et robaran temps que hauries de dedicar al teu producte.
  • Les teves necessitats són normals: executar unes quantes aplicacions, escalar-les, repartir tràfic. ECS fa això perfectament i amb molt menys esforç.
  • Vols simplicitat operativa. Fargate (amb ECS) et dona contenidors sense gestionar gairebé res.

L’error clàssic: un equip petit munta un clúster de Kubernetes complex per executar tres microserveis, i acaba dedicant més temps a mantenir Kubernetes que a desenvolupar el seu producte. Amb ECS + Fargate haurien tingut el mateix funcionant en una fracció del temps. Tria l’eina per necessitat real, no per moda.

La regla d’or

Necessito de veritat la potència i portabilitat de Kubernetes,
 i tinc (o vull adquirir) l’experiència per gestionar-lo?

   SÍ  → EKS
   NO  → ECS + Fargate  (la resposta per a la majoria)

Comença sempre pel que és senzill (ECS/Fargate). Passa’t a EKS només quan tinguis una raó concreta i justificada per necessitar Kubernetes. La complexitat ha de guanyar-se el seu lloc, no adoptar-se per defecte.

El que has de recordar

  • Kubernetes (K8s) és l’orquestrador de contenidors estàndard de la indústria: potentíssim, open source i portable a qualsevol núvol, però molt complex. Com un Fórmula 1 davant el cotxe automàtic que és ECS.
  • EKS (Elastic Kubernetes Service) és Kubernetes gestionat per AWS: AWS manté el «cervell», però continua sent més complex que ECS.
  • Tria EKS si: ja utilitzes Kubernetes, necessites multi-núvol/evitar lock-in, tens necessitats molt complexes o una organització gran amb expertise.
  • No triïs EKS si estàs començant, el teu equip no coneix Kubernetes, o les teves necessitats són normals: ECS + Fargate fa el mateix amb molt menys esforç.
  • Regla d’or: comença pel que és senzill (ECS/Fargate) i passa’t a EKS només amb una raó justificada. Tria per necessitat, no per moda.

Has acabat el Capítol 17 i la Part IV! Ja domines les arquitectures intermèdies d’AWS: balanceig i autoescalat, serverless, missatgeria, lliurament de contingut i contenidors. A la Part V pujarem el nivell de Terraform: començarem pels mòduls, la clau per reutilitzar i organitzar la teva infraestructura com un professional.

Cloud, AWS & Terraform — De zero a expert

Capítol 1 · Què és el cloud computing

Capítol 2 · El mercat cloud i els grans proveïdors

Capítol 3 · Regions, zones de disponibilitat i edge

Capítol 4 · Càlcul: EC2

Capítol 5 · Emmagatzematge: S3

Capítol 6 · Xarxes: VPC

Capítol 7 · Identitat i accés: IAM

Capítol 8 · Bases de dades gestionades

Capítol 9 · Per què Infraestructura com a Codi

Capítol 10 · HCL: el llenguatge de Terraform

Capítol 11 · Providers i estat

Capítol 12 · La teva primera infraestructura real amb Terraform

Capítol 13 · Balanceig de càrrega i autoescalat

Capítol 14 · Serverless amb Lambda

Capítol 15 · Missatgeria i esdeveniments

Capítol 16 · Lliurament de contingut i DNS

Capítol 17 · Contenidors a AWS

Capítol 18 · Mòduls: reutilització i composició

Capítol 19 · Workspaces i gestió d'entorns

Capítol 20 · Backends remots i locking

Capítol 21 · Testing d'infraestructura

Capítol 22 · Terraform en CI/CD

Capítol 23 · Seguretat en profunditat

Capítol 24 · Observabilitat: logs, mètriques i traces

Capítol 25 · Optimització de costos

Capítol 26 · Alta disponibilitat i disaster recovery

Capítol 27 · Well-Architected Framework d'AWS

Capítol 28 · Arquitectures serverless a escala

Capítol 29 · Plataformes de dades a AWS

Capítol 30 · Multi-compte i landing zones

Capítol 31 · Platform Engineering i Internal Developer Platform

Capítol 32 · Certificacions AWS rellevants

Capítol 33 · Projectes per consolidar el que s'ha après

Capítol 34 · Recursos i comunitat

© Copyright 2024. Tots els drets reservats