Dude, Where's my Server?

Rick van den Bosch
Rick van den BoschCloud Solution Architect at Betabit
© Betabit Nederland B.V.
Oscar van Tol
o.van.tol@betabit.nl
@oscarvantol
Rick van den Bosch
r.van.den.bosch@betabit.nl
@rickvdbosch
Dude, Where’s my Server?
about Serverless computing
© Betabit Nederland B.V.
Who’s who?
Oscar van Tol Rick van den Bosch
© Betabit Nederland B.V.
Agenda
PART I
What is Serverless?
Serverless vs. Alternatives
NoOps?
Benefits & Drawbacks
Tools
Microsoft Flow
demo
Azure Logic Apps
demo
PART II
Azure Functions
demo
Flow, Logic Apps & Functions
Function Extensions
BONUS: Azure EventGrid
Best Practices
Conclusion
© Betabit Nederland B.V.
What is Serverless?
Does Serverless mean that there are no servers?
Does Serverless mean that there are less servers?
Maybe Serverless is not a great name...
© Betabit Nederland B.V.
I want to go on that ride, Daddy.
Source:
© Betabit Nederland B.V.
About Serverless…
“Serverless is not just a fad or buzzword.
{…}
With serverless, you need only worry about your code
and how it is triggered. The platform takes care of the
rest.”
© Betabit Nederland B.V.
Serverless computing defined
• Abstraction of servers
• Event-driven scale
• Micro-billing
Focus on apps
not servers
© Betabit Nederland B.V.
Serverless and Serverless
• Backend as a Service
• Functions as a Service
© Betabit Nederland B.V.
Backend as a Service
• 3rd party applications / services in the cloud to manage server-side logic and state
• Applications using them were the first to be called Serverless
• Rich client applications (SPA or mobile apps)
© Betabit Nederland B.V.
(Mobile) Backend as a Service: Example
© Betabit Nederland B.V.
Function as a Service
• Server-side logic written by developer
• Run in stateless compute containers
• Event-triggered
• Short-lived
• Fully managed by 3rd party
© Betabit Nederland B.V.
Functions as a Service: Example
© Betabit Nederland B.V.
And then…
Serverless vs. Alternatives
IaaS, PaaS & SaaS
IaaS PaaS SaaS
MIGRATE
to it
DEVELOP
on it
CONSUME
it
IaaS, PaaS & SaaS & FaaS
IaaS PaaS SaaS
Containers
Serverless
© Betabit Nederland B.V.
“Most PaaS applications are not
geared towards bringing entire applications
up and down for every request, whereas
ServerLess platforms do exactly this. …”
© Betabit Nederland B.V.
And then…
NoOps?
© Betabit Nederland B.V.
NoOps?
• Serverless might mean ‘No internal SysAdmin’
• But Ops still needed for…
• Monitoring
• Deployments
• Security
• And the rest (they normally don’t have time for)
© Betabit Nederland B.V.
And then…
Benefits & Drawbacks
© Betabit Nederland B.V.
Benefits: Costs
• Economy of Scale
• BaaS:
• Less development
• Less infrastructure
• Less ops
• FaaS:
• Only pay for the compute you need
© Betabit Nederland B.V.
Benefits: Ops
• Simpler scaling
• Reduced packaging and deployment complexity
• Time to market / experimentation
© Betabit Nederland B.V.
Drawbacks: Inherent
• Vendor control
• Vendor lock-in
• Multitenancy
• Security concerns
• FaaS == stateless
© Betabit Nederland B.V.
Drawbacks: Implementation
• Execution duration
• Testing
• Monitoring / Debugging
• Lack of tools & experience
© Betabit Nederland B.V.
And then…
Tools
© Betabit Nederland B.V.
First wave
• Many barriers to developer productivity
• No debugging support
• No local development experience
• Monitoring was hard
• Serverless became popular despite these downsides
© Betabit Nederland B.V.
Now
• Tooling and local development experience unique among cloud vendors
• Azure Functions runtime for local development
• Triggering off Azure events (hybrid debugging experience)
• Application Insights integration
• Live event stream
• Runtime metrics
• Log custom metrics
• Alerts
© Betabit Nederland B.V.
And then…
Microsoft Flow
© Betabit Nederland B.V.
Flow?
“Microsoft Flow is a product to help you set up
automated workflows between your
favorite apps and services to
synchronize files, get notifications,
collect data, and more.”
© Betabit Nederland B.V.
Connectors
150+ and counting
Not only Microsoft apps & services
http://bit.ly/dwms-flowconn
© Betabit Nederland B.V.
Flow templates
© Betabit Nederland B.V.
Microsoft Flow Pricing
© Betabit Nederland B.V.
Microsoft Flow
Let's code!
Actually, not really...
© Betabit Nederland B.V.
And then…
Azure Logic Apps
© Betabit Nederland B.V.
Logic Apps?
“Automate the access and use of data
across clouds
without writing code”
© Betabit Nederland B.V.
Logic Apps!
Out-of-the-box Connect and integrate data B2B and enterprise
Connectors from the cloud to on-prem messaging in the cloud
Take advantage of Tap into Azure Services
BizTalk Server investments
© Betabit Nederland B.V.
Logic Apps!
© Betabit Nederland B.V.
Isn’t this just Flow?
• Both are configuration-first integration services
• Flow is built on top of Logic Apps
• Flow is Business oriented, Logic Apps are developer oriented
• Logic Apps are a part of Azure
Flow empowers any office worker to perform simple integrations without going through
developers or IT
Logic Apps can enable advanced or mission-critical integrations where enterprise-level
DevOps and security practices are required
© Betabit Nederland B.V.
Flow or Logic Apps?
© Betabit Nederland B.V.
Example Logic app
© Betabit Nederland B.V.
Logic Apps Pricing
© Betabit Nederland B.V.
Azure Logic Apps
Let's code!
Well, almost...
© Betabit Nederland B.V.
BREAK
© Betabit Nederland B.V.
When were Azure Functions
first introduced?
© Betabit Nederland B.V.
And then…
Azure Functions
© Betabit Nederland B.V.
Azure Functions
© Betabit Nederland B.V.
Azure Functions
Manage apps,
not infrastructure
Develop your way
Bind into services
© Betabit Nederland B.V.
What can you do?
• Timer-based processing
• Azure service event processing
• SaaS event processing
• Serverless web application architectures
• Serverless mobile back ends
• Real-time stream processing
• Real-time bot messaging
© Betabit Nederland B.V.
Triggers
© Betabit Nederland B.V.
Routing
Default: http://<yourapp>.azurewebsites.net/api/<funcname>
© Betabit Nederland B.V.
Routing
Url: http://<yourapp>.azurewebsites.net/api/products/electronics/123
© Betabit Nederland B.V.
Routing
All functions routes are prefixed with api by default
Can be changed:
© Betabit Nederland B.V.
Throttling
• maxOutstandingRequests
Too many: 429 Too busy
• maxConcurrentRequests
Default: unbound
• dynamicThrottlesEnabled
Checks system performance counters
Default: false
> 80%: 429 Too busy
© Betabit Nederland B.V.
Limitations
The default timeout for Functions on a Consumption Plan is 5 minutes
Can be increased to 10 minutes
© Betabit Nederland B.V.
Scaling
© Betabit Nederland B.V.
Dual abstraction
Serverless abstracts away the compute
Bindings abstract away the services you interact with
© Betabit Nederland B.V.
Functions Pricing
© Betabit Nederland B.V.
Billing example - Resources
© Betabit Nederland B.V.
Billing example - Executions
© Betabit Nederland B.V.
And then…
Let's code!
Finally some real code!
© Betabit Nederland B.V.
And then…
Flow, Logic Apps & Functions
© Betabit Nederland B.V.
When do I choose what?
• For simple business optimization, use Flow
• More advanced integration, DevOps need or security compliance, use Logic Apps
• Highly custom transformation or specialized code, use Functions.
© Betabit Nederland B.V.
Putting it all together
You can…
• … call a logic app in a flow
• … call a function in a logic app
• … call a logic app in a function
“Integration continues to improve.
Any investment you make in
these three technologies is worthwhile.”
© Betabit Nederland B.V.
And then…
Function Extensions
© Betabit Nederland B.V.
Functions Extensions
Durable Functions http://bit.ly/dwms-durable
• Function Chaining
• Fan-out/Fan-in
• Stateful Singleton
• Human Interaction & Timeouts
© Betabit Nederland B.V.
And then…
Azure EventGrid
© Betabit Nederland B.V.
Event Grid?
Simplify event
consumption
Build reliable
cloud apps
Focus on product
innovation
© Betabit Nederland B.V.
What is EventGrid?
• Fully managed
• Intelligent
• Event routing
Allows for uniform event consumption using a publish-subscribe model
Enables you to react to relevant events across both Azure and non-Azure services in
near-real time fashion.
Allows you to easily build applications with event-based architectures
© Betabit Nederland B.V.
Concepts
• Events
• Event sources/publishers
• Topics
• Event subscriptions
• Event handlers
What?
Where?
For who?
Where to?
Handle it!
© Betabit Nederland B.V.
Concepts
© Betabit Nederland B.V.
Reacting to Blob Storage events
Azure CLI
az provider register --namespace Microsoft.EventGrid
az feature register --name storageEventSubscriptions --namespace Microsoft.EventGrid
Subscriptions are added to the Preview Program as capacity is available.
© Betabit Nederland B.V.
Example uses
Serverless application architectures
Ops automation
Application integration
© Betabit Nederland B.V.
And then…
Functions Best Practices
© Betabit Nederland B.V.
Best practices
- Avoid long running Functions
- Cross Function communication
- Call
- Queue
- Storage
- ?
- Functions should be Stateless (and Idempotent)
- Create defensive Functions
- Don’t mix test and production code in the same Functions app
- Use async code but avoid blocking calls
- Keep Functions small & fast
© Betabit Nederland B.V.
And then…
© Betabit Nederland B.V.
Conclusion
• Still in the early stages
• Push better architecture (micro-services!)
• Reduce time-to-market
© Betabit Nederland B.V.
Resources & links
Azure Functions Documentation http://bit.ly/dwms-azfunc
Twitter @oscarvantol
@rickvdbosch
Blog Oscar van Tol
Rick van den Bosch
© Betabit Nederland B.V.
Shameless Plug
Microsoft TechDays 2017
12 & 13 october
RAI Amsterdam
Friday October 13th -->
Bedankt voor je aandacht
© Betabit Nederland B.V.
1 of 78

