No necesarios, aunque se recomienda estar familiarizado con entornos Linux.
En esta asignatura se explica qué son los entornos de desarrollo y para qué sirven. Se presenta el concepto de virtualización y se estudian las diferentes tecnologías de virtualización. Con este fin, se explica la herramienta Vagrant y los conceptos básicos de Linux necesarios para su manipulación. Se continúa con los sistemas de control de versiones, especialmente Git. También se imparte un conocimiento de nivel intermedio de Ansible hasta el punto de poder crear módulos propios reutilizables.
En esta asignatura se presenta el Sistema DNS (Domain Naming System), cómo funciona a grandes rasgos y cómo están estructurados los nombres de dominio de internet.
Como parte final de la asignatura se enseña a gestionar la configuración de un entorno de instancias Amazon EC2 (o equivalente).
¿Qué es y en qué consiste un entorno web?
Virtualización (máquinas virtuales)
Vagrant
Sistemas de Control de Versiones (Git)
Introducción a Linux
Ansible
Entornos de producción y preproducción
Cloud Hosting EC2
Naming & Domain
Despliegue de configuración de servidores
Las clases combinan explicaciones teóricas por parte del profesorado con otras más prácticas, donde el alumno tendrá la posibilidad de aprender cómo desplegar un entorno de desarrollo real. La mayoría de prácticas y ejercicios de esta asignatura se desarrollan de manera individual, pues se considera clave que el alumno pueda por si solo preparar un entorno de este tipo.
Se realizarán ejercicios para una evaluación continuada.
Se realizará un examen teórico y práctico al final de la asignatura donde se pondrán en práctica todos los conceptos aprendidos.
Los resultados de aprendizaje de esta asignatura son los siguientes:
[RA1] El alumno comprende y sabe gestionar correctamente todo el ciclo de vida de un proyecto de web.
[RA2] El alumno aprende a configurar las diferentes máquinas utilizadas en un equipo de desarrollo e instalar el software necesario para la programación de proyectos web.
[RA6] El alumno sabe analizar y dimensionar correctamente las máquinas necesarias para un proyecto web, así como analizar su rendimiento con el fin de optimizarlo.