Temario del curso
1. Detalles de la virtualización
a. Conceptos generales del sistema operativo i. CPU, Memoria, Red, Almacenamiento b. Hipervisor i. Supervisor de supervisores ii. Máquina "host" y SO "guest" iii. Hipervisor Tipo-1 & Tipo-2 iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR. c. Virtualización de red i. Introducción breve al modelo OSI de 7 capas 1. Enfoque en la capa de red ii. Modelo TCP/IP o Protocolo de Internet 1. Enfoque en una sola vertical a. Capa de Aplicación: SSL b. Capa de Red: TCP c. Capa de Internet: IPv4/IPv6 d. Capa de Enlace: Ethernet 2. Estructura del paquete iii. Direcciones: Dirección IP y Nombres de Dominio iv. Firewall, Balanceador de Carga, Ruta, Adaptador v. Red virtualizada 1. Abstracciones de orden superior: Subredes, Zonas.
d. Ejercicio práctico: i. Familiarizarse con el clúster ESXi y el cliente vSphere. ii. Crear/actualizar redes en el clúster ESXi, desplegar invitados desde paquetes VMDK, habilitar la conectividad entre invitados en un clúster ESXi. iii. Realizar modificaciones a una instancia de VM en ejecución y capturar un snapshot. iv. Actualizar reglas de firewall en ESXi usando el cliente vSphere.
2. Computación en la nube: Un cambio de paradigma
a. Una pista rápida y económica para hacer disponible un producto/solución al mundo b. Compartición de recursos i. Virtualización del entorno virtualizado c. Beneficios clave: i. Elasticidad de recursos bajo demanda 1. Idear->Codificar- >Desplegar sin requerir infraestructura 2. Pipelines CI/CD rápidos
ii. Aislamiento del entorno y autonomía vertical iii. Seguridad a través de capas iv. Optimización de gastos d. Nube en premisas y proveedores de nube e. La nube como una abstracción conceptual efectiva para el cómputo distribuido
3. Introducción a las capas de soluciones en la nube:
a. IaaS (Infraestructura como Servicio) i. AWS, Azure, Google ii. Elegir un proveedor para continuar más tarde. Se recomienda AWS. 1. Introducción a AWS VPC, AWS EC2, etc.
b. PaaS (Plataforma como Servicio) i. AWS, Azure, Google, CloudFoundry, Heroku 1. Introducción a AWS DynamoDB, AWS Kinesis, etc.
c. SaaS (Software como Servicio) i. Visión general muy breve ii. Microsoft Office, Confluence, SalesForce, Slack d. SaaS se basa en PaaS que se basa en IaaS que se basa en la virtualización
4. Proyecto práctico de IaaS Cloud
a. El proyecto utiliza AWS como proveedor de IaaS Cloud b. Usar CentOS/RHEL como sistema operativo para el resto del ejercicio i. Alternativamente, Ubuntu también servirá, pero RHEL/CentOS son preferidos c. Obtener cuentas individuales AWS IAM de su administrador de nube d. Cada estudiante debe realizar estos pasos de manera independiente i. La capacidad de crear toda tu infraestructura a demanda es la mejor demostración del poder de la computación en la nube ii. Usar los asistentes de AWS -- consolas online de AWS -- para lograr estas tareas, a menos que se indique lo contrario e. Crear una VPC pública en la región us-east-1 i. Dos subredes (Subnet-1 y Subnet-2) en dos zonas de disponibilidad diferentes
1. Ver https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html para referencia. ii. Crear tres grupos de seguridad separados 1. SG-Internet a. Permite tráfico entrante desde Internet en https 443 y http 80 b. No se permiten otras conexiones entrantes 2. SG-Service a. Permite tráfico entrante solo del grupo de seguridad SG-Internet en https 443 y http 80 b. Permite ICMP solo desde SG-Internet c. No se permiten otras conexiones entrantes 3. SG-SSH:
a. Permite conexión SSH:22 entrante solo desde una IP que coincida con la IP pública de la máquina de laboratorio del estudiante. En caso de que la máquina de laboratorio esté detrás de un proxy, entonces la IP pública del proxy.
f. Desplegar una instancia de un AMI perteneciente a tu SO elegido -- preferiblemente las últimas versiones de RHEL/CentOS disponibles en AMIs -- y alojar la instancia en Subnet-1. Asociar la instancia a los grupos SG-Service y SG-SSH. g. Acceder a la instancia usando SSH desde tu máquina de laboratorio.
i. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
h. Instalar el servidor NGINX en esta instancia i. https://www.nginx.com/resources/wiki/start/topics/tutorials/install/ i. Colocar contenido estático de tu elección -- páginas html, imágenes -- para ser servido por NGINX (en el puerto 80 sobre HTTP) y definir URLs para ellos. i. Ver https://www.nginx.com/resources/admin-guide/serving-static-content/ j. Probar la URL desde esa misma máquina. k. Crear una imagen AMI a partir de esta instancia en ejecución. i. Ver https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Desplegar esa nueva AMI y alojar la instancia en Subnet-2. Asociar la instancia a los grupos SG-Service y SG-SSH. m. Ejecutar el servidor NGINX y validar que la URL de acceso para el contenido estático, creada en el paso (i), funcione. n. Crear un balanceador de carga "clásico" elástico y asociarlo al grupo SG-Internet. i. Ver https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html ii. Notar la diferencia con el Balanceador de Carga de Aplicación y el Balanceador de Carga de Red.
o. Crear una regla de enrutamiento para reenviar todo el tráfico http 80 y https 443 a un grupo de instancias que comprende las dos instancias creadas anteriormente. p. Usando cualquier herramienta de administración de certificados -- java keytool etc. -- crear un par de claves y un certificado autofirmado e importar el certificado al Gestor de Certificados de AWS (ACM) i. Ver https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html ii. Alternativamente, ACM mismo puede ser utilizado como una autoridad de administración y firma de certificados y se puede solicitar un nuevo certificado a ACM. Pero en ese caso debe usarse un nombre de dominio válido, los administradores del dominio correspondiente deben estar disponibles para validar la solicitud, y luego se necesita crear una entrada AWS Route53 para mapear al IP del ELB. Estos son pasos más avanzados y por lo tanto p.(i) es mejor recomendado. q. Usar este certificado para la conexión TLS/SSL del ELB para soportar https
i. Ver https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-server-cert.html
r. Desde tu navegador, ve a http:://<elb-public-access-name>/<static-content-url> s. Deberías ver el contenido estático en tu navegador. t. Detener cada una de las instancias uno a la vez y enviar las URLs. u. Detener ambas instancias y enviar las URLs.
5. Monitoreo de la nube: Introducción y proyecto práctico
a. Métricas de AWS CloudWatch b. Ir al panel de control de AWS CloudWatch para las instancias i. Recuperar las métricas relevantes y explicar la variabilidad con el tiempo 1.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html c. Ir al panel de control de AWS CloudWatch para el ELB i. Observar las métricas del ELB y explicar su variabilidad con el tiempo 1.https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html 6. Conceptos avanzados para aprendizaje adicional: a. Nube híbrida -- en premisas y nube pública b. Migración: de en premisas a nube pública i. Migración del código de la aplicación ii. Migración de bases de datos c. DevOps i. Infraestructura como código ii. Plantilla AWS Cloud Formation d. Auto-escalado i. Métricas de AWS CloudWatch para determinar la salud
Requerimientos
No se requieren requisitos específicos para asistir a este curso.
Testimonios (1)
El entrenador te lo explica muy bien.
Cosmin Simota - Serviciul de Telecomunicatii Speciale
Curso - Cloud computing essentials for managers / software engineers
Traducción Automática