Recommended

TechDays 2017 - Going Serverless (2/2): Hands-on with Azure Event Grid by
TechDays 2017 - Going Serverless (2/2): Hands-on with Azure Event GridTechDays 2017 - Going Serverless (2/2): Hands-on with Azure Event Grid
TechDays 2017 - Going Serverless (2/2): Hands-on with Azure Event GridRick van den Bosch
379 views32 slides
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17) by
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)Codit
724 views22 slides
Building microservices with azure functions by
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functionsJustin Maurer
958 views14 slides
Cloud Trends for 2017 and Actions You Can Take Now by
Cloud Trends for 2017 and Actions You Can Take NowCloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take NowRightScale
1.2K views23 slides
Serverless Computing in Azure by
Serverless Computing in AzureServerless Computing in Azure
Serverless Computing in AzureDaniel Toomey
2.2K views70 slides
Stop calling everything serverless! by
Stop calling everything serverless!Stop calling everything serverless!
Stop calling everything serverless!Jeremy Daly
6.4K views51 slides

More Related Content

What's hot

How to Manage VMware vSphere Like AWS and Azure by
How to Manage VMware vSphere Like AWS and AzureHow to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and AzureRightScale
630 views25 slides
Orchestrating PaaS and IaaS+ with RightScale by
Orchestrating PaaS and IaaS+ with RightScaleOrchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScaleRightScale
1.2K views27 slides
Serverless Messaging with Microsoft Azure by Steef-Jan Wiggers by
Serverless Messaging with Microsoft Azure by Steef-Jan WiggersServerless Messaging with Microsoft Azure by Steef-Jan Wiggers
Serverless Messaging with Microsoft Azure by Steef-Jan WiggersAdam Walhout
320 views41 slides
Cloud computing options by
Cloud computing optionsCloud computing options
Cloud computing optionsbotsplash.com
171 views19 slides
Using AWS Lambda for Infrastructure Automation and Beyond by
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondSoftServe
420 views21 slides
Real-time web applications using SharePoint, SignalR and Azure Service Bus by
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusDinusha Kumarasiri
1.4K views34 slides

