16
CodeOps Technologies Serverless Architecture Patterns Manoj Ganapathi Chief Architect, CodeOps [email protected] @manojgr

Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Embed Size (px)

Citation preview

Page 1: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

CodeOps Technologies

Serverless Architecture Patterns

Manoj GanapathiChief Architect, [email protected]@manojgr

Page 2: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Serverless: Core Principles❖ Functions are the unit of deployment and scale

❖ Use Serverless to solve specific problems, not every application can be written as Serverless.

❖ Keep your functions Stateless – use cloud storage for WIP state

❖ Functions should:

❖ “Do One Thing”– Single Responsibility Principle

❖ Be Idempotent

❖ Finish as fast as possible

“Rethink your application as an orchestra of autonomous functions”

Page 3: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Architectures•Compute as a

Backend•Real-time

Processing•Compute as a glue•Hybrid•Proxy

Use Cases•App Backend•Data Pipelines•Bots and Skills•Legacy API Proxy•Scheduled/Event

Driven services•Stream Processing

Patterns•Messaging•Command•Pipes and Filter•Fan Out•Priority Queue

Reference: Serverless Architectures on AWS

Page 4: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Key Patterns

Page 5: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Messaging and Command• Decouple services by introducing a queue• Typically in asynchronous messaging in web apps and services to take the

load off the application• Also shows the Command pattern (encapsulated implementation for a

standard interface)

Reference: Serverless Architectures on AWS

Page 6: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Fan Out

• Topic-Subscription scenario. • For e.g: Once a video is uploaded, you may want to encode them in

multiple formats in parallel and also transcribe

Reference: Serverless Architectures on AWS

Page 7: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Pipes and Filter

• To manage a sequential series of tasks – like a data pipeline• Functions can work as a pipe (connector) or a filter (transformation)

Reference: Serverless Architectures on AWS

Page 8: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Appendix AWS Lambda and Azure Functions examples

Page 9: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

AWS: Web Applications

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-serverless-architectural-patterns-and-best-practices-arc402

Page 10: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

AWS: Batch Processing

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-serverless-architectural-patterns-and-best-practices-arc402

Page 11: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

AWS: Stream Processing

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-serverless-architectural-patterns-and-best-practices-arc402

Page 12: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Azure Functions: Stream Processing

https://www.slideshare.net/satonaoki/serverless-patterns-with-azure-functions

Page 13: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Azure Functions: Managing Dialog responses in Chatbots

https://www.slideshare.net/satonaoki/serverless-patterns-with-azure-functions

Page 14: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Azure Functions: Integration and Web API

https://www.slideshare.net/ServerlessConf/chris-anderson-and-yochay-kiriaty-serverless-patterns-with-azure-functions

Page 15: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

AWS: Event Driven Automation

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-serverless-architectural-patterns-and-best-practices-arc402

Page 16: Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

Azure Functions: Service Event Processing

https://www.slideshare.net/satonaoki/serverless-patterns-with-azure-functions