Introducción al cómputo en la nube

1

¿Qué es el cómputo en la nube?

2

¿Cómo puedo empezar a usar AWS?

3

Introducción a la oferta de servicios de AWS y sus aplicaciones

Introducción a la oferta de AWS y sus interacciones

4

Ejemplo de arquitectura con Elastic Beanstalk

5

¿Qué es Amazon EC2?

6

Creando una instancia de EC2

7

Conectándonos a nuestra instancia desde Windows

8

Conectándonos a nuestra instancia desde Linux

9

Conectándonos a nuestra instancia desde OSX

10

Subiendo un proyecto: Clonando un repositorio de GitHub a nuestra Instancia de EC2

11

Subiendo un proyecto a nuestra instancia de EC2: Ejecutar nuestro proyecto

12

¿Qué es Lambda y Serverless?

13

Creando una función Lambda

Elastic Beanstalk

14

Conociendo Elastic Beanstalk

15

Creando un ambiente en Elastic Beanstalk

16

Almacenamiento - S3

17

Almacenamiento con S3: Contenido Estatico

18

Almacenamiento con Glacier: Contenido duradero

Bases de Datos

19

Bases de Datos - RDS Aurora PG

20

Conociendo RDS PG

21

Creando una base de datos Platzi DB

22

Haciendo una migración a RDS PG

23

Conociendo Aurora PG (Postgres)

24

Haciendo una migración a Aurora DB

25

Mejores prácticas de Bases de Datos y RDS

Redes

26

Redes - Route53

Herramientas de administración

27

Herramientas de administración - IAM

28

Utilizando IAM

29

CloudWatch

30

CloudTrail

Seguridad

31

Certificate manager

32

GuardDuty

Bonus

33

AWS Rekognition

34

Creando nuestro servicio de Postgres

35

Accediendo a nuestra base de datos Postgres

Cierre del curso

36

Conclusiones del curso de Fundamentos de AWS Cloud

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de AWS Cloud

Curso Práctico de AWS Cloud

Mauro Parra Miranda

Mauro Parra Miranda

Creando una función Lambda

13/36
Recursos

Aportes 66

Preguntas 35

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hola amigos, para quienes estén viendo este viseo recientemente y han notado que el entorno donde configuramos nuestro lamba en AWS ha cambiado con respecto al entorno que el tutor tiene, les comparto esto que les facilitara un poco la configuración.

  1. Configuración de las variables de entorno.
  2. Configuración de etiquetas.
  3. Dar un test o probar en código. (Antes de dar test, darle clic al botón color naranja que dice DEPLOY)

Me parece que hace falta aclarar por parte del tutor el porqué de estas funciones básicamente, y en qué ejemplos de la vida real deberían usarse y cuáles no. Para mi un ejemplo completo sería algo donde involucres costos, y el porqué sería mejor tener una API en contenedores y no en Lambda Functions, y viceversa, cuándo es que realmente se le saca provecho. Para mí queda muy confuso al momento de decidir si me voy por containers o Lambda Functions. Si alguien quiere brindar un ejemplo, bienvenido sea, me sería de mucha utilidad.

No había creado un rol por lo que seleccioné “Creación de un nuevo rol con permisos básicos de Lambda” y funcionó perfecto.

AWS: AWS Lambda
Microsoft Azure: Azure Functions
Google Cloud: Cloud Functions

Si alguno esta realizándolo recientemente, les recomiendo desde la parte de configuración del código de la función, darle en ‘deploy’ ya con esto nos permitirá darle en probar (test) y nos aparecerán los logs de que la ejecución fue exitosa (a pesar que en el diagrama no estés enviando a la Lambda a Amazon CloudWatch Logs)

El principal reto de las arquitecturas serverless es en diseñar las soluciones de una manera mas atómica y descentralizada, la combinación de AWS Lambda y AWS Stepfunctions te permite modelar los procesos de negocio como realmente son, pequeñas unidades de trabajo que realizan una única tarea y la hacen bien, y que combinadas completan un trabajo mas grande.

Al crear la función se escogió un role existente (service-role/text-platzi) pero quede perdido en que momento se creo dicho role

Si te sale algo como
{
“statusCode”: 200,
“body”: ““Hello from Lambda!””
}
Lo que debes de hacer es:
Paso1: darle clic en Implementar(deploy)
Paso2: darle clic en Probar

Listo

Hola, cuando ejecuto el test event, me dice
"Hello from Lambda" ¿Alguien más?

Gracias, muy didactico. Quisiera tener un ejemplo cotidiano para su uso. alguien tiene uno?

Antes de correr el Test debes darle deploy y las variables de entorno y las Tags están en el apartado de configuración.

Me perdí, ¿En que momento creamos el Rol? porque me aparece solamente
"Crear un rol a partir de una plantilla" o
"Crear un rol personalizado"

