SlideShare a Scribd company logo
Callon Campbell
Solutions Architect | Developer | Microsoft MVP
Cloud Mavericks Inc.
Building Scalable Applications
Using Serverless on the Cloud
Microsoft Azure
Callon Campbell
Solution Architect | Developer
Microsoft MVP in Azure
He/him/his
Speaker introduction
• 20 years enterprise development with Microsoft technologies – .NET (C#), Azure, Web
(ASP.NET, Angular, JavaScript), Desktop, SQL, and Mobile
• Passionate about serverless and cloud-native application development
• Blogging at https://TheFlyingMaverick.com
• Speaker at community events and meetups
• Co-creator of ReflectInsight, a live .NET log viewer
• Organizer of “Canada’s Technology Triangle .NET User Group” in Kitchener, Ontario
Microsoft Azure
Agenda
•Goals of serverless
•Adopting serverless and cloud native for your
application architecture
•Building for scale, high availability and resiliency
•Real world example – code and demos
•Q&A
4
Microsoft Azure
In today’s talk…
• Serverless using Microsoft Azure technologies
Create your Azure free account today:
https://azure.microsoft.com/en-us/free/
• .NET Core (C#) in my demos
Cross-platform development
However, the core serverless principals apply to other
cloud providers
5
Microsoft Azure
The “evolution” of hosting platforms
6
Microsoft Azure
The goals of “serverless”
Microsoft Azure
Serverless
Full abstraction of servers
Instant scale
Pay-per-use
Microsoft Azure
Adopting serverless and cloud
native
Microsoft Azure
Azure serverless ecosystem
Event driven serverless offerings…
Microsoft Azure
Azure serverless ecosystem
Microsoft Azure
Azure Functions
Microsoft Azure
Connecting other services for faster
solution development
•Save time with
triggers and
bindings
•Focus on the code
that matters to your
business
13
Microsoft Azure
PlatformApplicationdeliveryOperatingsystem
●●● ●●●
●●●
+
https://github.com/azure/azure-functions-host
(+other repos)
Azure Functions
host runtime
Azure Functions
Core Tools
Azure Functions
base Docker image
Azure Functions
.NET Docker image
Azure Functions
Node Docker image
●●●
Functions everywhere
Microsoft Azure
Use your favorite language
16
Demos
Start coding
Microsoft Azure
Scale and latency
Microsoft Azure
Cold-starts
• When choosing the ‘Consumption’ plan, you will have elastic
scale but at the cost of cold starts.
• A cold-start is a small amount of time needed to warm up the
resources and execute your functions. Consumption plan runs
on a shared environment and resources need to be allocated.
• Cold-start could take 1-3 seconds.
19
Microsoft Azure
Premium Functions
• More powerful hardware (increased CPU and memory options)
• Elastic scale with control (burst scaling)
• Avoid cold-start with perpetually warm instances
• Consistent performance
• Network isolation, VNET connectivity
• Long running execution (60min guaranteed)
• Better predictable pricing
20
Microsoft Azure
Running healthy apps in the
cloud
Microsoft Azure
Running healthy apps in the cloud
•Use production hardware
•Use multiple instances
•Deploy to multiple regions
•Leverage deployment slots
•Geo-replication for your data
•Use redundant storage
•Monitoring and profiling
22
Microsoft Azure
Use production
hardware
• Use recommended
“production” pricing tiers and
select the appropriate plan
• Allocate minimum instances
and set number of pre-
warmed instances
• Don’t run non-production
code with your production app
23
Microsoft Azure
Use multiple
instances
• Azure Functions provides the
means to automatically scale
when needed
• Allocate minimum instances in
the Scale out (App Service
Plan) blade
• Set number of pre-warmed
instances to avoid cold-starts
24
Microsoft Azure
Deploy to multiple
regions
• Leverage Azure Front Door or
Traffic Manager to intercept
traffic before it hits your site
• Helps with routing and
distribution between your
instances and regions
• Route incoming requests based
on the customer’s geography
25
Microsoft Azure
Leverage deployment slots
26
Why use slots?
• Different environments for different
purposes – test your changes
• Prewarming
• Easy fallbacks
• Reduce costs
How are functions affected by swapping slots?
• Traffic redirection is seamless; no requests
are dropped because of a swap.
• If a function is running during a swap,
execution continues, and the next triggers
are routed to the swapped app instance.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-deployment-slots
Microsoft Azure
Geo-Replication
27
COSMOS DB SQL-API
• Write scalability around the
world
• Low latency (<10ms P99 for 1kb
document) writes around the
world
• 99.999% High Availability around
the world
• Well-defined consistency models
• Automatic conflict management
Microsoft Azure
Cosmos DB: Optimize for preferred
region
28
Microsoft Azure
Redundant storage (RS-GRS)
29
READ-ACCESS GEO-REDUNDANT STORAGE
Redundancy in the primary region
• Locally redundant storage (LRS) copies your data synchronously three times within a single
physical location in the primary region.
• Zone-redundant storage (ZRS) copies your data synchronously across three Azure availability
zones in the primary region.
Redundancy in a secondary region
• Geo-redundant storage (with GRS or GZRS) replicates your data to another physical location
in the secondary region to protect against regional outages.
• Design your applications for read access to the secondary region.
Microsoft Azure
Leverage geo redundant URL
30
Microsoft Azure
Monitoring and profiling
31
Enable Application Insights
• Application map
• Live metrics stream
• Search
• Failures
• Performance profiling
• Track dependencies
Microsoft Azure
Demo scenario – Twilio Call
Integration Application
Microsoft Azure
Azure On-prem
Architecture
33
Twilio
Calls
Messages
Caller
Recipient
Features
• Integrates into Twilio calls and messaging
platform
• Auto scale and low latency
• Global scale, high availability, and
resiliency
• Secure access to on-prem resources
Microsoft Azure
On-prem
34
AzureTwilio
Calls
Messages
Caller
Recipient
Hybrid
Connection
Manager
SQL Server
Traffic
Manager
Data Factory
(ETL pipeline)
Cosmos DB
SQL API
Logic App
App Configuration
MediaFile
StartCall
PostCall
Blob
Storage
Queue
Storage
Hybrid Connection
ProcessCall
PostCall
Orchestrator
API
Management
Call Details
• Traffic Manager for DNS-based load
balancing across multiple regions
• Azure Function App - Premium plan
• Cosmos DB with geo-replication and
multi-master writes
• Queue Storage
• Blob Storage with Read-access geo-
redundant storage (RA-GRS)
• Hybrid Connections for integration with
on-premises endpoints
• Azure Data Factory for running ETL tasks
for synchronizing data from on-
premises into Cosmos DB
• Application Insights
• Azure Pipelines for CI/CD
Microsoft Azure
Multiple regions with Traffic Manager
Azure - West US 2
Azure - Global
Managed Service
Azure - East US 2
http://tm-enterpriseserverless-01.trafficmanager.net/api/startcall
35
DNS-BASED LOAD BALANCING
• Flexible routing options
• Priority, performance, geographic,
weighted round-robin, subnet, and
multi-value
• Reduce application downtime
• Improve app performance and
content delivery
• Distribute user traffic over multiple
locations
• Use with your on-premises
datacenter
• Geographic fencing of your
application users
Demos
Start coding
Microsoft Azure
Demo notes
• Twilio test call and SMS
• Premium Function
• Warmed instances
• Deployment slots
• Cosmos DB geo replication + multi-master + Autoscale
• Storage (RS-GRS)
• Configure for secondary URL
• Traffic Manager
• App Configuration
37
Microsoft Azure
Developer productivity
Microsoft Azure
Tooling
Develop and test locally and disconnected from Azure using:
• Visual Studio and/or Visual Studio Code
• Cosmos DB Emulator
• Microsoft Azure Storage Emulator
• Microsoft Azure Storage Explorer
• .NET Core 3.1, Function runtime v3, Cosmos DB SQL API
• CI/CD – Azure Pipelines or GitHub Actions
39
Microsoft Azure
Inner and outer loop development
Inner Loop
Source
Control
Build and
Test (CI)
Deploy
(CD)
Run
(Prod)
Monitoring
&
Diagnostics
Code,
Run,
Debug
Outer Loop
Microsoft Azure
Getting code to the cloud
Direct publish App Service SCM (Kudu) CI/CD tools
“right click publish”
CD CD
CI
Check-in Check-in
Microsoft Azure
Wrapping it up
Microsoft Azure
Your applications could
benefit from serverless
today.
Microsoft Azure
Wrap-up
• Serverless is the next big thing for enterprise. Pick what
works for you
• Serverless is more than just compute, functions, and app
development
• Serverless brings a lot of benefits, but you still need to
design for global scale, availability and resiliency
Microsoft Azure
Resources
Session Materials on GitHub
Session Resources
https://github.com/calloncampbell/Enterprise-Serverless-Demo/
All in one resource:
https://github.com/calloncampbell/Enterprise-Serverless-Demo/blob/master/RESOURCES.md
Presentation: https://www.slideshare.net/CallonCampbell/
Get Certified
Microsoft Azure
https://LinkedIn.com/in/CallonCampbell
@flying_maverick
Callon@CloudMavericks.ca
https://GitHub.com/CallonCampbell
Let’s connectLet’s connect
Microsoft Azure
Thank You

More Related Content

What's hot

Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
InCycleSoftware
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
Lorenzo Barbieri
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
nj-azure
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Edureka!
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOps
Lorenzo Barbieri
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
DevOps: a story about automation, open source & the Cloud
DevOps: a story about automation, open source & the CloudDevOps: a story about automation, open source & the Cloud
DevOps: a story about automation, open source & the Cloud
Adrian Todorov
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
Eng Teong Cheah
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
Swaminathan Vetri
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
Naoki (Neo) SATO
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
Guillermo Zepeda Selman
 
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Callon Campbell
 
Azure DevOps
Azure DevOpsAzure DevOps
Automated Release Pipelines with Azure DevOps
Automated Release Pipelines with Azure DevOpsAutomated Release Pipelines with Azure DevOps
Automated Release Pipelines with Azure DevOps
ProjectCon
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
Azure Riyadh User Group
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
Jessica Deen
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
Azure devops
Azure devopsAzure devops
Azure devops
Mohit Chhabra
 

What's hot (20)

Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOps
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
DevOps: a story about automation, open source & the Cloud
DevOps: a story about automation, open source & the CloudDevOps: a story about automation, open source & the Cloud
DevOps: a story about automation, open source & the Cloud
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Automated Release Pipelines with Azure DevOps
Automated Release Pipelines with Azure DevOpsAutomated Release Pipelines with Azure DevOps
Automated Release Pipelines with Azure DevOps
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Azure devops
Azure devopsAzure devops
Azure devops
 

Similar to Building scalable applications using serverless on the cloud

Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
Callon Campbell
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
Balabiju
 
Azure Fundamentals Part 2
Azure Fundamentals Part 2Azure Fundamentals Part 2
Azure Fundamentals Part 2
CCG
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native Apps
David Chou
 
IBM - Introduction to Cloudant
IBM - Introduction to CloudantIBM - Introduction to Cloudant
IBM - Introduction to Cloudant
Francisco González Jiménez
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
Raul Chong
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft Azure
Mihail Mateev
 
Neev cloud services with AWS
Neev cloud services with AWSNeev cloud services with AWS
Neev cloud services with AWS
Neev Technologies
 
Azure basics
Azure basicsAzure basics
Azure basics
Jitendra Soni
 
Containers in Microsoft Azure
Containers in Microsoft AzureContainers in Microsoft Azure
Containers in Microsoft Azure
Sergii Kryshtop
 
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
Luis Beltran
 
Cosmos DB and Azure Functions A serverless database processing.pptx
Cosmos DB and Azure Functions  A serverless database processing.pptxCosmos DB and Azure Functions  A serverless database processing.pptx
Cosmos DB and Azure Functions A serverless database processing.pptx
icebeam7
 
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!)
Getting sh*t done with Azure Functions (on AKS!)
Rick van den Bosch
 
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
Patrick Chanezon
 
More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less Cash
Michael Collier
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
Nirmal Thewarathanthri
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
Callon Campbell
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Nutanix and microsoft_webinar_oct_28
Nutanix and microsoft_webinar_oct_28Nutanix and microsoft_webinar_oct_28
Nutanix and microsoft_webinar_oct_28
groberts52
 
Festive Tech Calendar 2022
Festive Tech Calendar 2022Festive Tech Calendar 2022
Festive Tech Calendar 2022
Callon Campbell
 

Similar to Building scalable applications using serverless on the cloud (20)

Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
 
Azure Fundamentals Part 2
Azure Fundamentals Part 2Azure Fundamentals Part 2
Azure Fundamentals Part 2
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native Apps
 
IBM - Introduction to Cloudant
IBM - Introduction to CloudantIBM - Introduction to Cloudant
IBM - Introduction to Cloudant
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft Azure
 
Neev cloud services with AWS
Neev cloud services with AWSNeev cloud services with AWS
Neev cloud services with AWS
 
Azure basics
Azure basicsAzure basics
Azure basics
 
Containers in Microsoft Azure
Containers in Microsoft AzureContainers in Microsoft Azure
Containers in Microsoft Azure
 
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
DataWeekender 4_2 Cosmos DB and Azure Functions- A serverless database proces...
 
Cosmos DB and Azure Functions A serverless database processing.pptx
Cosmos DB and Azure Functions  A serverless database processing.pptxCosmos DB and Azure Functions  A serverless database processing.pptx
Cosmos DB and Azure Functions A serverless database processing.pptx
 
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!)
Getting sh*t done with Azure Functions (on AKS!)
 
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
 
