Problema, Solución, Herramienta

3 proyectos Python para empezar con Serverless

2019-06-13 - 2 minutos

Portada de la grabación de la charla

El meetup de Python Madrid me invitó a dar una charla sobre Python y cómo empezar a utilizar Serverless.

En este artículo puedes ver la grabación de la charla y las transparencias.

Contenidos de la charla

La charla comienza introduciendo qué es Serverless.

Pasamos al bloque principal que propone tres proyectos o acercamientos sencillos para empezar a utilizar Python.

  1. Refinar scripts de mantenimiento.
    Con el fin de proteger los scripts de mantenimiento y controlar su ejecución se plantea cómo migrarlos dentro de una AWS Lambda.
  2. Migrar un crontab o un Celery Beat a CloudWatch Events.
    Tener un ejecutor de tareas periódicas es operacionalmente complejo. Solamente podemos tener uno en ejecución. En este proyecto planteamos cómo delegar esa responsabilidad a CloudWatch Events.
  3. Propocionar un interfaz HTTP a pequeños servicios.
    Es habitual desarrollar pequeños fragmentos de código que requieren ser ejecutados con llamadas HTTP / REST. Llevar estos servicios a producción suele ser más trabajoso que el propio desarrollo. Por ello planteamos cómo moverlos a Serverless.
  4. FaaS como pegamento entre eventos.
    El planteamiento de orientación a eventos de las arquitecturas Serverless nos permiten utilizar Lambda (u otra solución FaaS) para poder incluir el código exclusívamente necesario para poder encadenarlos. Este es el ejemplo más clásico.

Cada escenario presenta una herramienta relacionada con Serverless y incluye mis comentarios personales.

Vídeo

Transparencias

Referencias

  1. Tendencia de Serverless https://trends.google.com/trends/explore?date=2014-01-01%202017-08-27&q=serverless
  2. Serverless Computing and Applications https://aws.amazon.com/serverless/
  3. Serverless beyond Functions https://medium.com/cloud-academy-inc/serverless-beyond-functions-cd81ee4c6b8d
  4. Serverless Framework https://serverless.com
  5. AWS Serverless Application Model (AWS SAM) prescribes rules for expressing Serverless applications on AWS. https://github.com/awslabs/serverless-application-model
  6. Python Serverless Microframework for AWS https://github.com/aws/chalice
  7. Serverless Image resizing (AWS Lambda and AWS s3) http://blog.kaliloudiaby.com/index.php/serverless-image-resizing-aws-lambda-and-aws-s3/