Slide 1

Slide 1 text

Deploying serverless apps in AWS Presenter: Thanh Nguyen

Slide 2

Slide 2 text

Content - Introducing serverless - Lambda best practices - Principles of serverless architecture - Serverless pros and cons - Common serverless architecture - Demo

Slide 3

Slide 3 text

Marketing buzzword: Serverless ? - Serverless is a method of deploying and running applications on cloud infrastructure. Serverless platform provider is responsible for capacity, scaling, balancing and monitoring - Characteristics of Lambda function: - Go to market - Low cost, adapt at scale - Build better applications, easier

Slide 4

Slide 4 text

Lambda function on AWS

Slide 5

Slide 5 text

Lambda execution model

Slide 6

Slide 6 text

Anatomy of lambda function

Slide 7

Slide 7 text

Lambda best practices - Minimize dependencies - Leverage “Max memory used” to right-size your functions to optimize cost - Delete large unused functions (75GB limit per region)

Slide 8

Slide 8 text

How serverless starting

Slide 9

Slide 9 text

3-tier architecture VS serverless architecture

Slide 10

Slide 10 text

Principles of serverless architecture - Write single-purpose stateless functions (single responsibility principle) - Create thicker, more powerful front-ends - Embrace third-party services

Slide 11

Slide 11 text

Serverless pros and cons - Serverless is not a silver bullet in all circumstances. But serverless architecture are the latest advance for developers and organizations to think about, study and adopt

Slide 12

Slide 12 text

Serverless cons - Not good for latency-sensitive apps - Lambda runs in the public cloud, so mission-critical apps shouldn’t be based on it - Increase complexity when moving from a monolithic approach to a more serverless approach

Slide 13

Slide 13 text

Serverless pros - Serverless architecture allow developers focus on software design, code rather than infrastructure - Low cost, less code, scalable and flexible is good fit for startups that want to innovate and move quickly - For example: - Netflix use lambda to automate validate for backup completions - ConnectWise use lambda to process logs such as: extract, transform, load jobs, real-time file processing

Slide 14

Slide 14 text

Compute as backend

Slide 15

Slide 15 text

Compute as glue (pipeline)

Slide 16

Slide 16 text

Demo