More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less Cash
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Nutanix and microsoft_webinar_oct_28
Nutanix and microsoft_webinar_oct_28Nutanix and microsoft_webinar_oct_28
Nutanix and microsoft_webinar_oct_28
 
Festive Tech Calendar 2022
Festive Tech Calendar 2022Festive Tech Calendar 2022
Festive Tech Calendar 2022
 

More from Callon Campbell

Global Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in AzureGlobal Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in Azure
Callon Campbell
 
Getting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated ModeGetting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated Mode
Callon Campbell
 
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Callon Campbell
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Callon Campbell
 
Festive Tech Calendar 2021
Festive Tech Calendar 2021Festive Tech Calendar 2021
Festive Tech Calendar 2021
Callon Campbell
 
BestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptxBestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptx
Callon Campbell
 
Whats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptxWhats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptx
Callon Campbell
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Callon Campbell
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...
Callon Campbell
 
Centralized configuration with azure app configuration
Centralized configuration with azure app configurationCentralized configuration with azure app configuration
Centralized configuration with azure app configuration
Callon Campbell
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event Grid
Callon Campbell
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
Callon Campbell
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
Callon Campbell
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
Callon Campbell
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
Callon Campbell
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)
Callon Campbell
 
Bring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive servicesBring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive services
Callon Campbell
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functions
Callon Campbell
 
