Programa del Curso
1. Detalles de virtualización
a. Conceptos del Sistema Operativo Overview
i. CPU, Memoria, Red, Almacenamiento
b. Hipervisor
i. Supervisor de Supervisores
ii. Máquina "anfitriona" y sistema operativo "invitado"
iii. Hipervisor Tipo-1 & Hipervisor Tipo-2
iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
c. Virtualización de Red
i. Breve introducción 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. Dirección: 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. Familiarización con el clúster ESXi y cliente vSphere.
ii. Crear/actualizar redes en el clúster ESXi, desplegar invitados desde paquetes VMDK,
habilitar interconectividad entre invitados en un clúster ESXi.
iii. Make modificaciones a una instancia de VM en ejecución y captura de instantáneas.
iv. Actualización de reglas del firewall en ESXi usando el cliente vSphere.
2. Cloud Computing: Un cambio de paradigma
a. Una pista rápida y económica para hacer que un producto/solución esté disponible para el mundo
b. Compartición de recursos
i. Virtualización del entorno virtualizado
c. Beneficios clave:
i. Elasticidad de recursos a pedido
1. Idear->Codificar- >Implementar sin requerir infraestructura
2. Cadenas CI/CD rápidas
ii. Aislamiento del entorno y autonomía vertical
iii. Seguridad a través de la capa
iv. Optimización de gastos
d. Nube en el sitio y Proveedores de Nube
e. La nube como una abstracción conceptual efectiva para el cálculo distribuido
3. Introducción a las capas de soluciones en la nube:
a. IaaS (Infraestructura como Servicio)
i. AWS, Azure, Google
ii. Elige 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. Breve visión general
ii. Microsoft Office, Confluence, SalesForce, Slack
d. El 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 nube IaaS
b. Usa CentOS/RHEL como sistema operativo para el resto del ejercicio
i. Alternativamente, Ubuntu también funcionará, pero se prefiere RHEL/CentOS
c. Obtén cuentas individuales de AWS IAM desde tu administrador de la nube
d. Cada estudiante debe realizar estos pasos de manera independiente
i. La capacidad de crear tu propia infraestructura a pedido es la mejor demostración del poder de la computación en la nube
ii. Usa los Asistentes de AWS -- las consolas en línea de AWS -- para completar estas tareas a menos que se indique lo contrario
e. Crea una VPC pública en la región us-east-1
i. Dos Subredes (Subnet-1 y Subnet-2) en dos zonas diferentes de disponibilidad
1. Consulta https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html para referencia.
ii. Crea 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-Servicio
a. Permite solo tráfico entrante desde el 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:
un. Permite la conexión entrante SSH:22 solo desde una única 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. Implementa una instancia de AMI correspondiente a tu sistema operativo elegido -- preferiblemente las versiones más recientes de RHEL/CentOS disponibles en AMIs -- y hospeda la instancia en Subnet-1. Asocia la instancia con los grupos SG-Servicio y SG-SSH.
g. Access la instancia usando SSH desde tu máquina de laboratorio.
i. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
h. Instala el servidor NGINX en esta instancia
i. https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
i. Coloca contenidos estáticos de tu elección -- páginas HTML, imágenes -- para ser servidas por
NGINX (en el puerto 80 a través de HTTP) y define URLs para ellos.
i. Consulta https://www.nginx.com/resources/admin-guide/serving-static-content/
j. Prueba la URL desde esa máquina misma.
k. Crea una imagen AMI a partir de esta instancia en ejecución.
i. Consulta https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Implementa esa nueva AMI y hospeda la instancia en Subnet-2. Asocia la instancia con los grupos SG-Servicio y SG-SSH.
m. Ejecuta el servidor NGINX y valida que la URL de acceso para el contenido estático creado en el paso (i) funcione.
n. Crea un nuevo "clásico" Balanceador de Carga Elástica y asócialo con SG-Internet.
i. Consulta https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html
ii. Observa la diferencia del Balanceador de Carga de Aplicación y el Balanceador de Carga de Red.
o. Crea 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 administración de certificados -- java keytool etc. -- crea una pareja de claves y un certificado autofirmado e importa el certificado al Administrador de Certificados de AWS (ACM)
i. Consulta https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
ii. Alternativamente, ACM mismo puede ser usado como autoridad de administración y firma de certificados y un nuevo certificado puede solicitarse a ACM. Pero en ese caso se necesita un nombre de dominio válido, los administradores correspondientes del dominio deben estar disponibles para validar la solicitud, y una entrada AWS Route53 debe crearse posteriormente para mapear sobre la IP del ELB. Estos son pasos más avanzados por lo que p.(i) es mejor recomendado.
q. Usa este certificado para la conexión TLS/SSL del ELB para apoyar https
i. Véase 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-de-contenido-estático>
s. Deberías ver el contenido estático en tu navegador.
t. Detén cada una de las instancias una por una y envía las URLs.
u. Detén ambas instancias y envía las URLs.
5. Monitoreo en la nube: Introducción y Proyecto práctico
a. Métricas de AWS CloudWatch
b. Go a la consola de AWS CloudWatch para las instancias
i. Recupera las métricas relevantes e explica su variabilidad con el tiempo
1.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
c. Go a la consola de AWS CloudWatch para el ELB
i. Observa las métricas del ELB y explica su variabilidad con el tiempo
1.https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html
6. Conceptos Avanzados para un Aprendizaje Adicional:
a. Nube Híbrida -- en el sitio y nube pública
b. Migración: En el sitio a la nube pública
i. Migración del código de aplicación
ii. Database migración
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 necesitan 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