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 *
- Introduce Serverless [10min]
- and look at benefits and caveats while considering it.
- Introduce CI/CD [10min]
- why does it make sense to incorporate such practices.
- Setup [30min]
- intro to Flask and build a Hello World app. Also setup AWS account.
- Going Serverless [20min]
- using
zappa
library to deploy our app with a single command to AWS Lambda
- using
- Enable CI/CD [20min]
- using BitBucket Pipelines, enable automatic deployments whenever a commit is pushed.
- 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:
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