SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
Johan Eriksson
johan.eriksson@stratiteq.com
• Evolution of serverless
• Vendor comparison
• Azure serverless toolbox
• 2 customer cases
• Durable Functions
Outline
Business
Logic/Value
Availability
Pay for what
you use
Auto scale
</> </>
</> </>
</> </> </>
</>
</>
Bare Metal
Virtual
Machines
Containers
Functions
Decreasing infrastructural concerns
Increasingfocusonbusinesslogic
• Virtualizes the
hardware
• VMs as unit of
scaling
VM
• Virtualizes the OS
• Applications as
unit of scaling
• Virtualizes the
Runtime
• Functions as unit
of scaling
Disruptions ? Containers – Just a Distraction?
Devops – Noops ?
“We just got here. We just moved to the cloud.
We moved our physical servers to instances. We
moved our databases as well. Even though we
lost a little visibility into the underpinning
infrastructure, we gained some cool new
features and abilities. Now, they go ahead and
pull the rug out from under us with this whole
functions serverless thing. Can’t we just pause
for a little bit?”
“Serverless is being driven by mainstream
enterprises. We see them leapfrogging
containers so they can take something off the
shelf and move quickly”
A disruptive technology is
one that displaces an
established technology
and shakes up the
industry or a ground-
breaking product that
creates a completely new
industry. (Airbnb, Spotify
Smartphones, Cloud,
Uber …)
Vendors
2014 AWS Lambda
2016 Google Cloud Functions
2016 Azure Functions
2016 IBM OpenWhisk
Feature AWS Lambda Google Cloud Functions (BETA!!) Azure Functions
Scalability &
availability
Automatic scaling (transparently) Automatic scaling
Manual or metered scaling (App Service Plan), or sub-second
automatic scaling (Consumption Plan)
Max # of
functions
Unlimited functions 1000 functions per project Unlimited functions
Concurrent
executions
1000 parallel executions per account, per region (soft limit) No limit No limit
Max execution 300 sec (5 min) 540 seconds (9 minutes) Default 300 sec (5 min) or configurable to 10 min
Supported
languages
JavaScript, Java, C# (.NET Core) and Python JavaScript
C#, JavaScript, F#, TypeScript, Python, Java, Bash, Batch, PHP
and PowerShell
Dependencies Deployment Packages npm package.json Npm, NuGet
Deployments ZIP upload (to Lambda or S3) ZIP upload, Cloud Storage or Cloud Source Repositories
Visual Studio Team Services, OneDrive, Local Git repository,
GitHub, Bitbucket, Dropbox, External repository, Visual Studio,
Visual Studio Code, ZIP Upload
Environment
variables
Yes Not yet App Settings and Connection Strings from App Services
Versioning Versions and aliases Cloud Source branch/tag Cloud Source branch/tag
Event-driven
S3, SNS, SES, DynamoDB, Kinesis, CloudWatch, Cognito, API
Gateway, CodeCommit, etc.
Cloud Pub/Sub or Cloud Storage Object Change Notifications
Blob, EventHub, Generic WebHook, GitHub WebHook, Queue,
Http, ServiceBus Queue, Service Bus Topic, Cosmos DB, Timer
triggers, Event Grid, etc.
HTTP(S)
invocation
API Gateway HTTP trigger HTTP trigger
Orchestration AWS Step Functions Not yet Azure Logic Apps, Azure Durable Functions
Logging CloudWatch Logs Stackdriver Logging App Services monitoring, Application Insights
Monitoring CloudWatch & X-Ray Stackdriver Monitoring Application Insights
Pricing
1 million requests for free, then $0.20/1M invocations, plus
$0.00001667/GB-sec
1 million requests for free, then $0.40/1M invocations, plus
$0.00000231/GB-sec
1 million requests for free, then $0.20/1M invocations, plus
$0.000016/GB-s
Azure
Functions
Functions – Execute code
Azure
Functions
Function App A
FunctionA1
FunctionA2
FunctionA3
Function App B
FunctionB1
FunctionB2
FunctionB3
Settings Settings
Azure
Functions
Azure
Functions CODE
Inputs
Outputs
Trigger
Bindings
Bindings
Azure
Functions
Supported
bindings
Blob Storage
Cosmos DB
Event Grid
Event Hubs
External File
External Table
HTTP
Microsoft Graph Excel tables
Microsoft Graph OneDrive files
Microsoft Graph Outlook email
Microsoft Graph Events
Microsoft Graph Auth tokens
Mobile Apps
Notification Hubs
Queue storage
SendGrid
Service Bus
Table storage
Timer
Twilio
Webhooks
Custom
Azure Logic
Apps
Logic Apps – Connectivity and workflow
Azure Logic
Apps
Azure Event
Grid
Event broker
Event Grid Capabilities
•Reliability - Utilize 24-hour retry with exponential
backoff to ensure events are delivered.
•Pay-per-event - Pay only for the amount you use Event
Grid.
•High throughput - Build high-volume workloads on
Event Grid with support for millions of events per
second.
Azure Event
Grid
Azure Event
Grid
Azure Event
Grid
Azure
Functions
Proxies
API Surface for functions
Azure
Functions
Proxies
products.azurewebsites.net customers.azurewebsites.net orders.azurewebsites.net
Azure
Functions
Proxies
/customers
/products
/orders
Function App A
customers.azurewebsites.net
Function App B
products.azurewebsites.net
Function App C
orders.azurewebsites.net
eshop.azurewebsites.net
Azure
Service Bus
Message broker
Azure
Service Bus
Azure
Serverless
Toolbox
• Functions: Execute code
• Logic Apps: Connectivity and workflow
• Event Grid: Event broker
• Functions Proxy: API Surface for functions
• Service Bus: Message broker
Event programming model
#2#1
Event programming model
#2#1
Event programming model
#2#1
#3
Event programming model
#2#1
Event programming model
#2#1
Event programming model
#2#1
#3
Event driven architecture
• OnPrem legacy system
• OnPrem Biztalk 2016 (!)
• ---------------------------------
• Service Bus
• Logic App
• Azure Functions
• D365
Customer Case #1
Integrate OnPrem legacy
system with cloud
Dynamics 365.
Both ways.
OnPrem
Legacy
1
2
• OnPrem legacy system
• OnPrem SQL Server
• ----------------------------------
• Azure Easy Auth
• Azure Functions Proxy
• Azure Functions
• D365
Customer Case #2
Integrate OnPrem legacy
system with cloud
Dynamics 365.
1-way (main) integration
Sales App that creates
Quotes. Fully authenticated
and authorized access
OnPrem
…
OnPrem
1
2
So what's the problem ?
What are these Durable Functions?
•Write stateful processes in a serverless
environment
•“Run” for weeks, still only pay for execution time
•Workflows in code
•Reliable execution of orchestrations
Durable Functions – Avoid !
•Orchestrator code must be deterministic
•Non-blocking: no I/O calls or Thread.Sleep
•No async operations. Use the API
•Avoid infinite loops
Charge
Customers
Card (PSP)
Mail Receipt
to customer
Update
Inventory
System
Checkout Workflow
Charge
Customers
Card (PSP)
Mail Receipt
to customer
Update
Inventory
System
Checkout Workflow
Charge
Customers
Card (PSP)
Mail Receipt
to customer
Update
Inventory
System
Checkout Workflow
Process Manager
Process Manager – Orchestrator pattern in Azure Durable Functions
Charge
Customers
Card (PSP)
Mail Receipt
to customer
Update
Inventory
System
Checkout Workflow
Orchestrations and Actions
•StartNewAsync HTTP Trigger
•Orchestrator
•Activity
Shopping Cart
2FA
Checkout
Pattern: External Events
Pattern: Function Chaining
Pattern: Human Interaction
Azure Durable Functions takeaways
Code Stateful Durable
Sleeping =
not billed
Automatically
wake up
Scalable