What's hot(20)

How to Manage VMware vSphere Like AWS and Azure by RightScale
How to Manage VMware vSphere Like AWS and AzureHow to Manage VMware vSphere Like AWS and Azure
How to Manage VMware vSphere Like AWS and Azure
RightScale630 views
Orchestrating PaaS and IaaS+ with RightScale by RightScale
Orchestrating PaaS and IaaS+ with RightScaleOrchestrating PaaS and IaaS+ with RightScale
Orchestrating PaaS and IaaS+ with RightScale
RightScale1.2K views
Serverless Messaging with Microsoft Azure by Steef-Jan Wiggers by Adam Walhout
Serverless Messaging with Microsoft Azure by Steef-Jan WiggersServerless Messaging with Microsoft Azure by Steef-Jan Wiggers
Serverless Messaging with Microsoft Azure by Steef-Jan Wiggers
Adam Walhout320 views
Using AWS Lambda for Infrastructure Automation and Beyond by SoftServe
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
SoftServe420 views
Real-time web applications using SharePoint, SignalR and Azure Service Bus by Dinusha Kumarasiri
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Dinusha Kumarasiri1.4K views
How to Manage Clouds, VMs and Bare Metal via RightScale by RightScale
How to Manage Clouds, VMs and Bare Metal via RightScaleHow to Manage Clouds, VMs and Bare Metal via RightScale
How to Manage Clouds, VMs and Bare Metal via RightScale
RightScale892 views
Introduction to Azure PaaS services (Nick Trogh at Codit Azure PaaS Event) by Codit
Introduction to Azure PaaS services (Nick Trogh at Codit Azure PaaS Event) Introduction to Azure PaaS services (Nick Trogh at Codit Azure PaaS Event)
Introduction to Azure PaaS services (Nick Trogh at Codit Azure PaaS Event)
Codit549 views
Best Practices for Your CMP RFP or RFI by RightScale
Best Practices for Your CMP RFP or RFIBest Practices for Your CMP RFP or RFI
Best Practices for Your CMP RFP or RFI
RightScale2.9K views
The Rise of Serverless Architectures by Benny Bauer
The Rise of Serverless ArchitecturesThe Rise of Serverless Architectures
The Rise of Serverless Architectures
Benny Bauer1.1K views
Serverless beyond AWS Lambda by Ben Kehoe
Serverless beyond AWS LambdaServerless beyond AWS Lambda
Serverless beyond AWS Lambda
Ben Kehoe127 views
Real time communication with Azure Functions with Azure SignalR by Dinusha Kumarasiri
Real time communication with Azure Functions with Azure SignalRReal time communication with Azure Functions with Azure SignalR
Real time communication with Azure Functions with Azure SignalR
Dinusha Kumarasiri464 views
Hybrid Integration with BizTalk Server - ACSUG by Wagner Silveira
Hybrid Integration with BizTalk Server - ACSUGHybrid Integration with BizTalk Server - ACSUG
Hybrid Integration with BizTalk Server - ACSUG
Wagner Silveira135 views
Serverless Architecture at iRobot by Ben Kehoe
Serverless Architecture at iRobotServerless Architecture at iRobot
Serverless Architecture at iRobot
Ben Kehoe1.3K views
Serverless Event-Driven Programming: Are We Ready for the Paradigm Shift? by Ben Kehoe
Serverless Event-Driven Programming: Are We Ready for the Paradigm Shift?Serverless Event-Driven Programming: Are We Ready for the Paradigm Shift?
Serverless Event-Driven Programming: Are We Ready for the Paradigm Shift?
Ben Kehoe896 views
Cloud Migration and Portability (with and without Containers) by RightScale
Cloud Migration and Portability (with and without Containers)Cloud Migration and Portability (with and without Containers)
Cloud Migration and Portability (with and without Containers)
RightScale1.4K views
Logic Apps and Azure Functions by Daniel Toomey
Logic Apps and Azure FunctionsLogic Apps and Azure Functions
Logic Apps and Azure Functions
Daniel Toomey2.3K views
Microservices and elastic resource pools with Amazon EC2 Container Service by Boyan Dimitrov
Microservices and elastic resource pools with Amazon EC2 Container ServiceMicroservices and elastic resource pools with Amazon EC2 Container Service
Microservices and elastic resource pools with Amazon EC2 Container Service
Boyan Dimitrov13.3K views
How a CMP Can Help You Right Now by RightScale
How a CMP Can Help You Right NowHow a CMP Can Help You Right Now
How a CMP Can Help You Right Now
RightScale834 views

