Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit


Published on

-- Presented in Serverless Summit 2017 - --
The earlier sessions at this conference covered development scenarios & operations, frameworks/platforms, and technology applications. In this session, I'll tie them together to provide a perspective on architectures and patterns for serverless. I'll cover how serverless compute can be used as glue or backend, legacy API proxy, or do real-time processing. Further, I'll discuss how serverless can be employed for web applications, batch processing, stream processing and event-driven automation, at a high level.

Published in: Software
  • Be the first to comment

Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit

  1. 1. CodeOps Technologies Serverless Architecture Patterns Manoj Ganapathi Chief Architect, CodeOps @manojgr
  2. 2. 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”
  3. 3. 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
  4. 4. Key Patterns
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Appendix AWS Lambda and Azure Functions examples
  9. 9. AWS: Web Applications architectural-patterns-and-best-practices-arc402
  10. 10. AWS: Batch Processing architectural-patterns-and-best-practices-arc402
  11. 11. AWS: Stream Processing architectural-patterns-and-best-practices-arc402
  12. 12. Azure Functions: Stream Processing
  13. 13. Azure Functions: Managing Dialog responses in Chatbots
  14. 14. Azure Functions: Integration and Web API kiriaty-serverless-patterns-with-azure-functions
  15. 15. AWS: Event Driven Automation architectural-patterns-and-best-practices-arc402
  16. 16. Azure Functions: Service Event Processing