Azure functions - Build apps faster with serverless architecture
Azure functions - Build apps faster with serverless architectureAzure functions - Build apps faster with serverless architecture
Azure functions - Build apps faster with serverless architecture
Callon Campbell
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
Callon Campbell
 

More from Callon Campbell (20)

Global Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in AzureGlobal Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in Azure
 
Getting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated ModeGetting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated Mode
 
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
 
Festive Tech Calendar 2021
Festive Tech Calendar 2021Festive Tech Calendar 2021
Festive Tech Calendar 2021
 
BestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptxBestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptx
 
Whats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptxWhats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptx
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...
 
Centralized configuration with azure app configuration
Centralized configuration with azure app configurationCentralized configuration with azure app configuration
Centralized configuration with azure app configuration
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event Grid
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)
 
Bring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive servicesBring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive services
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functions
 
Azure functions - Build apps faster with serverless architecture
Azure functions - Build apps faster with serverless architectureAzure functions - Build apps faster with serverless architecture
Azure functions - Build apps faster with serverless architecture
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
 

Recently uploaded

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

Building scalable applications using serverless on the cloud

  • 1. Callon Campbell Solutions Architect | Developer | Microsoft MVP Cloud Mavericks Inc. Building Scalable Applications Using Serverless on the Cloud
  • 2. Microsoft Azure Callon Campbell Solution Architect | Developer Microsoft MVP in Azure He/him/his Speaker introduction • 20 years enterprise development with Microsoft technologies – .NET (C#), Azure, Web (ASP.NET, Angular, JavaScript), Desktop, SQL, and Mobile • Passionate about serverless and cloud-native application development • Blogging at https://TheFlyingMaverick.com • Speaker at community events and meetups • Co-creator of ReflectInsight, a live .NET log viewer • Organizer of “Canada’s Technology Triangle .NET User Group” in Kitchener, Ontario
  • 3. Microsoft Azure Agenda •Goals of serverless •Adopting serverless and cloud native for your application architecture •Building for scale, high availability and resiliency •Real world example – code and demos •Q&A 4
  • 4. Microsoft Azure In today’s talk… • Serverless using Microsoft Azure technologies Create your Azure free account today: https://azure.microsoft.com/en-us/free/ • .NET Core (C#) in my demos Cross-platform development However, the core serverless principals apply to other cloud providers 5
  • 5. Microsoft Azure The “evolution” of hosting platforms 6
  • 6. Microsoft Azure The goals of “serverless”
  • 7. Microsoft Azure Serverless Full abstraction of servers Instant scale Pay-per-use
  • 9. Microsoft Azure Azure serverless ecosystem Event driven serverless offerings…
  • 12. Microsoft Azure Connecting other services for faster solution development •Save time with triggers and bindings •Focus on the code that matters to your business 13
  • 13. Microsoft Azure PlatformApplicationdeliveryOperatingsystem ●●● ●●● ●●● + https://github.com/azure/azure-functions-host (+other repos) Azure Functions host runtime Azure Functions Core Tools Azure Functions base Docker image Azure Functions .NET Docker image Azure Functions Node Docker image ●●● Functions everywhere
  • 14. Microsoft Azure Use your favorite language 16
  • 17. Microsoft Azure Cold-starts • When choosing the ‘Consumption’ plan, you will have elastic scale but at the cost of cold starts. • A cold-start is a small amount of time needed to warm up the resources and execute your functions. Consumption plan runs on a shared environment and resources need to be allocated. • Cold-start could take 1-3 seconds. 19
  • 18. Microsoft Azure Premium Functions • More powerful hardware (increased CPU and memory options) • Elastic scale with control (burst scaling) • Avoid cold-start with perpetually warm instances • Consistent performance • Network isolation, VNET connectivity • Long running execution (60min guaranteed) • Better predictable pricing 20
  • 19. Microsoft Azure Running healthy apps in the cloud
  • 20. Microsoft Azure Running healthy apps in the cloud •Use production hardware •Use multiple instances •Deploy to multiple regions •Leverage deployment slots •Geo-replication for your data •Use redundant storage •Monitoring and profiling 22
  • 21. Microsoft Azure Use production hardware • Use recommended “production” pricing tiers and select the appropriate plan • Allocate minimum instances and set number of pre- warmed instances • Don’t run non-production code with your production app 23
  • 22. Microsoft Azure Use multiple instances • Azure Functions provides the means to automatically scale when needed • Allocate minimum instances in the Scale out (App Service Plan) blade • Set number of pre-warmed instances to avoid cold-starts 24
  • 23. Microsoft Azure Deploy to multiple regions • Leverage Azure Front Door or Traffic Manager to intercept traffic before it hits your site • Helps with routing and distribution between your instances and regions • Route incoming requests based on the customer’s geography 25
  • 24. Microsoft Azure Leverage deployment slots 26 Why use slots? • Different environments for different purposes – test your changes • Prewarming • Easy fallbacks • Reduce costs How are functions affected by swapping slots? • Traffic redirection is seamless; no requests are dropped because of a swap. • If a function is running during a swap, execution continues, and the next triggers are routed to the swapped app instance. https://docs.microsoft.com/en-us/azure/azure-functions/functions-deployment-slots
  • 25. Microsoft Azure Geo-Replication 27 COSMOS DB SQL-API • Write scalability around the world • Low latency (<10ms P99 for 1kb document) writes around the world • 99.999% High Availability around the world • Well-defined consistency models • Automatic conflict management
  • 26. Microsoft Azure Cosmos DB: Optimize for preferred region 28
  • 27. Microsoft Azure Redundant storage (RS-GRS) 29 READ-ACCESS GEO-REDUNDANT STORAGE Redundancy in the primary region • Locally redundant storage (LRS) copies your data synchronously three times within a single physical location in the primary region. • Zone-redundant storage (ZRS) copies your data synchronously across three Azure availability zones in the primary region. Redundancy in a secondary region • Geo-redundant storage (with GRS or GZRS) replicates your data to another physical location in the secondary region to protect against regional outages. • Design your applications for read access to the secondary region.
  • 28. Microsoft Azure Leverage geo redundant URL 30
  • 29. Microsoft Azure Monitoring and profiling 31 Enable Application Insights • Application map • Live metrics stream • Search • Failures • Performance profiling • Track dependencies
  • 30. Microsoft Azure Demo scenario – Twilio Call Integration Application
  • 31. Microsoft Azure Azure On-prem Architecture 33 Twilio Calls Messages Caller Recipient Features • Integrates into Twilio calls and messaging platform • Auto scale and low latency • Global scale, high availability, and resiliency • Secure access to on-prem resources
  • 32. Microsoft Azure On-prem 34 AzureTwilio Calls Messages Caller Recipient Hybrid Connection Manager SQL Server Traffic Manager Data Factory (ETL pipeline) Cosmos DB SQL API Logic App App Configuration MediaFile StartCall PostCall Blob Storage Queue Storage Hybrid Connection ProcessCall PostCall Orchestrator API Management Call Details • Traffic Manager for DNS-based load balancing across multiple regions • Azure Function App - Premium plan • Cosmos DB with geo-replication and multi-master writes • Queue Storage • Blob Storage with Read-access geo- redundant storage (RA-GRS) • Hybrid Connections for integration with on-premises endpoints • Azure Data Factory for running ETL tasks for synchronizing data from on- premises into Cosmos DB • Application Insights • Azure Pipelines for CI/CD
  • 33. Microsoft Azure Multiple regions with Traffic Manager Azure - West US 2 Azure - Global Managed Service Azure - East US 2 http://tm-enterpriseserverless-01.trafficmanager.net/api/startcall 35 DNS-BASED LOAD BALANCING • Flexible routing options • Priority, performance, geographic, weighted round-robin, subnet, and multi-value • Reduce application downtime • Improve app performance and content delivery • Distribute user traffic over multiple locations • Use with your on-premises datacenter • Geographic fencing of your application users
  • 35. Microsoft Azure Demo notes • Twilio test call and SMS • Premium Function • Warmed instances • Deployment slots • Cosmos DB geo replication + multi-master + Autoscale • Storage (RS-GRS) • Configure for secondary URL • Traffic Manager • App Configuration 37
  • 37. Microsoft Azure Tooling Develop and test locally and disconnected from Azure using: • Visual Studio and/or Visual Studio Code • Cosmos DB Emulator • Microsoft Azure Storage Emulator • Microsoft Azure Storage Explorer • .NET Core 3.1, Function runtime v3, Cosmos DB SQL API • CI/CD – Azure Pipelines or GitHub Actions 39
  • 38. Microsoft Azure Inner and outer loop development Inner Loop Source Control Build and Test (CI) Deploy (CD) Run (Prod) Monitoring & Diagnostics Code, Run, Debug Outer Loop
  • 39. Microsoft Azure Getting code to the cloud Direct publish App Service SCM (Kudu) CI/CD tools “right click publish” CD CD CI Check-in Check-in
  • 41. Microsoft Azure Your applications could benefit from serverless today.
  • 42. Microsoft Azure Wrap-up • Serverless is the next big thing for enterprise. Pick what works for you • Serverless is more than just compute, functions, and app development • Serverless brings a lot of benefits, but you still need to design for global scale, availability and resiliency
  • 43. Microsoft Azure Resources Session Materials on GitHub Session Resources https://github.com/calloncampbell/Enterprise-Serverless-Demo/ All in one resource: https://github.com/calloncampbell/Enterprise-Serverless-Demo/blob/master/RESOURCES.md Presentation: https://www.slideshare.net/CallonCampbell/ Get Certified