Serverless meets CI/CD

sanketplus


Description:

<h3>Description</h3> In the session we will introduce what is CI/CD and serverless. AWS Lambda and API Gateway will be used as Serverless platform and Bitbucket Pipelines for CI/CD. Starting with making a Hello World Flask app the session would build a pipeline that would deploy the app on AWS Lambda and make it available as an API with just a commit in git repo.

*Outline *

  1. Introduce Serverless [10min]
    • and look at benefits and caveats while considering it.
  2. Introduce CI/CD [10min]
    • why does it make sense to incorporate such practices.
  3. Setup [30min]
    • intro to Flask and build a Hello World app. Also setup AWS account.
  4. Going Serverless [20min]
    • using zappa library to deploy our app with a single command to AWS Lambda
  5. Enable CI/CD [20min]
    • using BitBucket Pipelines, enable automatic deployments whenever a commit is pushed.
  6. Test the end-to-end flow [10min]
    • pushing a single commit should trigger our flow which run tests and deploy our app

Takeaways

Understand how can we leverage various serverless platforms like AWS Lambda along with libraries like Zappa to create a cost effective friction-less workflows that in turn makes developers life easier.

Note: There is some buffer time in the proposed timeline, in case any unexpected issue comes up. If time permits, we can setup a custom domain name for our webapp setup. ie: exampledomain.com will load our app. [using a free TLD]

Prerequisites:

  • Basic python understanding.
    • AWS Account (Free tier)

https://github.com/sanketplus/serverless-python/wiki/Prerequisites

Content URLs:

GitHub Repo

Slides

Note: Previous talk (the links above) were presented for SRE audience. For the workshop, those will be refined and more understanding of concepts are to be added to address needs of audience of varying backgrounds.

Speaker Info:

Sanket is currently a Site Reliability Engineer with LinkedIn where he is working on Capacity Engineering initiative. He previously worked with Directi where he took care of Hadoop infrastructure, metrics, monitoring, and incident management pipelines. He is also into cycling and blogging.

Speaker Links:

Blog: https://superuser.blog/

Man page: http://sanket.superuser.blog

GitHub: https://github.com/sanketplus

Home: http://sanketplus.github.io

Previous talk: Serverless meets CI/CD, a hands on session at Large Scale Production Engineering Forum, Bangalore

Upcoming talk: Let's Build a Distributed File System at SRECon Asia, 2019 at Singapore

Section: Developer tools and automation
Type: Workshop
Target Audience: Beginner
Last Updated: