Programa 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 & Hipervisor Tipo-2
iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
c. Virtualización de Redes
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 Aplicación: SSL
b. Capa Red: TCP
c. Capa Internet: IPv4/IPv6
d. Capa Enlace: Ethernet
2. Estructura de paquetes
iii. Dirección: Dirección IP y Nombres de Dominio
iv. Firewall, Balanceador de Carga, Ruta, Adaptador
v. Red Virtualizada
1. Abstracciones de alto nivel: Subredes, Zonas.
d. Ejercicio Práctico:
i. Familiarización 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 interconexión entre invitados en un clúster ESXi.
iii. Realizar modificaciones a una instancia VM en ejecución y capturar una instantánea.
iv. Actualizar las reglas del firewall en ESXi utilizando el cliente vSphere.
2. Computación en la Nube: Un cambio de paradigma
a. Una forma rápida y económica de hacer disponible un producto/solución al mundo
b. Compartir recursos
i. Virtualización de entornos virtualizados
c. Beneficios clave:
i. Elasticidad de recursos bajo demanda
1. Idear->Codificar- >Desplegar sin requerir infraestructura
2. Pipelines CI/CD rápidos
ii. Aislamiento de entornos y autonomía vertical
iii. Seguridad a través de capas
iv. Optimización de gastos
d. Nube en las instalaciones y Proveedores de Nube
e. La nube como una abstracción conceptual efectiva para la computación distribuida
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 adelante. Se recomienda AWS.
1. Introducción a VPC de AWS, EC2 de AWS, etc.
b. PaaS (Plataforma como Servicio)
i. AWS, Azure, Google, CloudFoundry, Heroku
1. Introducción a DynamoDB de AWS, Kinesis de AWS, etc.
c. SaaS (Software como Servicio)
i. Breve visión general
ii. Microsoft Office, Confluence, SalesForce, Slack
d. SaaS se basa en PaaS que se basa en IaaS que se basa en Virtualización
4. Proyecto Práctico de IaaS Cloud
a. El proyecto utiliza AWS como el Proveedor de IaaS Cloud
b. Usar CentOS/RHEL como sistema operativo para el resto del ejercicio
i. Alternativamente, Ubuntu también servirá, pero se prefieren RHEL/CentOS.
c. Obtener cuentas individuales de AWS IAM de su administrador de nube
d. Cada estudiante debe realizar estos pasos de forma independiente
i. La capacidad de crear toda tu infraestructura propia 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 realizar estas tareas, salvo 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 el tráfico entrante desde Internet en https 443 y http 80
b. No se permiten otras conexiones entrantes
2. SG-Servicio
a. Permite el 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 la 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. Implementar una instancia de un AMI correspondiente a tu sistema operativo elegido -- preferiblemente las versiones más recientes de RHEL/CentOS disponibles en AMIs -- y hospedar la instancia en Subnet-1. Adjuntar la instancia a los grupos SG-Servicio 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 que sea servido por
NGINX (en el puerto 80 a través de HTTP) y define 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. Implementar esa nueva AMI y hospedar la instancia en Subnet-2. Adjuntar la instancia a los grupos SG-Servicio 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 Elástico "clásico" y adjuntarlo a SG-Internet.
i. Ver https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html
ii. Notar la diferencia entre el Balanceador de Carga de Aplicación y el Balanceador de Carga de Red.
o. Crear una regla de enrutamiento que redirija todo el tráfico http 80 y https 443 a un grupo de instancias compuesto por las dos instancias creadas anteriormente.
p. Usando cualquier herramienta de gestión de certificados -- java keytool, etc. -- crear una pareja 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 usado como una autoridad de gestión y firma de certificados y un nuevo certificado puede solicitarse 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 que mapee 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:://<nombre-de-acceso-público-del-ELB>/<url-del-contenido-estático>
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 en la Nube: Introducción & 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 -- nube en las instalaciones y nube pública
b. Migración: de nube en las instalaciones 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 de Formación en la Nube de AWS
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