Lo más genial de tus videos es que no son "click click click click" en la consola. Eres de las pocas youtubers que realmente hace contenido para nosotros los desarrolladores aplicable 100%, mostrando código para definir la infraestructura y casos de uso diarios sin salir del entorno de trabajo. ¡Un video espectacular! Hubiera sido genial que lo hubieras testeado local con "sam local invoke", pero más que satisfecho.
que excelente curso introductorio, MUCHAS GRACIAS, eres genial y lo sabes! donde trabajo se empezó a trabajar con AWS y contigo encuentro mucha luz sobre que estoy haciendo y como puedo hacer mas cosas, MUCHAS GRACIAS!!!!🤩
Que grande es Charrua se ve lo lleva en la sangre. Me lo suponia por la terminacion de su link "uy". A lo largo de mi carrera he conocido muy buenas programadoras y developers pero nunca una tan capaz.Felicitaciones.
Muy buen contenido!!!, muchas gracias por compartir tu experiencia y conocimientos!!. Seria genial si pudieras hacer una guia de como usar sam de forma local con docker y localstack. Saludos desde Argentina!!
Excelente 👌 Marcia, muchas gracias por el aporte, me gustaría un video viendo más detalles sobre api gateway en el template.yml, que configuraciones se pueden hacer y demás.
Hola muchas gracias por tus videos en español. He aprendido mucho. Podrás hacer un video de como desplegar una aplicación de Vue en Lambda a traves de un repositorio?
Excelente tutorial Marcia, podrías hacer uno donde podamos ver cómo desarrollar con SAM varias funciones como la que muestras pero reutilizando código en varias funciones? Supongo que se usa Lambda Layers, pero me gustaría saber cómo lo haces tú. Soy totalmente nuevo en el mundo serverless.
Excelente Marcia, estaría bueno abordar el "como debuggear funciones Lambdas localmente" y configurar el template.yml para trabajar localmente, aunque puede que sea exactamente igual ja! Gracias y felicitaciones!
Yo estoy viendo el escentials de AWS para conocer los servicios, actualmente soy Front End Dev. Recomiendas este video para empezar a practicar con los servicios de AWS o recomiendas alguno anterior?? Saludos
Hola Marcia buen aporte, tengo una consulta, como se manejaría las variables de entorno con SAM, es decir como identificar en qué ambiente voy a deployar ya sea PRODUCCIÓN O DESARROLLO, desde ya gracias por la atención y por el apoyo.
podes usar variables de ambientes con system manager parameter store docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html y pasarle en el proceso de CICD el ambiente
@@marcia_ Gracias por la respuesta, estoy usando el comando parameter-overrides desde allí estoy enviando el valor para indicar en qué ambiente necesito deployar.
Excelente! Hacen falta videos con situaciones un poco mas reales, sobre todo con Serverless. Me queda la duda de si para este caso hay que especificar un permiso especifico a la Lambda para que el API Gateway la pueda convocar (Y si se hace por metodo). En Terraform es algo asi como lambda:InvokeFunction en el recurso resource "aws_lambda_permission". Gracias por tan excelente video!
@@marcia_ No se si eso me guste desde el punto de vista de aprendizaje , es decir con respecto a los permisos. Respecto a las situaciones lo que quise decir es que es una buena aproximacion para entender el contexto de lo que hay que hacer en una arquitectura serverless. No quise decir que esto no era un ejemplo real jejeje. Gracias por la respuesta!! Voy a revisar tus otros videos. Saludos y que tengas una excelente semana.
Hola muchas gracias por tus videos, nos podrias explicar como usar serverless y algun framework como express o nestjs, o si en el dia a dia se ocupa serverless sin ningun framework asi como lo haces en este video, gracias :) .
Es posible usar express pero ahi estarias usando lambda como un mini servidor Yo no es algo que haga, ya que me gusta más una arquitectura desacoplada. Pero es un buen paso intermedio en una migracion por ejemplo aws.amazon.com/blogs/aws/running-express-applications-on-aws-lambda-and-amazon-api-gateway/
Marcia me tira un error cuando estoy ejecutando el "sam deploy --guided" An error occurred (InvalidClientTokenId) when calling the CreateChangeSet operation: The security token included in the request is invalid.
@@claudioayma9906 si, asigna los permisos con IAM crea un perfil o rol que te autorice todo para empezar y luego guarda en el archivo de credenciales las claves correspondientes en tu compu C:\Users\NOMBRE_DE_USUARIO\.aws\credentials. Avisame si te funciona si no agregame por linkedin con este mismo nombre
Hola Marcia, antes que nada, gracias por tus videos. A mí me gusta Cloud9 así puedo tener escritorios a medida sin tener que usar mi PC, ¿vos qué usas?
ando investigando de que me conviene mas... que tan complicado es utilizar bases de datos relacionales con SAM, o seria mejor hacer el backend en node y deplegar con amplyfi o algo similar... es para una aplicacion web empresarial, gracias
podes usar aurora. Aurora tiene una data API que la hace tan facil como dynamo db para usar. Para crear la db de aurora vas a tener que usar cloudformation ya que no hay forma en SAM.
Te quería consultar sobre el tema de lambda con layers. Vi en la documentación oficial un ejemplo de lambda con layer, ambos definidos en el mismo template, por lo que al crear una nueva version del layer, se actualiza la lambda a esta última versión del mismo. El problema que tengo es que ese layer es de uso compartido entre varias lambdas (e incluso de diferentes proyectos), por lo que no lo consideraría adecuado definirla en el template de la lambda. Sacando del template de la lambda, es necesario el update manual de la versión del layer. Hay alguna estrategia para actualizar la versión del layer de forma automática ? Desde ya, gracias.
Para poder actualizar una layer tenes que desplegar nuevamente el project, podes actualizarlo con una funcion de entorno, pero al final siempre tenes que desplegar nuevamente la funcion para que estos cambios se apliquen.
es un framework parecido pero diferente. Las mayores diferencias de serverless framework no es de AWS, y funciona con otras clouds, tiene el sistema de plugins. SAM es de AWS y esta integrado en diferentes partes de la nube, por ejemplo con CDK, Cloud9 y otros lugares. El framework es mantenido por AWS y esta alineado a las mejores practica de desarrollo con aws.
Como mencionaban, SAM es exclusivamente de AWS, mientras que serverless framework permite otros clouds. Se puede agregar funcionalidades a serverless agregando plugins desarrollados por comunidad (o creando tus propios) como por ejemplo el plugin serverless-import-apigateway o serverless-latest-layer-version. Para el caso de SAM, no podés agregar plugins, pero podés transformar tu template original en otro, lo que se llaman Macros de cloudformation. En sí, SAM también es un macro, sólo que ya manejado por AWS (no tenés que deployearlo previamente, a diferencia de los que vos hagás). Fijate que al crear un template de SAM, al comienzo generalmente tenés la sección "Transform: AWS::Serverless-2016-10-31". Para el caso que vos quieras agregar otros macros, simplemente lo podés agregar a la lista de Transform (tiene que existir previamente el macro, que en sí es una lambda). Aclaro que por ahí SAM tiene algunas limitaciones, como respecto de usar un apigateway definido en otro template (en serverless solucionado con el primer plugin mencionado) pero un workaround puede ser usar cloudformation puro para esos casos en el mismo template.
Hola, gracias por la info tan util. Tengo una duda una pagina web puede durar mas de 15 min si usa lamda functions? o debe estar recargando la pagina cada 15 min y si el cliente tiene que volver autenticarse toca volver hacer tokens cada 15 min. ?
Buenas. No tengo mucha idea sobre autenticación pero por ahí te sirve este video: ruclips.net/video/lrIwPL6JpeI/видео.html La autenticación no la lleva a cabo la lambda, sino el api gateway.
Si tenes una pagina web que require un servidor ejecutando todo el tiempo (eg wordpress) lambda no es la solucion para eso necesitas otro tipo de servicio. Si tenes una website estatica (desarrollo más moderno de apps webs) podes tenerlas hosteadas en s3 + cloudfront (o amplify) y luego esa app tiene llamadas a endpoints que invocan lambdas. Para la autenticacion podes usar sistemas que creas tu, o que provee aws (cognito) o terceros (auth0) y el cliente no tiene que volver a autenticarse. Por ejemplo si usas api gateway authorizers hay un cache para la validez de los tokens que vos podes definir y los servicios gestionados tb tienen cosas asi
Hola, buen video, y muchas gracias por tus videos. Pregunta, tengo un hello world básico, cambio el texto, hago sam local invoke y no me muestra los nuevos cambios. Trato lo mismo con sam deploy y nada. No entrega error ni nada, pero no actualiza los cambios. Ahora hago sam build y ahí recién funciona. Pero vi que en tu video con un simple sam deploy funciona con tus cambios.
@@marcia_ Hola gracias por la respuesta, y por que es esa razon de no ocupar build? Y otra cosa, como lo haces con los require y node modules? Uno tiene que hacer npm install?
Lo más genial de tus videos es que no son "click click click click" en la consola. Eres de las pocas youtubers que realmente hace contenido para nosotros los desarrolladores aplicable 100%, mostrando código para definir la infraestructura y casos de uso diarios sin salir del entorno de trabajo. ¡Un video espectacular! Hubiera sido genial que lo hubieras testeado local con "sam local invoke", pero más que satisfecho.
que excelente curso introductorio, MUCHAS GRACIAS, eres genial y lo sabes! donde trabajo se empezó a trabajar con AWS y contigo encuentro mucha luz sobre que estoy haciendo y como puedo hacer mas cosas, MUCHAS GRACIAS!!!!🤩
La semana que viene se viene un workshop en vivo y en español de aws sam. Asiq unite y haces las preguntas
Excelente!!! La explicación es perfecta!! Y todo bien detallado para un excelente aprendizaje.
que sea uruguaya impresiona... que sea developer AWS, enamora. felicitaciones por el canal
gracias
@@marcia_ como podemos reemplazar el sam build por un build hecho con wepback
Que grande es Charrua se ve lo lleva en la sangre. Me lo suponia por la terminacion de su link "uy".
A lo largo de mi carrera he conocido muy buenas programadoras y developers pero nunca una tan capaz.Felicitaciones.
siempre aprendo algo nuevo, me gusto mucho la extension
Muchas felicidades Marcia, excelente contenido siempre en tus videos...
Gracias
Excelente Marcia. Muchas gracias por hacerlo todo fácil.
🌸qué bueno que te gusto
La amo, es una genia =)
gracias :D
tus videos son maravillosos! Gracias por publicarlos por acá!
Gracias 😊
Muchas gracias Marcia por el aporte.
Que bueno que te sirve
excelente video muchas gracias, sigue así.
Buen video, gracias
Muy buen contenido!!!, muchas gracias por compartir tu experiencia y conocimientos!!. Seria genial si pudieras hacer una guia de como usar sam de forma local con docker y localstack. Saludos desde Argentina!!
Gracias por el video!
Genial!
Excelente 👌 Marcia, muchas gracias por el aporte, me gustaría un video viendo más detalles sobre api gateway en el template.yml, que configuraciones se pueden hacer y demás.
anotado!
gracias Marcia, me suscribo
Hola muchas gracias por tus videos en español. He aprendido mucho. Podrás hacer un video de como desplegar una aplicación de Vue en Lambda a traves de un repositorio?
Estaría padre ver un tutorial de SAM con cognito...
Genial SAM, creo que prefiero serverless framework, pero voy a empezar a probar SAM en mis projectos. Gracias por el video saludos 👋
son parecidos pero no son iguales. lo importante no es cual uses pero que un framework de iac para tus aplicaciones serverless
@@marcia_ no entiendo, pueden complementarse? o sea puede tener un app o microservicio con SAM y serverless framework?
Excelente tutorial Marcia, podrías hacer uno donde podamos ver cómo desarrollar con SAM varias funciones como la que muestras pero reutilizando código en varias funciones? Supongo que se usa Lambda Layers, pero me gustaría saber cómo lo haces tú. Soy totalmente nuevo en el mundo serverless.
Me encantaría un curso o algo que pudiera aprender a usar DynamoDB con profundidad. Desde local como en una lambda.
Pregunta marce. Cual usar SAM o SERVERLESS. y por que cual es el mas actual. Las ventajas de cada uno de ellos
SAM es nativo de AWS. Serverless es un framework externo. Por ello, al que le veo mas futuro es a SAM
hay alguna herramienta que agiliza los test unitarios? Gracias Marcia! you're the best! 😀
Excelente Marcia, estaría bueno abordar el "como debuggear funciones Lambdas localmente" y configurar el template.yml para trabajar localmente, aunque puede que sea exactamente igual ja! Gracias y felicitaciones!
Anoto la idea de testear lambdas. Testear localmente es complicado y no es recomendable. Pero puedo mostrarles como testearlas
Que bueno escucharte en español te conoci en foobar
hola! bienvenido a este canal :D
Gracias por el tutorial. Me pregunto porque todos usan node/js 🤔
Yo lo uso porq es el lenguaje framework que mas experiencia tengo. Pero se puede hacer con otros lenguajes tb
Buenisimo video. Consulta: en que momento se crea API Gateway en el template, ahi me perdi ..
Mi respeto; ...el decoro y la superioridad (demostrada) que desean las feministas demostrar!
Gracias por la publicación.
Yo estoy viendo el escentials de AWS para conocer los servicios, actualmente soy Front End Dev. Recomiendas este video para empezar a practicar con los servicios de AWS o recomiendas alguno anterior?? Saludos
Este video es de un servicio de infra como código. Podes empezar por aca o esta playlist ruclips.net/p/PLQh2jfOGN_IiqfxRIUrf_sPiF6Iv441i-
Hola Marcia buen aporte, tengo una consulta, como se manejaría las variables de entorno con SAM, es decir como identificar en qué ambiente voy a deployar ya sea PRODUCCIÓN O DESARROLLO, desde ya gracias por la atención y por el apoyo.
podes usar variables de ambientes con system manager parameter store docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html
y pasarle en el proceso de CICD el ambiente
@@marcia_ Gracias por la respuesta, estoy usando el comando parameter-overrides desde allí estoy enviando el valor para indicar en qué ambiente necesito deployar.
Excelente! Hacen falta videos con situaciones un poco mas reales, sobre todo con Serverless. Me queda la duda de si para este caso hay que especificar un permiso especifico a la Lambda para que el API Gateway la pueda convocar (Y si se hace por metodo). En Terraform es algo asi como lambda:InvokeFunction en el recurso resource "aws_lambda_permission". Gracias por tan excelente video!
Las situaciones mas reales las podés escuchar en el podcast y en mi canal en inglés subo videos con casos mas complejos.
Aws sam se encarga de los permisos de algunas integraciones por vos
@@marcia_ No se si eso me guste desde el punto de vista de aprendizaje , es decir con respecto a los permisos. Respecto a las situaciones lo que quise decir es que es una buena aproximacion para entender el contexto de lo que hay que hacer en una arquitectura serverless. No quise decir que esto no era un ejemplo real jejeje. Gracias por la respuesta!! Voy a revisar tus otros videos. Saludos y que tengas una excelente semana.
Hola en que caso se debería usar aws sam o serverless ? O alguno es mejor que otro? 😮
Hola muchas gracias por tus videos, nos podrias explicar como usar serverless y algun framework como express o nestjs, o si en el dia a dia se ocupa serverless sin ningun framework asi como lo haces en este video, gracias :) .
Es posible usar express pero ahi estarias usando lambda como un mini servidor
Yo no es algo que haga, ya que me gusta más una arquitectura desacoplada. Pero es un buen paso intermedio en una migracion por ejemplo
aws.amazon.com/blogs/aws/running-express-applications-on-aws-lambda-and-amazon-api-gateway/
Me gusto mucho tu video, tengo una pregunta como puedo importar un modulo de terceros? ejemplo twilio?
desde el codigo con npm install twilio-sdk?
@@marcia_ pero como subo el node_modules? lo intente y me dijo que pesaba demasiado
Marcia me tira un error cuando estoy ejecutando el "sam deploy --guided"
An error occurred (InvalidClientTokenId) when calling the CreateChangeSet operation: The security token included in the request is invalid.
tengo el mismo problema, pudiste solucionarlo?
@@claudioayma9906 si, asigna los permisos con IAM crea un perfil o rol que te autorice todo para empezar y luego guarda en el archivo de credenciales las claves correspondientes en tu compu C:\Users\NOMBRE_DE_USUARIO\.aws\credentials.
Avisame si te funciona si no agregame por linkedin con este mismo nombre
Hola Marcia, antes que nada, gracias por tus videos. A mí me gusta Cloud9 así puedo tener escritorios a medida sin tener que usar mi PC, ¿vos qué usas?
cloud9 esta genial!
yo uso visual studio code local. Pero cloud9 puede configurase casi igual
Consulta SAM es similar a Serverless Framework como Cloudformation es a terraform?
ando investigando de que me conviene mas... que tan complicado es utilizar bases de datos relacionales con SAM, o seria mejor hacer el backend en node y deplegar con amplyfi o algo similar... es para una aplicacion web empresarial, gracias
podes usar aurora. Aurora tiene una data API que la hace tan facil como dynamo db para usar. Para crear la db de aurora vas a tener que usar cloudformation ya que no hay forma en SAM.
Te quería consultar sobre el tema de lambda con layers. Vi en la documentación oficial un ejemplo de lambda con layer, ambos definidos en el mismo template, por lo que al crear una nueva version del layer, se actualiza la lambda a esta última versión del mismo.
El problema que tengo es que ese layer es de uso compartido entre varias lambdas (e incluso de diferentes proyectos), por lo que no lo consideraría adecuado definirla en el template de la lambda. Sacando del template de la lambda, es necesario el update manual de la versión del layer.
Hay alguna estrategia para actualizar la versión del layer de forma automática ?
Desde ya, gracias.
Para poder actualizar una layer tenes que desplegar nuevamente el project, podes actualizarlo con una funcion de entorno, pero al final siempre tenes que desplegar nuevamente la funcion para que estos cambios se apliquen.
Hola gracias por tu contenido, que diferencia hay con serverless framework?
es un framework parecido pero diferente. Las mayores diferencias de serverless framework no es de AWS, y funciona con otras clouds, tiene el sistema de plugins. SAM es de AWS y esta integrado en diferentes partes de la nube, por ejemplo con CDK, Cloud9 y otros lugares. El framework es mantenido por AWS y esta alineado a las mejores practica de desarrollo con aws.
Según veo, no hay mucha diferencia, lo único es que SAM es de AWS y tiene actualizaciones de servicios más rápido que otro framework, creo...
Depende. En serverless framework a veces hay soporte antes ya que la comunidad puede desarrollar plug-ins. Pero no hay grandes diferencias.
@@marcia_ Gracias buen dato! solo se debe analizar cuando usar cada uno, ya que actualmente uso el framework! Gracias eres la mejor.
Como mencionaban, SAM es exclusivamente de AWS, mientras que serverless framework permite otros clouds. Se puede agregar funcionalidades a serverless agregando plugins desarrollados por comunidad (o creando tus propios) como por ejemplo el plugin serverless-import-apigateway o serverless-latest-layer-version.
Para el caso de SAM, no podés agregar plugins, pero podés transformar tu template original en otro, lo que se llaman Macros de cloudformation. En sí, SAM también es un macro, sólo que ya manejado por AWS (no tenés que deployearlo previamente, a diferencia de los que vos hagás). Fijate que al crear un template de SAM, al comienzo generalmente tenés la sección "Transform: AWS::Serverless-2016-10-31". Para el caso que vos quieras agregar otros macros, simplemente lo podés agregar a la lista de Transform (tiene que existir previamente el macro, que en sí es una lambda).
Aclaro que por ahí SAM tiene algunas limitaciones, como respecto de usar un apigateway definido en otro template (en serverless solucionado con el primer plugin mencionado) pero un workaround puede ser usar cloudformation puro para esos casos en el mismo template.
Es posible acceder a la presentación ?
Hola, gracias por la info tan util. Tengo una duda una pagina web puede durar mas de 15 min si usa lamda functions? o debe estar recargando la pagina cada 15 min y si el cliente tiene que volver autenticarse toca volver hacer tokens cada 15 min. ?
Buenas. No tengo mucha idea sobre autenticación pero por ahí te sirve este video: ruclips.net/video/lrIwPL6JpeI/видео.html
La autenticación no la lleva a cabo la lambda, sino el api gateway.
Si tenes una pagina web que require un servidor ejecutando todo el tiempo (eg wordpress) lambda no es la solucion para eso necesitas otro tipo de servicio. Si tenes una website estatica (desarrollo más moderno de apps webs) podes tenerlas hosteadas en s3 + cloudfront (o amplify) y luego esa app tiene llamadas a endpoints que invocan lambdas.
Para la autenticacion podes usar sistemas que creas tu, o que provee aws (cognito) o terceros (auth0) y el cliente no tiene que volver a autenticarse. Por ejemplo si usas api gateway authorizers hay un cache para la validez de los tokens que vos podes definir y los servicios gestionados tb tienen cosas asi
Hola, buen video, y muchas gracias por tus videos. Pregunta, tengo un hello world básico, cambio el texto, hago sam local invoke y no me muestra los nuevos cambios. Trato lo mismo con sam deploy y nada. No entrega error ni nada, pero no actualiza los cambios. Ahora hago sam build y ahí recién funciona. Pero vi que en tu video con un simple sam deploy funciona con tus cambios.
si estas usando node, nunca tenes que hacer sam build. pero si lo hicste una vez de ahi en adelante lo tenes q hacer.
@@marcia_ Hola gracias por la respuesta, y por que es esa razon de no ocupar build? Y otra cosa, como lo haces con los require y node modules? Uno tiene que hacer npm install?
¿Como hago update del código fuente? quiero agregar nuevas funcionalidades pero no se como actualizar el código con sam-cli
haces los cambios en el codigo y luego le das a sam deploy en la CLI y listo. SAM te pone los cambios en el codigo con ese comando