Similar to Dude, Where's my Server?

Global Azure Bootcamp 2017 at Betabit Utrecht by
Global Azure Bootcamp 2017 at Betabit UtrechtGlobal Azure Bootcamp 2017 at Betabit Utrecht
Global Azure Bootcamp 2017 at Betabit UtrechtDaniël te Winkel
246 views99 slides
Keynote speech by
Keynote speechKeynote speech
Keynote speechBizTalk360
781 views31 slides
Getting started with development in azure by
Getting started with development in azureGetting started with development in azure
Getting started with development in azureJasjit Chopra
245 views32 slides
Application modernization with azure PaaS and FaaS by
Application modernization with azure PaaS and FaaSApplication modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaSDileepa Rajapaksa
224 views47 slides
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow by
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
331 views35 slides
Introduction to Microsoft Flow and Azure Functions by
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsBIWUG
260 views35 slides

Similar to Dude, Where's my Server?(20)

Global Azure Bootcamp 2017 at Betabit Utrecht by Daniël te Winkel
Global Azure Bootcamp 2017 at Betabit UtrechtGlobal Azure Bootcamp 2017 at Betabit Utrecht
Global Azure Bootcamp 2017 at Betabit Utrecht
Daniël te Winkel246 views
Keynote speech by BizTalk360
Keynote speechKeynote speech
Keynote speech
BizTalk360781 views
Getting started with development in azure by Jasjit Chopra
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
Jasjit Chopra245 views
Application modernization with azure PaaS and FaaS by Dileepa Rajapaksa
Application modernization with azure PaaS and FaaSApplication modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaS
Dileepa Rajapaksa224 views
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow by Vincent Biret
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
Vincent Biret331 views
Introduction to Microsoft Flow and Azure Functions by BIWUG
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG260 views
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021 by Nico Meisenzahl
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Nico Meisenzahl145 views
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster... by Vincent Biret
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
Vincent Biret86 views
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV... by RapidValue
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
RapidValue227 views
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ... by Codit
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Codit344 views
Building Event-Driven Workflows with Knative and Tekton by Leon Stigter
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
Leon Stigter287 views
Het Microsoft Integratie Platform – Welk model past u het beste? (Steef Jan W... by Codit
Het Microsoft Integratie Platform – Welk model past u het beste? (Steef Jan W...Het Microsoft Integratie Platform – Welk model past u het beste? (Steef Jan W...
Het Microsoft Integratie Platform – Welk model past u het beste? (Steef Jan W...
Codit282 views
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ... by Vincent Biret
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
Vincent Biret263 views
What serverless means for enterprise apps by Sumit Sarkar
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise apps
Sumit Sarkar353 views
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday) by Codit
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Codit408 views
Sps toronto introduction to azure functions microsoft flow by Vincent Biret
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
Vincent Biret326 views
RightScale Webinar: Operationalize Your Enterprise AWS Usage Through an IT Ve... by RightScale
RightScale Webinar: Operationalize Your Enterprise AWS Usage Through an IT Ve...RightScale Webinar: Operationalize Your Enterprise AWS Usage Through an IT Ve...
RightScale Webinar: Operationalize Your Enterprise AWS Usage Through an IT Ve...
RightScale2.5K views

More from Rick van den Bosch

Configuration in azure done right by
Configuration in azure done rightConfiguration in azure done right
Configuration in azure done rightRick van den Bosch
353 views28 slides
Getting started with Azure Cognitive services by
Getting started with Azure Cognitive servicesGetting started with Azure Cognitive services
Getting started with Azure Cognitive servicesRick van den Bosch
99 views29 slides
From .NET Core 3, all the rest will be legacy by
From .NET Core 3, all the rest will be legacyFrom .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacyRick van den Bosch
291 views54 slides
Getting sh*t done with Azure Functions (on AKS!) by
Getting sh*t done with Azure Functions (on AKS!)Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)Rick van den Bosch
776 views43 slides
SAFwAD @ Intelligent Cloud Conference by
SAFwAD @ Intelligent Cloud ConferenceSAFwAD @ Intelligent Cloud Conference
SAFwAD @ Intelligent Cloud ConferenceRick van den Bosch
298 views45 slides
Securing an Azure Function REST API with Azure Active Directory by
Securing an Azure Function REST API with Azure Active DirectorySecuring an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active DirectoryRick van den Bosch
259 views29 slides

More from Rick van den Bosch(11)

From .NET Core 3, all the rest will be legacy by Rick van den Bosch
From .NET Core 3, all the rest will be legacyFrom .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacy
Rick van den Bosch291 views
Getting sh*t done with Azure Functions (on AKS!) by Rick van den Bosch
Getting sh*t done with Azure Functions (on AKS!)Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)
Rick van den Bosch776 views
Securing an Azure Function REST API with Azure Active Directory by Rick van den Bosch
Securing an Azure Function REST API with Azure Active DirectorySecuring an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active Directory
Rick van den Bosch259 views
Azure Lowlands: An intro to Azure Data Lake by Rick van den Bosch
Azure Lowlands: An intro to Azure Data LakeAzure Lowlands: An intro to Azure Data Lake
Azure Lowlands: An intro to Azure Data Lake
Rick van den Bosch1.6K views
TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water” by Rick van den Bosch
TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”
TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”
Rick van den Bosch996 views
Take control of your deployments with Release Management by Rick van den Bosch
Take control of your deployments with Release ManagementTake control of your deployments with Release Management
Take control of your deployments with Release Management
Rick van den Bosch967 views

Recently uploaded

Quality Assurance by
Quality Assurance Quality Assurance
Quality Assurance interworksoftware2
8 views6 slides
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...Stefan Wolpers
44 views38 slides
Top-5-production-devconMunich-2023-v2.pptx by
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTier1 app
9 views42 slides
Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
7 views7 slides
Mobile App Development Company by
Mobile App Development CompanyMobile App Development Company
Mobile App Development CompanyRichestsoft
5 views6 slides
Google Solutions Challenge 2024 Talk pdf by
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdfMohdAbdulAleem4
34 views17 slides

Recently uploaded(20)

How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers44 views
Top-5-production-devconMunich-2023-v2.pptx by Tier1 app
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app9 views
Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 5 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem434 views
Advanced API Mocking Techniques Using Wiremock by Dimpy Adhikary
Advanced API Mocking Techniques Using WiremockAdvanced API Mocking Techniques Using Wiremock
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary5 views
Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 6 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1222 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 6 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app14 views
How to build dyanmic dashboards and ensure they always work by Wiiisdom
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always work
Wiiisdom16 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi217 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS11 views

Dude, Where's my Server?

  • 1. © Betabit Nederland B.V. Oscar van Tol o.van.tol@betabit.nl @oscarvantol Rick van den Bosch r.van.den.bosch@betabit.nl @rickvdbosch Dude, Where’s my Server? about Serverless computing
  • 2. © Betabit Nederland B.V. Who’s who? Oscar van Tol Rick van den Bosch
  • 3. © Betabit Nederland B.V. Agenda PART I What is Serverless? Serverless vs. Alternatives NoOps? Benefits & Drawbacks Tools Microsoft Flow demo Azure Logic Apps demo PART II Azure Functions demo Flow, Logic Apps & Functions Function Extensions BONUS: Azure EventGrid Best Practices Conclusion
  • 4. © Betabit Nederland B.V. What is Serverless? Does Serverless mean that there are no servers? Does Serverless mean that there are less servers? Maybe Serverless is not a great name...
  • 5. © Betabit Nederland B.V. I want to go on that ride, Daddy. Source:
  • 6. © Betabit Nederland B.V. About Serverless… “Serverless is not just a fad or buzzword. {…} With serverless, you need only worry about your code and how it is triggered. The platform takes care of the rest.”
  • 7. © Betabit Nederland B.V. Serverless computing defined • Abstraction of servers • Event-driven scale • Micro-billing Focus on apps not servers
  • 8. © Betabit Nederland B.V. Serverless and Serverless • Backend as a Service • Functions as a Service
  • 9. © Betabit Nederland B.V. Backend as a Service • 3rd party applications / services in the cloud to manage server-side logic and state • Applications using them were the first to be called Serverless • Rich client applications (SPA or mobile apps)
  • 10. © Betabit Nederland B.V. (Mobile) Backend as a Service: Example
  • 11. © Betabit Nederland B.V. Function as a Service • Server-side logic written by developer • Run in stateless compute containers • Event-triggered • Short-lived • Fully managed by 3rd party
  • 12. © Betabit Nederland B.V. Functions as a Service: Example
  • 13. © Betabit Nederland B.V. And then… Serverless vs. Alternatives
  • 14. IaaS, PaaS & SaaS IaaS PaaS SaaS MIGRATE to it DEVELOP on it CONSUME it
  • 15. IaaS, PaaS & SaaS & FaaS IaaS PaaS SaaS Containers Serverless
  • 16. © Betabit Nederland B.V. “Most PaaS applications are not geared towards bringing entire applications up and down for every request, whereas ServerLess platforms do exactly this. …”
  • 17. © Betabit Nederland B.V. And then… NoOps?
  • 18. © Betabit Nederland B.V. NoOps? • Serverless might mean ‘No internal SysAdmin’ • But Ops still needed for… • Monitoring • Deployments • Security • And the rest (they normally don’t have time for)
  • 19. © Betabit Nederland B.V. And then… Benefits & Drawbacks
  • 20. © Betabit Nederland B.V. Benefits: Costs • Economy of Scale • BaaS: • Less development • Less infrastructure • Less ops • FaaS: • Only pay for the compute you need
  • 21. © Betabit Nederland B.V. Benefits: Ops • Simpler scaling • Reduced packaging and deployment complexity • Time to market / experimentation
  • 22. © Betabit Nederland B.V. Drawbacks: Inherent • Vendor control • Vendor lock-in • Multitenancy • Security concerns • FaaS == stateless
  • 23. © Betabit Nederland B.V. Drawbacks: Implementation • Execution duration • Testing • Monitoring / Debugging • Lack of tools & experience
  • 24. © Betabit Nederland B.V. And then… Tools
  • 25. © Betabit Nederland B.V. First wave • Many barriers to developer productivity • No debugging support • No local development experience • Monitoring was hard • Serverless became popular despite these downsides
  • 26. © Betabit Nederland B.V. Now • Tooling and local development experience unique among cloud vendors • Azure Functions runtime for local development • Triggering off Azure events (hybrid debugging experience) • Application Insights integration • Live event stream • Runtime metrics • Log custom metrics • Alerts
  • 27. © Betabit Nederland B.V. And then… Microsoft Flow
  • 28. © Betabit Nederland B.V. Flow? “Microsoft Flow is a product to help you set up automated workflows between your favorite apps and services to synchronize files, get notifications, collect data, and more.”
  • 29. © Betabit Nederland B.V. Connectors 150+ and counting Not only Microsoft apps & services http://bit.ly/dwms-flowconn
  • 30. © Betabit Nederland B.V. Flow templates
  • 31. © Betabit Nederland B.V. Microsoft Flow Pricing
  • 32. © Betabit Nederland B.V. Microsoft Flow Let's code! Actually, not really...
  • 33. © Betabit Nederland B.V. And then… Azure Logic Apps
  • 34. © Betabit Nederland B.V. Logic Apps? “Automate the access and use of data across clouds without writing code”
  • 35. © Betabit Nederland B.V. Logic Apps! Out-of-the-box Connect and integrate data B2B and enterprise Connectors from the cloud to on-prem messaging in the cloud Take advantage of Tap into Azure Services BizTalk Server investments
  • 36. © Betabit Nederland B.V. Logic Apps!
  • 37. © Betabit Nederland B.V. Isn’t this just Flow? • Both are configuration-first integration services • Flow is built on top of Logic Apps • Flow is Business oriented, Logic Apps are developer oriented • Logic Apps are a part of Azure Flow empowers any office worker to perform simple integrations without going through developers or IT Logic Apps can enable advanced or mission-critical integrations where enterprise-level DevOps and security practices are required
  • 38. © Betabit Nederland B.V. Flow or Logic Apps?
  • 39. © Betabit Nederland B.V. Example Logic app
  • 40. © Betabit Nederland B.V. Logic Apps Pricing
  • 41. © Betabit Nederland B.V. Azure Logic Apps Let's code! Well, almost...
  • 42. © Betabit Nederland B.V. BREAK
  • 43. © Betabit Nederland B.V. When were Azure Functions first introduced?
  • 44. © Betabit Nederland B.V. And then… Azure Functions
  • 45. © Betabit Nederland B.V. Azure Functions
  • 46. © Betabit Nederland B.V. Azure Functions Manage apps, not infrastructure Develop your way Bind into services
  • 47. © Betabit Nederland B.V. What can you do? • Timer-based processing • Azure service event processing • SaaS event processing • Serverless web application architectures • Serverless mobile back ends • Real-time stream processing • Real-time bot messaging
  • 48. © Betabit Nederland B.V. Triggers
  • 49. © Betabit Nederland B.V. Routing Default: http://<yourapp>.azurewebsites.net/api/<funcname>
  • 50. © Betabit Nederland B.V. Routing Url: http://<yourapp>.azurewebsites.net/api/products/electronics/123
  • 51. © Betabit Nederland B.V. Routing All functions routes are prefixed with api by default Can be changed:
  • 52. © Betabit Nederland B.V. Throttling • maxOutstandingRequests Too many: 429 Too busy • maxConcurrentRequests Default: unbound • dynamicThrottlesEnabled Checks system performance counters Default: false > 80%: 429 Too busy
  • 53. © Betabit Nederland B.V. Limitations The default timeout for Functions on a Consumption Plan is 5 minutes Can be increased to 10 minutes
  • 54. © Betabit Nederland B.V. Scaling
  • 55. © Betabit Nederland B.V. Dual abstraction Serverless abstracts away the compute Bindings abstract away the services you interact with
  • 56. © Betabit Nederland B.V. Functions Pricing
  • 57. © Betabit Nederland B.V. Billing example - Resources
  • 58. © Betabit Nederland B.V. Billing example - Executions
  • 59. © Betabit Nederland B.V. And then… Let's code! Finally some real code!
  • 60. © Betabit Nederland B.V. And then… Flow, Logic Apps & Functions
  • 61. © Betabit Nederland B.V. When do I choose what? • For simple business optimization, use Flow • More advanced integration, DevOps need or security compliance, use Logic Apps • Highly custom transformation or specialized code, use Functions.
  • 62. © Betabit Nederland B.V. Putting it all together You can… • … call a logic app in a flow • … call a function in a logic app • … call a logic app in a function “Integration continues to improve. Any investment you make in these three technologies is worthwhile.”
  • 63. © Betabit Nederland B.V. And then… Function Extensions
  • 64. © Betabit Nederland B.V. Functions Extensions Durable Functions http://bit.ly/dwms-durable • Function Chaining • Fan-out/Fan-in • Stateful Singleton • Human Interaction & Timeouts
  • 65. © Betabit Nederland B.V. And then… Azure EventGrid
  • 66. © Betabit Nederland B.V. Event Grid? Simplify event consumption Build reliable cloud apps Focus on product innovation
  • 67. © Betabit Nederland B.V. What is EventGrid? • Fully managed • Intelligent • Event routing Allows for uniform event consumption using a publish-subscribe model Enables you to react to relevant events across both Azure and non-Azure services in near-real time fashion. Allows you to easily build applications with event-based architectures
  • 68. © Betabit Nederland B.V. Concepts • Events • Event sources/publishers • Topics • Event subscriptions • Event handlers What? Where? For who? Where to? Handle it!
  • 69. © Betabit Nederland B.V. Concepts
  • 70. © Betabit Nederland B.V. Reacting to Blob Storage events Azure CLI az provider register --namespace Microsoft.EventGrid az feature register --name storageEventSubscriptions --namespace Microsoft.EventGrid Subscriptions are added to the Preview Program as capacity is available.
  • 71. © Betabit Nederland B.V. Example uses Serverless application architectures Ops automation Application integration
  • 72. © Betabit Nederland B.V. And then… Functions Best Practices
  • 73. © Betabit Nederland B.V. Best practices - Avoid long running Functions - Cross Function communication - Call - Queue - Storage - ? - Functions should be Stateless (and Idempotent) - Create defensive Functions - Don’t mix test and production code in the same Functions app - Use async code but avoid blocking calls - Keep Functions small & fast
  • 74. © Betabit Nederland B.V. And then…
  • 75. © Betabit Nederland B.V. Conclusion • Still in the early stages • Push better architecture (micro-services!) • Reduce time-to-market
  • 76. © Betabit Nederland B.V. Resources & links Azure Functions Documentation http://bit.ly/dwms-azfunc Twitter @oscarvantol @rickvdbosch Blog Oscar van Tol Rick van den Bosch
  • 77. © Betabit Nederland B.V. Shameless Plug Microsoft TechDays 2017 12 & 13 october RAI Amsterdam Friday October 13th -->
  • 78. Bedankt voor je aandacht © Betabit Nederland B.V.

Editor's Notes

  1. https://trends.google.com/trends/explore?date=today%205-y&q=serverless
  2. ServerLess is The Next Layer of Abstraction in Cloud Computing
  3. Fully managed, no explicit reserve instances Triggers: timers, HTTP, queues and much more. A function contains both code and metadata about triggers and bindings. With serverless, you pay only when your code is executing.
  4. AWS Lambda Google Cloud Functions Azure Functions
  5. Speciale vermelding voor Serverless
  6. Datacenter: hardware as unit of scale IaaS: OS as unit of scale PaaS: Application as unit of scale Serverless: Function as unit of scale
  7. You can start with a flow at first, then convert it to a logic app as needed.
  8. Images: Timer based Serverless web Real-time bot
  9. Note that these settings apply to each Function App instance not globally. These settings need to go inside an "http" section
  10. Focus on adding business value
  11. Functions can also be hosted on an App Service Plan. Then they use the spare compute of the plan.
  12. Durable Functions is an Azure Functions extension for building long-running, stateful function orchestrations in code using C# in a serverless environment. calling one function after another, and may or may not involve passing state between them. how to write an orchestrator function that calls multiple functions concurrently and then performs some aggregation on the results. long-running (potentially eternal) orchestrator functions which store state and can be invoked and queried by other functions in your application able to send notifications to the person, receive responses back asynchronously from the person, and account for the person being unavailable.
  13. Events - What happened. Event sources/publishers - Where the event took place. Topics - The endpoint where publishers send events. Event subscriptions - The endpoint or built-in mechanism to route events, sometimes to multiple handlers. Subscriptions are also used by handlers to intelligently filter incoming events. Event handlers - The app or service reacting to the event.
  14. az login az account list az account set --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx az feature show --name storageEventSubscriptions --namespace Microsoft.EventGrid
  15. Oscar
  16. Storage queue max 64 KB, Service Bus max 256 KB Idempotent esp. with timer triggers -> should be able to run any time of day with the same result Don’t mix -> resource sharing! Always avoid referencing the Result property or calling Wait method on a Task instance. This approach can lead to thread exhaustion