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

Creando una funci贸n Lambda

13/36
Recursos

Aportes 81

Preguntas 35

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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茅 鈥淐reaci贸n de un nuevo rol con permisos b谩sicos de Lambda鈥 y funcion贸 perfecto.

el enlace anterior que hace uso en este video
https://github.com/mauropm/aws-platzi-python

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 鈥榙eploy鈥 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

Funciones Lambda (AWS): 驴Qu茅 son y como funciona esta tecnolog铆a?
.

Si te sale algo como
{
鈥渟tatusCode鈥: 200,
鈥渂ody鈥: 鈥溾淗ello from Lambda!鈥濃
}
Lo que debes de hacer es:
Paso1: darle clic en Implementar(deploy)
Paso2: darle clic en Probar

Listo

Creada la funcion.

Pagina de GitHub donde esta el codigo de la funcion.

https://github.com/mauropm/aws-platzi-python/blob/master/funcion_lambda.py

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

Para que no tengan que devolverse por el enlace a otra clase o por si no lo tieneen a la mano, este es el repositorio:

https://github.com/mauropm/aws-platzi-python

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

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"

???
=(

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

Como expongo una lambda al mundo?

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.

Creo que esta clase le fato explicar mejor en que casos se usa lambda, para que funcionan y como se implementa en un proyecto real, encontr茅 un video en youtube que la explica mucho mejo.
https://www.youtube.com/watch?v=oCE8LlcHtbw

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.

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.

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.

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

Serverless es el presente y el futuro les recomiendo much铆simo estos 2 frameworks para crear tus aplicaciones 100% serverless
Servlerss Framework: (https://www.serverless.com/) el mas usado, la configuracion del proyecto lo haces en un archivo yml (buaaajj odio los yml) y lo puedes usar para varios proveedores de servicios en la nube (yo solo lo he usado en aws)
Servless Stack Framework: (https://docs.serverless-stack.com/) es relativamente nuevo pero ha recibido mucha inversi贸n por su alto potencial, es mi preferido usa la versi贸n 3 del sdk de amazon que es mas engorrosa pero tiene mejor performance

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

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?

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

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?

Integraci贸n de lambda con otros servicios, algunos triggers, para lambda etc鈥

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(鈥榚c2鈥, region_name=region)

def lambda_handler(event,context):

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

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

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

aqu铆 est谩 dejar茅 otra explicaci贸n de la clase: https://www.youtube.com/watch?v=oCE8LlcHtbw&ab_channel=Rub茅nCarvajal

Para los que est茅n trantando de encontrar las environment variables: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html

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

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

Actualmente para ver la ejecuci贸n de nuestra funci贸n debemos dar clic en el bot贸n 鈥淒eploy鈥 y posteriormente en Test.

Debene pulsar el bot贸n 鈥楧eploy鈥 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 鈥楥onfiguration鈥 / 鈥楥onfiguraciones鈥 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)

Tienes que pulsar el boton 鈥淒eploy鈥 antes de realizar el Test

Este video es muy recomendado por si alguien no entendi贸 o no te quedo claro, muy recomendado: https://www.youtube.com/watch?v=oCE8LlcHtbw

Excelente, ejecutado!

Si les qued贸 gustando los videos de AWS ac谩 comparto uno de Lambda https://youtu.be/eOBq__h4OJ4

Actualmente en en la pesta帽a 鈥淐onfiguraci贸n鈥 se encuentran las opciones de Variables de Entorno y Etiquetas entre otras opciones que menciona el tutor:

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

Genial!

Hay una nueva opci贸n que dice 鈥淧lantillas de pol铆tica鈥 y aparecen varias opciones, para el ejemplo que estamos haciendo estoy eligiendo 鈥減ermisos de microservicios sencillos鈥, espero funcione.

muy bien

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?

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

Como comunico mi funcion lambda con mi backend?

Integraci贸n con lambda y dynamo.

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?

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?

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

Un ejemplo de lambda

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

Por si desean aclarar mejor en que casos se puede utilizar Lambda:
https://docs.aws.amazon.com/lambda/latest/dg/applications-usecases.html

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 鈥減recalentado鈥?? gracias

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.

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

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?

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

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 ?,

Super! 馃槂 prueba realizada

Esto es como Docker?

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

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

En qu茅 parte de los videos crea el rol? Creo que me perd铆鈥

Gracias!

Les comparto este video en el que explican como exponer una funci贸n Lambda como servicio REST mediante API Gateway de AWS.

Los invito a revisar este proyecto en AWS llamado Desarrolle una aplicaci贸n web sin servidor.

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

Mi experiencia: la primera vez del Test, demor贸 como 8 segundos en mostrar error 鈥淐alling 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.

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.

Para que sirve event y context?

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

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

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!!!

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 馃挭

Muy buen curso.

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?