Curso de Virtualización, Contenedores y Cloud Computing

BackEnd, Apps

Domina las tecnologías de virtualización, contenedores y cloud computing, ponlas en práctica para desarrollo y despliegue de aplicaciones.

Intermedio Medio (de 8 a 20 horas) Precio en promoción 110€ 99€
99€ Comprar

En este curso se abordarán las tecnologías de virtualización, contenedores y cloud computing, aplicados para la mejora de los procesos del desarrollo despliegue ágil y eficiente de aplicaciones.

Exploraremos los usos de la virtualización, en entornos de desarrollo y producción, junto con los contenedores para una gestión de máquinas virtuales sencilla y su aplicación en sistemas de integración continua. Además abordaremos de manera práctica la computación en la nube, serverless computing, orquestación de contenedores y muchas otras utilidades, tecnologías y herramientas de referencia en todos estos entornos.

Algunas de las herramientas y tecnologías con las que practicarás en este curso son: Vagrant, Docker, Jenkins, TravisCI, Swarm, Kubernetes... aplicando dicho conocimiento en servicios como Amazon Web Services o Google Cloud.

Contenidos del curso

La virtualización tiene muchos usos en el mundo del desarrollo y puesta en producción de aplicaciones de internet. Desde la simulación de un entorno de producción en la máquina de desarrollo (lo que reduce los problemas en el despliegue) hasta la facilidad de gestión de potentes servidores, es decir, la base de la computación en la nube. En este curso no sólo tendrás una visión general de las tecnologías de virtualización, sino que aprenderás a usar esa tecnología para el desarrollo de software. Concretamente, presentaremos Vagrant, una herramienta muy útil para virtualizar sistemas de producción linux en máquinas de desarrollo Windows o Mac.

Los contenedores han irrumpido con fuerza en el mundo del desarrollo software en los últimos años porque prometen la facilidad de gestión de las máquinas virtuales pero de forma mucho más eficiente y fácil de usar. En concreto, la tecnología Docker está revolucionando la forma en la que desarrollamos, probamos y desplegamos servicios en Internet. En este curso aprenderemos a usar esta tecnología tanto en la máquina de desarrollo como en los sistemas de integración continua Jenkins y TravisCI.

La computación en la nube ha cambiado para siempre la forma de gestionar nuestros servicios en producción. Los servicios de alojamiento de páginas web compartidos o dedicados han dejado paso a plataformas en la nube con una infinidad de servicios, desde la publicación de ficheros a los algoritmos de visión artificial como servicio. Incluso han dado paso la nueva tendencia de serverless computing (computación sin servidor). En este curso presentaremos Amazon Web Services, el proveedor líder en computación en la nube y explicaremos algunos de sus servicios más importantes: EC2S3LambdaRDS, etc...

Una vez presentados estos tres pilares básicos, profundizaremos en cómo deben usarse de forma efectiva para poner aplicaciones en producción. Aprenderemos las mejores prácticas para desplegar contenedores Docker en sistemas de orquestación de contenedores como Swarm y Kubernetes. Por último, desplegaremos aplicaciones basadas en contenedores en proveedores de computación en la nube como Google Cloud Engine.

Por último, veremos el impacto que tienen estos nuevos sistemas de desarrollo y ejecución de aplicaciones en las propias aplicaciones en sí. Presentaremos el concepto de aplicaciones nativas para la nube (Native Cloud) como aquellas aplicaciones que están diseñadas para ser elásticas y tolerantes a fallos aprovechándose de las capacidades ofrecidas por la computación en la nube y los contenedores. En concreto, presentaremos los conceptos de aplicaciones basadas en microservicios en general y estudiaremos el caso particular de JHipster, un generador de aplicaciones “nativas cloud” basado en SpringBoot y Angular.

Objetivos del curso de Virtualización, Contenedores y Cloud Computing

Los alumnos adquirirán unos conceptos básicos sobre Virtualización, Contenedores y Cloud Computing. Dentro de cada una de estas áreas, aprenderán a manejar las mejores herramientas de cada tipo. En concreto, Vagrant para virtualización, Docker para gestionar contenedores y Amazon Web Services como plataforma de computación en la nube.

Conocerán y sabrán utilizar algunas de las alternativas existentes para desplegar aplicaciones en producción en sistemas de orquestación de contenedores como Swarm y Kubernetes, tanto en desarrollo como en proveedores de computación en la nube.

Por último, podrán ver cómo estas tecnologías y herramientas cambian la forma de desarrollar las aplicaciones para que sean escalables, elásticas y tolerantes a fallos.

Micael Gallego

Java, Spring, OOP, MySQL, Git, Scrum

Patxi Gortázar

cloud computing