???
=(

Que no hay cursos actualizados? todos estos cursos son de 3 o 4 años de antiguedad, Actualicen los contenidos

Si despliego un API REst con LAMBDA, para ejecutarla desde otra aplicación, como haría con el tema de la seguridad? Para ejecutar un lambda por ejemplo con JWT ? Debo implementar la seguridad en el mismo lambda ?

Gracias.

Es algo difícil seguir este curso, esta clase ha sido muy confusa, algunas razones como:

  1. La interfaz ya no es la misma
  2. No habíamos creado un rol y el profesor ya lo tenía, así que no sabía que hacer ni como crear uno.
  3. Siento que el profesor va muy rápido y no da tiempo de que uno pueda visualizar la configuración. Hay que estar pausando para pausar en el momento justo donde se vea la configuración completa.
  4. El profesor solo dije, ponemos esto, esto y esto sin explicar el porque de eso.

DEsafotrunadamente es el problema de estos cursos que son algo viejos y el entorno de AWS ha cambiado desde entonces y seguir la linea de los cursos en cuanto a los laboratorios es dificl ya que se tiene que verificar donde seleccional las opciones para que el laboratorio sea exitoso y no frustrante como lo veo ahora.

Que plantillas debería elegir para crear el rol?.
En que momento se creo el rol?

En que casos se puede hacer uso de Lambda?
Ya que una funcion que se ejecuta alli la podria ejecutar en un servidor donde tengo una aplicacion, pero quisiera saber cual es el pro de usar Lambda, quiza su uso depende de la cantidad de peticiones que requiera la funcion, costo de cada peticion, etc

Antes de probar la función lambda ubícate en el IDE y dale click a la opción de deploy para que lambda tome tu función nueva y no la que estaba por defecto.

Como sería se escribí un algoritmo de ML en Jupyter Notebook, pero en este incluyo gráficas. Podría ejecutarlo en lambda quitandole las gráficas si solo quiero la predicción?

una consulta desde java se podría utilizar este tipo de funciones en aws y que tan complejo es la utilización de las mismas?

Hola, como podria hacer una funcion donde liste las instancias unicamente por nombre.

import boto3
import json
import pprint

region = "us-east-1"
ec2 = boto3.client(‘ec2’, region_name=region)

def lambda_handler(event,context):

response = ec2.describe_instances(
    Filters = [
        {'Name': 'instance-state-name', 'Values':['*']}
        ])
print(response)

En las nuevas versiones de la pagina de lambda de AWS el botón saved no viene y si das click en el botón de test no te toma tu último código asi le des saved desde el editor de código, tienes que darle deploy para que lo tome como el código mas reciente

import os


def lambda_handler(event, context):
    what_to_print = os.environ.get("what_to_print")
    how_many_times = int(os.environ.get("how_many_times"))

    # make sure what_to_print and how_many_times values exist
    if what_to_print and how_many_times > 0:
        for i in range(0, how_many_times):
            # formatted string literals are new in Python 3.6
            print(f"what_to_print: {what_to_print}.")
        return what_to_print
    return None

Ya no contamos con 1000 ejecuciones concurrentes, ahora por el contrario solo son 10

START RequestId: f164146e-d6ba-40a1-b0ad-ddf7648e994f Version: $LATEST
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
END RequestId: f164146e-d6ba-40a1-b0ad-ddf7648e994f
REPORT RequestId: f164146e-d6ba-40a1-b0ad-ddf7648e994f Duration: 0.29 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 42 MB Init Duration: 1.00 ms

Es viable usar lambdas para integración entre diferentes sistemas ?

Exponer un servicio web con seguridad, transformar el mensaje y consumir otro para la entrega el resultado?

Esto es como Docker?

Tengo la duda de, si ya tengo una lambda function en producción, cómo puedo crear un ambiente de desarrollo para hacer modificaciones a la lambda que ya está en producción? Cómo lo han trabajado?

Como comunico mi funcion lambda con mi backend?

Puedo hacer una Función lambda para que traiga datos de un Api y la guarde en una base de datos que esta en un servicios RDS ?,

En qué parte de los videos crea el rol? Creo que me perdí…

muy bien

si quisiera capturar tweets desde una función lambda podría? hay mejores formas de hacerlo desde aws?. gracias

No tiene autorización para realizar: iam:CreatePolicy.

Prueba realizada!

Request ID:
“345fade8-0c36-43fc-85b0-76c1f14d2e23”

Function Logs:
START RequestId: 345fade8-0c36-43fc-85b0-76c1f14d2e23 Version: $LATEST
what_to_print: Hola Edisson AWS.
what_to_print: Hola Edisson AWS.
what_to_print: Hola Edisson AWS.
what_to_print: Hola Edisson AWS.
what_to_print: Hola Edisson AWS.
what_to_print: Hola Edisson AWS.
END RequestId: 345fade8-0c36-43fc-85b0-76c1f14d2e23
REPORT RequestId: 345fade8-0c36-43fc-85b0-76c1f14d2e23 Duration: 0.30 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 42 MB Init Duration: 1.17 ms

Excelente curso, una pregunta saben como tener una lambda disponible, es decir no esperar hasta que la llamemos si no que este en un estado “precalentado”?? gracias

En caso que mi Lambda necesite otras dependencias… estas se pueden incluir ?? o debo usar otro tipo de servicio aws ?

Esto podria funcionar para la prueba de codigos de apps o paginas y que te diga la informacion de tiempo y ram ¿no?

Super! 😃 prueba realizada

Genial!

START RequestId: c455518b-33b8-4211-8259-eaa9bcbd9ee1 Version: $LATEST
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
what_to_print: Hola desde Platzi.
END RequestId: c455518b-33b8-4211-8259-eaa9bcbd9ee1
REPORT RequestId: c455518b-33b8-4211-8259-eaa9bcbd9ee1 Duration: 0.35 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 42 MB Init Duration: 1.02 ms

Tienes que pulsar el boton “Deploy” antes de realizar el Test

Excelente, ejecutado!

Debene pulsar el botón ‘Deploy’ o desplegar, para actualizar sus cambios en el código de la lambda, también para las configuraciones de variables de entorno, memoria, concurrencia, etc, lo encontrarán en el Tab ‘Configuration’ / ‘Configuraciones’ que se muestra en la parte superior de la ventana, esto a la fecha de julio 2021.

(posiblemente siga cambiando la interfaz gráfica, es cuestión de buscar las configuraciones que van nombrando en las clases, muy posible que no las encuentren en el mismo lugar del video del curso)

Estoy un poco confundido.

Las funciones Lambdas se utilizarían para manipular eventos y acciones de configuración para el servidor? O tambien podemos crear múltiples funciones Lambdas que funcionen como un servicio dentro de un API?

Hay una nueva opción que dice “Plantillas de política” y aparecen varias opciones, para el ejemplo que estamos haciendo estoy eligiendo “permisos de microservicios sencillos”, espero funcione.

Integración con lambda y dynamo.

Que tan buena práctica es el uso lambda para la ejecución de python como pipeline para la transformación de archivos dentro una arquitectura de data lake (para analitica)?
pd: toda la infraestructura se basa en s3, se definen múltiples simulando las diferentes etapas de transformación de los datos raw.

Wow.!! Por fin de veo valor a esta funcionalidad.! Se puede decir que para este es un tool mas para los DevOps.

Sería correcto aplicar una función lambda a un archivo de Python para ingestión de datos a una API que se conecta a una db de Mongo?

Actualmente en en la pestaña “Configuración” se encuentran las opciones de Variables de Entorno y Etiquetas entre otras opciones que menciona el tutor:

seria genial si actualizaran este curso, ya que veo que cambiaron algunas cosas.

RECIENTEMENTE dice el comentario en el que actualizan la consola de AWS, un comentario que tiene 3 años, vergüenza .

Puedo usar cualquier librería? Ejemplo pyspark o tesseract en una lambda?

Actualmente para ver la ejecución de nuestra función debemos dar clic en el botón “Deploy” y posteriormente en Test.

Gracias!

Mi experiencia: la primera vez del Test, demoró como 8 segundos en mostrar error “Calling the invoke API action failed with this message: Network Error”.
La segunda vez demoró como 5 segundos en mostrar el mismo error.
A la tercera vez ejecutó con éxito, y cada vez en menos tiempo.

Muy buen curso.

Espero poder entender este tema mas adelante, soy nuevo en AWS y no veo la funcionalidad de esto, depronto enfrentando un ejemplo de la vida real le sea mas claro a uno, seguimos 💪

Mar-2021 chequen que al guardar un cambio en el codigo tienen que dar clic en Deploy

Mi output fue el siguiente:

START RequestId: b7b49511-2aa3-44bd-a609-8f25025c58db Version: $LATEST
END RequestId: b7b49511-2aa3-44bd-a609-8f25025c58db
REPORT RequestId: b7b49511-2aa3-44bd-a609-8f25025c58db Duration: 0.29 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 43 MB

No ejecuto el codigo. que pudo fallar?

He visto por muchas partes scratch. Lo consulto en el traductor de google y significa rasguño. Mi pregunta es,
¿Qué significa una función from scratch?. Gracias!!!

Interesante, estas funciones podrían conectarse a una base de datos remota y retornar la data necesaria! Me gusta la idea de usarla con NodeJS, aunque me duele que no esté PHP ahí jaja

Para que sirve event y context?

En mi trabajo tuve que crear una función lambda que invoque por código una tarea, que levante un cluster asociado con un docker container.

Además tuve que guardar logs en una base de datos SQL, por lo que tuve que añadir un layer específico para incorporar la librería pyodbc.