Slide 1

Slide 1 text

Using Serverless Architectures to build and provision modern infrastructures Ramit Surana @ramitsurana /in/ramitsurana

Slide 2

Slide 2 text

Agenda • Introduction to AWS Lambda • Serverless Architecture • Demo • Architecture • Chalice • Monitoring • API Perfomance and Measurements • Learningz • Useful Services • Other Options

Slide 3

Slide 3 text

What comes to mind ?

Slide 4

Slide 4 text

Introduction to AWS Lambda • Service based on docker containers • Also called Function as a Service • Available in Node.js (JavaScript), Python, Java (Java 8 compliant) and C # (.NET Core), and Go. • Cost Involved: - First 1 million requests free - $0.20 per 1 million requests

Slide 5

Slide 5 text

Serverless Architectures • Distribution of API Calls into Functions • Usage of external services from cloud to allocate data • Pay as you go model @Copyright by Martin Fowler

Slide 6

Slide 6 text

Demo Time !

Slide 7

Slide 7 text

Architecture Website API Gateway S3 DynamoDB/RDS/Elasticache Lex Website Data

Slide 8

Slide 8 text

Chalice • Integrates well with other AWS Services • Can deploy using chalice deploy • Built using Python • Other Frameworks are Serverless (JAWS), Zappa etc

Slide 9

Slide 9 text

Monitoring • Individual Lambda can be monitored only for last 24 hrs • Use AWS Services like CloudWatch & CloudTrail • IOPipe • Datadog

Slide 10

Slide 10 text

API Performance Measurements • Jmeter • Use of Curl

Slide 11

Slide 11 text

Other Options • Azure Functions • GCP Functions • Oracle Cloud Functions • OpenWhisk • Iron.io • Webtask.io • Nuclio

Slide 12

Slide 12 text

Learnings Pros • Serverless is really powerful ! • Great Performance • Highly Scalable • Low Cost • Stateless Cons • Monitoring and Debugging is hard • Lack of Fine Grained Control • Cold start issues • Timeout Issues • Vendor Lock-In

Slide 13

Slide 13 text

References • Chalice - https://github.com/aws/chalice • SAM - https://github.com/awslabs/serverless-application-model • Python-lambda - https://github.com/nficano/python-lambda • AWS Lambda - https://aws.amazon.com/de/lambda/features/ • Jmeter - https://jmeter.apache.org/ • Cloudwatch - https://aws.amazon.com/de/cloudwatch/ • FaaS - https://martinfowler.com/articles/serverless.html • https://github.com/ramitsurana/the-serverless-stuff

Slide 14

Slide 14 text

Thank You for joining :)