Introducció

AWS Elastic Beanstalk és un servei fàcil d'usar per desplegar i escalar aplicacions i serveis web desenvolupats amb Java, .NET, PHP, Node.js, Python, Ruby, Go i Docker en servidors familiars com Apache, Nginx, Passenger i IIS. Simplement has de pujar el teu codi i Elastic Beanstalk s'encarrega automàticament del desplegament, des del provisionament de capacitat, l'equilibri de càrrega, l'escalat automàtic fins al monitoratge de l'estat de l'aplicació.

Conceptes Clau

  • Entorn: Un entorn és una instància d'una aplicació que s'executa en Elastic Beanstalk. Cada entorn té un URL únic.
  • Aplicació: Una aplicació és un contenidor lògic per a les versions de l'aplicació que es poden desplegar en un o més entorns.
  • Versió de l'aplicació: Una versió de l'aplicació és un desplegable específic de codi, configuració i recursos.
  • Configuració de l'entorn: Inclou la configuració de la capacitat de la instància, l'equilibri de càrrega, l'escalat automàtic, les variables d'entorn, etc.

Característiques Principals

  • Desplegament Automàtic: Elastic Beanstalk gestiona el desplegament de la teva aplicació, incloent-hi la configuració de la infraestructura necessària.
  • Escalat Automàtic: Ajusta automàticament la capacitat de la teva aplicació en funció de la demanda.
  • Monitoratge i Gestió: Proporciona eines per monitorar l'estat de la teva aplicació i gestionar els recursos.
  • Compatibilitat amb Diversos Llenguatges i Plataformes: Suporta múltiples llenguatges de programació i plataformes de servidor.

Configuració Inicial

Pas 1: Crear una Aplicació

  1. Accedeix a la consola de gestió d'AWS.
  2. Navega a Elastic Beanstalk.
  3. Fes clic a Create Application.
  4. Introdueix un nom per a la teva aplicació.
  5. Selecciona una plataforma (per exemple, Node.js, Python, etc.).
  6. Fes clic a Create.

Pas 2: Desplegar una Versió de l'Aplicació

  1. Després de crear l'aplicació, fes clic a Upload and Deploy.
  2. Selecciona el fitxer ZIP que conté el codi de la teva aplicació.
  3. Introdueix una etiqueta de versió.
  4. Fes clic a Deploy.

Pas 3: Configurar l'Entorn

  1. Un cop desplegada la versió, pots configurar l'entorn.
  2. Fes clic a Configuration.
  3. Ajusta les opcions com la capacitat de la instància, l'equilibri de càrrega, les variables d'entorn, etc.
  4. Fes clic a Apply per guardar els canvis.

Exemple Pràctic

Desplegar una Aplicació Node.js

Estructura del Projecte

my-node-app/
├── app.js
├── package.json
└── .ebextensions/
    └── options.config

Contingut de app.js

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, AWS Elastic Beanstalk!');
});

const port = process.env.PORT || 3000;
app.listen(port, () => {
    console.log(`Server is running on port ${port}`);
});

Contingut de package.json

{
  "name": "my-node-app",
  "version": "1.0.0",
  "description": "A simple Node.js app for AWS Elastic Beanstalk",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.17.1"
  }
}

Contingut de .ebextensions/options.config

option_settings:
  aws:elasticbeanstalk:container:nodejs:
    NodeCommand: "npm start"

Desplegament

  1. Comprimeix el contingut del directori my-node-app en un fitxer ZIP.
  2. Segueix els passos descrits anteriorment per crear una aplicació i desplegar una versió.
  3. Un cop desplegada, accedeix a l'URL de l'entorn per veure la teva aplicació en funcionament.

Exercicis Pràctics

Exercici 1: Desplegar una Aplicació Python

  1. Crea una aplicació Python simple amb Flask.
  2. Configura el projecte per a Elastic Beanstalk.
  3. Desplega l'aplicació seguint els passos descrits.

Exercici 2: Configurar l'Escalat Automàtic

  1. Desplega una aplicació en Elastic Beanstalk.
  2. Configura l'escalat automàtic per ajustar la capacitat en funció de la càrrega.
  3. Monitoritza l'entorn per veure com s'ajusta la capacitat.

Solucions

Solució a l'Exercici 1

Estructura del Projecte

my-python-app/
├── application.py
├── requirements.txt
└── .ebextensions/
    └── options.config

Contingut de application.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, AWS Elastic Beanstalk!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Contingut de requirements.txt

Flask==1.1.2

Contingut de .ebextensions/options.config

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: application:app

Solució a l'Exercici 2

  1. Accedeix a la configuració de l'entorn a la consola de Elastic Beanstalk.
  2. A la secció Capacity, ajusta les opcions d'escalat automàtic.
  3. Defineix les polítiques d'escalat basades en les mètriques de CloudWatch, com l'ús de la CPU.
  4. Aplica els canvis i monitoritza l'entorn per veure com s'ajusta la capacitat.

Conclusió

AWS Elastic Beanstalk simplifica el procés de desplegament i gestió d'aplicacions a AWS. Amb Elastic Beanstalk, pots concentrar-te en el desenvolupament de la teva aplicació mentre AWS s'encarrega de la infraestructura. En aquest tema, hem après a crear una aplicació, desplegar una versió i configurar l'entorn. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. En el següent tema, explorarem AWS Fargate, una altra eina poderosa per desplegar aplicacions en contenidors.

© Copyright 2024. Tots els drets reservats