Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
2 Hrs
34 Min
49 Seg
Curso de  Serverless Framework en AWS

Curso de Serverless Framework en AWS

Amazon Web Services (AWS)

Amazon Web Services (AWS)

Bienvenida al curso de Serverless Framework

1/25
Resources
Transcript

What is Serverless Framework and how can it benefit your projects?

Serverless Framework is a powerful development and deployment tool that revolutionizes the way we build applications in the cloud. By facilitating the elimination of traditional infrastructure management, it allows developers to focus on writing code and enhancing the functionality of their applications. When combined with Amazon Web Services (AWS), you get a scalable and efficient solution that streamlines the development process. Moreover, thanks to the elimination of fixed servers, you achieve a more effective and adaptive use of resources, which translates into lower costs and better use of the cloud environment.

What are the pillars of the serverless ecosystem on AWS?

AWS offers a complete set of services that complement the serverless paradigm. Here are some of the key pieces to configure your environment:

  • AWS Lambda: Execute your code in response to events without the need to provision or manage servers.
  • API Gateway: Makes it easy to create, publish, maintain, monitor and protect APIs at any scale.
  • AWS DynamoDB: A fast and flexible NoSQL database service suitable for serverless applications.

This ecosystem allows developers to innovate and scale their applications without worrying about maintaining the underlying servers. Furthermore, knowing and mastering these tools is essential for any Cloud Developer looking to excel in the world of cloud computing.

How does this course help improve your skills as a Cloud Developer?

This course is designed to take your skills to the next level. Not only will you learn how to use the Serverless Framework to develop applications, but you will also discover how to automate and optimize your development processes. In addition, you will acquire practical knowledge that includes:

  • Building CRUD applications that you can add to your portfolio.
  • Advanced implementations that go beyond basic development, incorporating automations and enhancements.
  • Essential tips on how to integrate other serverless technologies, such as Docker and Kubernetes, increasing your versatility as a Cloud Engineer.

What can you expect at the end of the course?

At the end of the course, you will be prepared to demonstrate a range of capabilities that not only encompasses the creation of serverless applications, but also their management and optimization. The skills acquired will enable you to offer complete solutions to complex problems in the cloud, elevating your career opportunities and differentiating you in the technology industry.

Therefore, this course is not just an introduction to Serverless, but a step towards becoming an AWS expert, ready to implement significant improvements in your projects. Dare to explore the future of cloud development and take your skills to new horizons!

Contributions 9

Questions 2

Sort by:

Want to see more contributions, questions and answers from the community?

Un excelente curso para complementar los conocimientos de la ruta de backend con python.
Python + AWS = 🔥

Vamos con toda por este curso!

en el trabajo me están dando palo por no saber Serverless
lo usamos con Python y Node.js

empezando el curso con la mejor actitud, expectativas altas!!

Les comparto el link de lo que realice en este curso: <https://github.com/celioso/Cursos-de-Platzi/tree/main/CursodeServerlessFrameworkenAWS/proyectodelcurso/crud-serverless-course> está realizado a la fecha 10 de abril del 2025, ya que algunas cosas cambiaron como la conexión a dinamo, cuando escribo esto lo sé implementar en AWS, pero para local con Dynamodb-local no, cuando pueda solucionar esto lo actualizo en el repositorio y suerte con el curso.
El **Serverless Framework** es una herramienta de desarrollo open-source que facilita la creación, despliegue y administración de aplicaciones **serverless** en plataformas como **AWS Lambda**, **Azure Functions**, **Google Cloud Functions**, entre otras. ## 🚀 ¿Qué es el Serverless Framework? Es un **framework de infraestructura como código (IaC)** que te permite: * Crear funciones Lambda y recursos de infraestructura desde un archivo de configuración (`serverless.yml`) * Desplegar tu aplicación con un solo comando (`sls deploy`) * Integrarte fácilmente con servicios como API Gateway, DynamoDB, S3, etc. * Gestionar múltiples entornos (dev, test, prod) * Monitorear y depurar tus funciones en la nube ## 🧱 Arquitectura típica Una app usando Serverless Framework puede incluir: * **Funciones Lambda** para lógica de negocio * **API Gateway** para exponer endpoints HTTP * **DynamoDB** o RDS como base de datos * **S3** para almacenamiento de archivos * **IAM Roles** configurados automáticamente ## 📁 Ejemplo básico (`serverless.yml` con AWS) service: mi-api-serverless provider: name: aws runtime: nodejs18.x region: us-east-1 functions: hola: handler: handler.hola events: \- http: path: hola method: get // handler.js module.exports.hola = async (event) => { return { statusCode: 200, body: JSON.stringify({ mensaje: "¡Hola mundo serverless!" }), }; }; ## ✅ Ventajas * ⚡ **Despliegue rápido** * 🧩 Soporte para múltiples cloud providers * 🔧 Reutilizable y modular * 📊 Integración con monitoreo y métricas * 🔒 Buen manejo de seguridad y permisos vía IAM ## 📦 Instalación npm install -g serverless ## 🧪 Comandos útiles ComandoDescripción`sls create --template aws-nodejs`Crea un nuevo proyecto`sls deploy`Despliega la aplicación`sls invoke -f hola`Ejecuta una función`sls logs -f hola`Muestra logs de la función`sls remove`Elimina los recursos desplegados
Me gusta mucho el formato de los dos profes interactuando haciendo se preguntas etc.

IMPORTANTE: usar archivo .env para el arn de la tabla.
En el provider el Resource debe ser de esta manera:

Resource: arn:aws:dynamodb:us-east-1:${env:ID_CUENTA}:table/usersTable

Así no expones tu id de usuario para que esto sea valido debes añadir al YML useDotenv: true para que lea el archivo .env con el ID.
Quedando así (al final del curso):

service: crud-serverless-users

useDotenv: true

provider:
  name: aws
  runtime: nodejs14.x
  iam:
    role:
      statements:
        - Effect: Allow
          Action: "dynamodb:*"
          Resource: arn:aws:dynamodb:us-east-1:${env:ID_CUENTA}:table/usersTable

plugins:
  - serverless-offline
  - serverless-dynamodb

custom:
  dynamodb:
    # If you only want to use DynamoDB Local in some stages, declare them here
    stages:
      - dev
    start:
      port: 8000
      inMemory: true
      migrate: true
    # Uncomment only if you already have a DynamoDB running locally
    # noStart: true

resources:
  Resources:
    usersTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: usersTable
        AttributeDefinitions:
          - AttributeName: pk
            AttributeType: S
        KeySchema:
          - AttributeName: pk
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1

package:
  individually: true
  patterns:
    - "!*/**"

functions:
  get-users:
    handler: getUsers/handler.getUsers
    package:
      patterns:
        - "getUsers/handler.js"
    events:
      - http:
          path: users/{id}
          method: GET
  create-users:
    handler: createUsers/handler.createUsers
    package:
      patterns:
        - "createUsers/handler.js"
    events:
      - http:
          path: users
          method: POST
  update-users:
    handler: updateUsers/handler.updateUsers
    package:
      patterns:
        - "updateUsers/handler.js"
    events:
      - http:
          path: users/{id}
          method: PATCH
  delete-users:
    handler: deleteUsers/handler.deleteUsers
    package:
      patterns:
        - "deleteUsers/handler.py"
    runtime: python3.8
    events:
      - http:
          path: users/{id}
          method: DELETE