Laboratorios gratuitos de AWS en re:Invent 2020

“Dale a los alumnos algo para hacer, no algo para aprender; y que el hacer sea de naturaleza tal que demande pensar; aprender será un resultado natural”

― John Dewey

Original: “Give the pupils something to do, not something to learn; and the doing is of such a nature as to demand thinking; learning naturally results.”

Como han encontrado varios psicólogos, John Dewey entre ellos, una de las mejores formas de aprender es haciendo uno mismo. Por ese motivo, en los trainings oficiales de AWS incluimos laboratorios prácticos, para reforzar la teoría que enseñamos y los conceptos que mostramos. Y ahora, como parte de este re:Invent 2020 virtual, AWS hizo disponibles para todos los asistentes 57 laboratorios prácticos gratuitos. Los mismos estarán disponibles hasta el 18 de diciembre, con un límite de 5 laboratorios por día por persona. En este artículo vamos a explorar en un poco de detalle algunos de ellos, como recomendación para que los hagan si tienen tiempo.


Para acceder debemos estar logueados en este sitio con nuestra cuenta de registro de re:Invent 2020, y el catálogo de laboratorios se encuentra en este link. Los laboratorios se dividen en los niveles Fundamental, Intermediate y Advanced, y también podemos filtrarlos según el servicio que cubren o la certificación para la cual son relevantes. En cada uno de ellos vamos a tener un conjunto de instrucciones para seguir paso a paso, y una cuenta sandbox en la cual ejecutar esas instrucciones. Ni las instrucciones, ni la cuenta, ni todos los cargos en los que incurramos como parte del laboratorio tienen costo alguno, así que es una excelente oportunidad para probar cosas nuevas en una cuenta gratuita. No podemos usarla libremente, estamos limitados a las acciones necesarias para el laboratorio, pero los laboratorios son lo suficientemente detallados y largos como para que aprendamos mucho sobre cada servicio.


Para que tengan alguna idea, el laboratorio de introducción a S3 incluye crear un bucket de S3, subir un objeto desde la consola y desde el CLI, conectarse desde una instancia EC2, crear una bucket policy y habilitar versionado. Así de completo se ve uno de nivel introductorio, pensado para ser completado en 90 minutos. La duración de los laboratorios va desde 40 minutos a 2 horas sólo para seguir las instrucciones. Algunos laboratorios tienen pre-requisitos como tener creada una VPC para crear una instancia de EC2, pero AWS se ocupa de esos pre-requisitos cuando provisiona la cuenta así que nosotros sólo tenemos que seguir las instrucciones detalladas.

Dentro del nivel Fundamentals, principalmente recomiendo elegir en base al servicio, de acuerdo a las dudas que tengan o lo que quieran aprender. En mi caso particular me gustaron mucho los siguientes laboratorios, aunque puede que sus intereses sean distintos:

  • Introduction to Identity and Access Management (IAM): Si sos nuevo en la nube o en AWS, o si nunca te molestaste en aprender formalmente y simplemente fuiste haciendo lo que pudiste, seguramente no estás manejando bien la seguridad de tu cuenta. IAM es el servicio que controla la identidad y el acceso a la cuenta de AWS, y es importante entenderlo para mejorar la seguridad de toda la cuenta. En pocas palabras, vas a aprender a reducir la probabilidad de que alguien te robe la cuenta y la use para minar bitcoins pagando las instancias con tu tarjeta de crédito.

  • Introduction to DynamoDB: Es un laboratorio corto (40m) que introduce muy bien a un servicio muy potente y fácil de usar, una base de datos no relacional excelente por donde se la mire.

  • Introduction to AWS Lambda: Si te interesa el paradigma serverless, este es el lugar por el cual empezar. Si ya tenés alguna idea (o cuando la tengas, luego de hacer este lab) te recomiendo los que siguen.

  • Serverless Architectures using Amazon CloudWatch Events and Scheduled Events with AWS Lambda: Este no es sobre cómo programar en serverless, sino cómo usar funciones Lambda para realizar acciones automáticas en respuesta a eventos detectados por CloudWatch. Básicamente, más devops que dev, pero muy interesante para entender otro uso de Lambdas.

  • Using AWS Lambda with Amazon CloudWatch and SNS to Implement a Slack Chat Bot: Otro uso más de Lambdas, un backend de un chatbot de Slack. Buena excusa para mostrarle a tus compañeros de trabajo lo que se puede hacer con serverless. Idea para chatbot: un bot que responda con una frase célebre al azar usada en la empresa (toda empresa tiene sus frases célebres).

  • Introduction to Amazon API Gateway: API Gateway es el servicio que usamos para exponer un endpoint HTTP(S) que dispara una función Lambda cada vez que recibe una request. Es un servicio interesante en sí mismo, y necesario para los próximos labs.

  • Serverless Web Apps using Amazon DynamoDB - Part 1, Part 2 y Part 3: A lo largo de estos 3 labs vamos a construir una aplicación completa, enteramente serverless, utilizando AWS Lambda, DynamoDB y API Gateway. Los anteriores son pre-requisitos (los conocimientos, no el lab en sí mismo), y estos son la verdadera intro al mundo serverless. ¡Bienvenidos!

  • Hosting WordPress Using Amazon S3: ¿Siempre quisiste tener tu propio blog serverless, pero no tenés ganas de tipear HTML y CSS? WordPress puede ser una solución, y en este lab vamos a aprender cómo transformar un sitio web en WordPress en un sitio web estático, y cómo servirlo desde un bucket de S3 por un precio mucho muy bajo. ¡A bloguear!

  • Introduction to Amazon EC2 Auto Scaling: Auto Scaling no es algo tan raro ni tan mágico. Este lab puede servir para desmitificarlo un poco. Y si no alcanza, siempre están mis videos de #hacelorapido

  • Working with Amazon Elastic Container Service: ECS es un orquestrador de containers mucho más simple que kubernetes, y muy bueno para la mayoría de las cargas de trabajo. Este lab es genial para agregar ECS como herramienta y empezar a utilizarlo para orquestrar containers.

