using serverless to modernize legacy applications: quick ...€¦ · cloud native applications...
TRANSCRIPT
May 09, 2019
Using Serverless to Modernize Legacy Applications: Quick Wins, Key Use Cases & Design Patterns
Hybrid clouds that just work
1
Vamsi Chemitiganti
Platform9 Systems
Agenda
• About Us
• Introduction to Hybrid Cloud Computing
• Introduction to Serverless & Fission (FaaS on K8s)
• FaaS Architecture & Developer Flow
• Overall FaaS flow
• The Five Popular Use Cases and Design Patterns
• Serverless Best Practices & Value Proposition
• Q&A
About Us
3
Speaker IntroductionVamsi Chemitiganti, Chief Strategist• Over 20 years of high tech experience in various customer facing roles• Various leadership positions at Red Hat, HortonWorks, Siemens Medical Solutions• Check out his blog on serverless, Kubernetes, and more! http://www.vamsitalkstech.com/
Platform9 Overview
• Founded in 2013 by a team of VMware engineers with a goal to make it easy to transform any infrastructure into a cloud
• Recognized for innovative technology
• $36.5 million has been raised to date
5
Cloud Native Applications & the Hybrid Cloud..
Introduction to Serverless & Fission
7
Serverless: A New Way To Build Modern Apps
Code, Deploy And Operate Instant ‘Production-Ready’ Apps.
Fission is a full featured Serverless framework for
running serverless applications on Kubernetes.
Fission lets you easily code, deploy and operate
applications that are production-ready from the get-go
- without having to learn anything about Kubernetes.
8
Fission: An open source alternative to AWS Lambda
• AWS started the serverless movement with Lambda, but it locks Developers into AWS ecosystem• Pricing lock-in• Not multi-cloud or multi-tool friendly. Developers want choice. (eg how to I consume my
Kafka stream events in Lambda instead of using Kinesis?)• Fission opens up these advantages to everyone on any infrastructure. Its open and extensible
and thus enables a wider ecosystem.
10
vs
Introduction to Serverless
Fission: Kubernetes based Serverless Framework
• Use Kubernetes and containers without a steep learning curve
• Write short-lived functions in any language
• Map functions to triggers (e.g., message queues, timers, HTTP requests)
✓No containers to build✓No Docker registries✓Works on any Kubernetes
cluster, anywhere✓ Extensible to any language
Fission
13
Architecture
FaaS: Only two concepts to learn => Reduced complexity
Triggers bind an event to a function, e.g.,• HTTP triggers map HTTP
requests to functions • A message queue can also act
as a trigger to map events to functions
Functions can be written in various major languages.
ff
HTTP, NATS, Kafka, Azure Storage
Queues, Kubernetes Watches, Timers, …
The Benefits of combining FaaS and Kubernetes
Serverless Platform Architecture and Internals
Typically Uses NoSQL Backends
HTTPTrigger
NodeJSFunction
Node JS Environment
Fission FN Test
Load Generated 10,000 Executions
Cloud Native App Dev
DevOps with Serverless
Five Key Serverless Real World Usecases
20
FaaS Overall Flow
21
Thus reflecting the above principles, the overall flow involved in a FaaS architecture is fairly straightforward: as depicted below –
•An event (e.g. an online order at a retailer) is received by an API Manager.
•The Manager creates an http request that results in a function being launched
•The function is created just in time and first instantiated in a container
•The container has all the configuration the function needs to run including its dependencies preloaded
•The function processes the request
•The container is then automatically destroyed. The user only pays for the resources consumed/utilized (RAM, CPU, Disk etc) during the time the function ran.
Use Case Pattern One – IoT & Edge Data Processing
Use Case Pattern Two – Financial Services Specific
Use Case Pattern Three - Augment Web Applications
Use Case Pattern Four - Augment Mainframe BasedApplications
Use Case Pattern Five – ML Oriented Data Processing
Serverless Best Practices
• Statelessness is a best practice and provides infinite scalability
• Optimize for Speed: cold start optimizations, autoscaling
• More Powerful Frontends richer client libraries minimize backend calls
• Think DevOps & IaC: automation with Ansible & Terraform, "alt-tab" dev/test cycle, metrics, tracing, canaries (and lots more)
• Use Events and Workflows: Event based architectures & Workflow engine for chaining functions
27
Why Use Serverless
28
Value Proposition
• Simple on-ramp for both devs and ops: up and running in your first hour
• Fast: cold start optimizations, autoscaling
• Out of the box support for 10+ languages and 5+ triggers
• Batteries included: builders, "alt-tab" dev/test cycle, metrics, tracing, canaries (and lots more)
• Composable: Workflow engine for composing functions
29
QUESTIONS
30