Contenu connexe

Tendances

Build a Serverless Web Application in One Day - DevDay Austin 2017
Build a Serverless Web Application in One Day - DevDay Austin 2017Build a Serverless Web Application in One Day - DevDay Austin 2017
Build a Serverless Web Application in One Day - DevDay Austin 2017
Amazon Web Services
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
Amazon Web Services Korea
 

Tendances (20)

Build a Serverless Web Application in One Day - DevDay Austin 2017
Build a Serverless Web Application in One Day - DevDay Austin 2017Build a Serverless Web Application in One Day - DevDay Austin 2017
Build a Serverless Web Application in One Day - DevDay Austin 2017
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows Azure
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Continuous Integration and Deployment Best Practices on AWS
 Continuous Integration and Deployment Best Practices on AWS  Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
re:Invent re:cap 2020
re:Invent re:cap 2020re:Invent re:cap 2020
re:Invent re:cap 2020
 
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
 
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
 
Application Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWSApplication Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWS
 
Serverless - When to FaaS?
Serverless - When to FaaS?Serverless - When to FaaS?
Serverless - When to FaaS?
 
Container Management with Amazon ECS
Container Management with Amazon ECSContainer Management with Amazon ECS
Container Management with Amazon ECS
 
Amazon WorkSpaces for Education
Amazon WorkSpaces for EducationAmazon WorkSpaces for Education
Amazon WorkSpaces for Education
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
 
遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享
 
Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017
 
Let's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaLet's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS Lambda
 
Development and Test on AWS
Development and Test on AWSDevelopment and Test on AWS
Development and Test on AWS
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
 

Similaire à Azure Serverless Toolbox

Similaire à Azure Serverless Toolbox (20)

The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with Functions
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
SRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerSRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and Docker
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and Blazor
 
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
AWS Summit Singapore Webinar Edition | More Containers, Less Operations & Mig...
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
Serverless API with Azure Functions
Serverless API with Azure FunctionsServerless API with Azure Functions
Serverless API with Azure Functions
 
Deep Dive on Microservices and Docker
Deep Dive on Microservices and DockerDeep Dive on Microservices and Docker
Deep Dive on Microservices and Docker
 
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Dernier (20)

The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 

Azure Serverless Toolbox