En el nivel Intermediate todos me parecen interesantes por distintos motivos, pero quiero resaltar tres:

  • Automating AWS Services with Scripting and the AWS CLI: Otro lab más devops que dev, centrado en el CLI y el uso de scripting para automatizar el uso de los servicios de AWS. La automatización es algo importantísimo para cualquier entorno, y mucho más para producción, por eso les recomiendo al menos tener una idea sobre esto, y este laboratorio sirve como buena introducción.

  • Update Security Groups Automatically Using AWS Lambda: El caso de uso específico de este lab (mantener reglas de security groups actualizadas si cambian los endpoints de CloudFront o WAF) no me interesa tanto, pero sí me interesa mucho como ejemplo de problemas que podemos encontrar y cómo se pueden resolver de forma automatizada. Recomiendo mucho por lo menos leer las instrucciones, e idealmente hacerlo, pero principalmente pensarlo y entender qué se hace y por qué.

  • Centralized Log Processing with Amazon Elasticsearch Service: El título lo dice todo: manejo centralizado de logs con Elasticsearch. Suena a algo difícil, pero este lab sirve para demostrar que es bastante sencillo de implementar y muy útil para cualquier aplicación que produzca logs (o sea, todas)

Finalmente, en el nivel Advanced encontramos solamente dos laboratorios:

  • Launching and Managing a Web Application with AWS CloudFormation: CloudFormation en sí mismo no es tan difícil, pero sí es difícil hacer todo con CloudFormation. Sin embargo, mientras más maduramos en nuestro conocimiento de la nube más nos vamos dando cuenta que es el único camino que tiene sentido. Para ir empezando a entender esto, hagan este lab. Créanme, dentro de un tiempo me lo van a agradecer (o más bien a AWS, yo sólo los recomiendo).

  • Blue/Green Deployment Pattern with AWS Elastic Beanstalk: Elastic Beanstalk es uno de esos servicios que a veces no sabemos bien cómo usar. Es útil porque hace mucho trabajo por mí, pero ¿qué tan limitado resulta, y cuánto me conviene si yo sí sé hacer las cosas manualmente? En este laboratorio vamos a ver que no es tan limitado como parece, explorando una estrategia de despliegue blue/green que bien podríamos utilizar en nuestros entornos de producción.

Respecto a las certificaciones, los dejo con la recomendación de que si van a rendir una certificación hagan todos los laboratorios relacionados. Ningún conocimiento está de más, en especial a la hora de preparar una certificación de AWS.

Y con esa idea cerramos este artículo. El conocimiento no está de más, aunque hay que reconocer que nos cuesta tiempo y esfuerzo adquirirlo. Espero estos laboratorios les sirvan como un atajo para distintos conocimientos puntuales, como un punto de partida en AWS, o como un complemento para preparar una certificación. O por qué no las tres opciones al mismo tiempo. Mi consejo es hacerlos para entender y para aprender, pensando y razonando cada paso.


“No aprendemos de la experiencia… aprendemos de reflexionar sobre la experiencia.” ― John Dewey

Original: “We do not learn from experience... we learn from reflecting on experience.”

99 views0 comments