Práctica 3.2

Implantación de Aplicaciones Web

1 Implantación de WordPress en tres niveles mediante Ansible

En esta práctica tendrá que realizar la implantación de la aplicación web WordPress con una arquitectura web de tres niveles utilizando instancias EC2 de Amazon Web Services (AWS) y haciendo uso de playbooks de Ansible.

Se recomienda utilizar los scripts de bash que desarrolló en la práctica 1.11 de instalación de WordPress para usarlos como referencia a la hora de crear los playbooks de Ansible.

Ansible es una herramienta que nos permite configurar, administrar y realizar instalaciones en sistemas cloud con múltiples nodos sin tener que instalar agentes software en ellos. Sólo es necesario instalar Ansible en la máquina principal desde la que vamos a realizar operaciones sobre el resto de nodos y ésta se conectará a los nodos a través de SSH.

Ansible utiliza archivos YAML para describir las configuraciones que queremos aplicar en cada uno de los nodos. Estos archivos de configuración se conocen como playbooks.

La arquitectura de esta aplicación estará formada por tres capas:

  • Una capa con un balanceador de carga que repartirá las peticiones entre los servidores web.
  • Una capa de front-end, formada por un servidor web con Apache HTTP Server.
  • Una capa de back-end, formada por un servidor MySQL.

1.1 Arquitectura de tres niveles

1.2 Entregables

En esta práctica habrá que entregar un documento técnico con la descripción de los pasos que se han llevado a cabo durante todo el proceso.

El documento debe incluir como mínimo lo siguientes contenidos:

  • URL del repositorio de GitHub donde se ha alojado el documento técnico escrito en Markdown.

  • Playbook de Ansible utilizados para realizar el aprovisionamiento de las máquinas virtuales.

1.3 Entregables

Deberá crear un repositorio en GitHub con el nombre de la práctica y añadir al profesor como colaborador.

El repositorio debe tener el siguiente contenido:

  • Un documento técnico con la descripción de todos los pasos que se han llevado a cabo.
  • Los playbook de Ansible que se han utilizado para automatizar la instalación y configuración de la pila LAMP, así como de la aplicación web propuesta.

A continuación se muestra un ejemplo de cómo puede ser la estructura del repositorio:

.
├── README.md
├── templates
│   └── 000-default.conf
└── inventory
│   └── inventory
└── playbooks
│   ├── setup_load_balancer.yml
│   ├── install_lamp_frontend.yml
│   ├── install_lamp_backend.yml
│   ├── setup_nfs_server.yml
│   ├── setup_nfs_client.yml
│   ├── setup_letsencrypt_certificate.yml
│   ├── deploy_wordpress_backend.yml
│   └── deploy_wordpress_frontend.yml
└── vars
│   └── variables.yml
└── main.yml

1.3.1 Documento técnico

El documento técnico README.md tiene que estar escrito en Markdown y debe incluir como mínimo los siguientes contenidos:

  • Descripción del proceso de instalación de la instalación de la aplicación web propuesta utilizando una arquitectura de tres niveles.

2 Referencias

3 Licencia

Licencia de Creative Commons
Esta página forma parte del curso Implantación de Aplicaciones Web de José Juan Sánchez Hernández y su contenido se distribuye bajo una licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.