randy pagels azure app dev specialist us great lakes region · virtual machine compute/containers...
TRANSCRIPT
Darlene Geiger
Azure Infrastructure Specialist
US Great Lakes Region
Randy Pagels
Azure App Dev Specialist
US Great Lakes Region
Scaling is event-driven
Not resource-driven
Pay only for what your use
Sub-second billing
Servers are fully-abstracted
What is Serverless?
Azure Datacenter Infrastructure
Microsoft Azure Whole block DiagramIaas、Paas、Well-balanced implementation of many services,Iaas And Paas You can also build a system that works together!
AzureBackup
Site Recovery
AzureMonitor
AzurePolicy
AzureBluepirnts
LogAnalytics
Azure Migrate
DataboxFamily
Compute Storage Networking
LinuxVirtualMachine
Compute/Containers Web/Mobile DevOps/Developer
ContainerInstance
Functions
Service Fabric
Integration Iot Data Services
Service Bus Event Grid
Logic AppsApiManagement
Management Platform as a Services (PaaS) Security
Infrastructure as a Services IaaS
Disk
Storage
Managed
Disks
WindowsVirtual Machines
Express
Route
Load
Balancer
Azure
Firewall
Virtual
Wan
NetworkWatcher
Virtual
Network
Vpn
Gateway
Media Services
Content DeliveryNetwork
Media/CDN
CognitiveServices
IoT Hub
StreamAnalytics
Role-based Access control
AzureDigital Twins
Time SeriesInsights
IoT Central
IoT Edge
Bot
Services
SQL DataWarehouse
AzureDatabricks
Apache
Spark
Ai
MachineLearning Studio
MachineLearning Service
Azure
Search
Analytics
Data Lake
Storage Gen2
Mobile Apps
Web Apps Logic Apps API Apps
NotificationHubs
SignalrService
ApplicationInsights
LabServices
Azure DevOps
Sdk
SqlDatabase
Data Factory
Database forMysql Cosmos DB
Database forPostgresql
Database forMariaDB
DatabaseMigration Service
Azure CacheFor Redis
Azure AD
Key Vault
Security Center
DdosProtection
Multi-FactorAuthentication
Azure ATP
Azure AD forDomain Services
Azure ADB2c
Cost Management
Video Indexer
Content Protection
KubernetesService
SQL DataWarehouse
TableStorage
…you can rent a car
…if cloud computing was transportation
…you can lease a car and take care of maintenance
…you can rent a car and pay for having it around even when you are not driving
…you can rent a car
…if cloud computing was transportation
…you can lease a car and take care of maintenance
…you can rent a car and pay for having it around even when you are not driving
…you can use a ride sharing app pay only for transportation
Automation in Azure Deploy and operate infrastructure and applications in Azure using domain specific services
Deliver repeatable and consistent
infrastructure as code.
Create event-based automation to
diagnose and resolve issues.
Orchestrate your automation across
Azure and 3rd party systems.
Blueprints Logic AppsFunctionsResource ManagerPolicyDeployment
ManagerDevOps DSC
Azure Event Grid
Event-driven serverless offerings
Built-in security
Rich monitoring
Compliance and management
IDE integration
Local development
Flexible deployment options
Azure serverless ecosystem
IoT Hub
Blob Storage
Resource Groups
Azure Subscriptions
Event Hubs
Custom Topics
Storage (GPv2)
Azure Functions
Logic Apps
Azure Automation
WebHooks
Event Hubs
© Microsoft Corporation
Serverless is good for…
Web application backends
Mobile application backends
IoT-connected backends
Real-time file processing
Real-time stream processing
Automation of scheduled tasks
Extending SaaS Applications
Conversational bot processing
© Microsoft Corporation
GLAS® Smart Thermostat by Johnson Controls
Migrated from VMs to PaaS for Thermostat intelligence
Ready for sudden vertical growth in the consumer market—charged for usage as they scale
20K+ IoT devices
Event driven architecture works well for IoT
Auto-scale
Predictable pricing
Scale up to 20
Higher VM options
VNET options
Unlimited duration
AS Plan
Event-based scaling
Pay per usage
Infinite scale
Fixed VM sizes
No VNET options
10 mins max
Consumption
Serverless Free, Basic,
Standard, Premium
Full Network
Isolation
AS Environment
Network
isolation
Elastic Premium
“Serverless for
Enterprises”
Event-based scaling
Reserved Instances
Throttling controls
Higher VM sizes
VNET options
Unlimited duration
Event-based scaling
Pay per usage
Infinite scale
Fixed VM sizes
No VNET options
10 mins max
Consumption
Serverless
Azure Functions is an open-source projectFunctions runtime and all extensions are fully open source
https://github.com/Azure/Azure-Functions
Security
Identity and secrets management
AAD AAD B2C
Managed Identity Key Vault
Observability, auditing, and alerting
Azure Monitor App Insights
Security Center Azure Sentinel
Networking and on-prem access
Virtual Networks Service Endpoints
Hybrid Connections ExpressRoute
“Building Enterprise Capable Serverless Applications”Talk available online(Highly recommend)
5) Output binding
Azure Services
7) Develop locally 6) Monitor and improve
3) Develop 4) Execute2) Input binding
Web
Hooks
1) Trigger
Azure Services
Serverless Eventing in Azure Functions
Event Source
Event Driven
Scale
Controller
How many events are
being generated?
Serverless Eventing in Azure Functions
Event Source
Event Driven
Scale
Controller
Scale functions based
on event metrics
Serverless Eventing in Azure Functions
Event Source
Event Driven
Scale
Controller
Scale functions based
on event metrics
Kubernetes
event driven autoscaling
• Monitors the rate of events to proactively scale any container
• Feeds the data into the Kubernetes system to drive scaling
• Allows containers to scale to and from zero
• Open source (MIT License) and onboarding to CNCF
• Extensible and pluggable scalers to grab metrics from any event source• Azure Service Bus
• Azure Event Hubs
• Kafka
• RabbitMQ
• AWS Simple Queue Service
• GCP PubSub
• More…
https://github.com/kedacore/keda
Storage Queues Service Bus Event Hubs Event Grid
Transactions/Atomicity
Ordering guarantee
Delivery Guarantee At least Once At least Once, At Most Once At least Once At least Once
Read Pull/Destructive Pull/Destructive Pull/Repeatable Push
Peek Repeatable reads
Batch Send
Batch Receive
Filtering/Routing Advanced - Simple
In flight transformation
Message Size 64 KB 256KB – 1 MB 256 KB 64 KB
De-duplication
© Microsoft Corporation
Web application backends
Request made
in a web app
Request queued
in Service Bus or
Storage Queue
A function processes the
request…..sends output to
Cosmos DB
Retail
Online orders are picked up from a queue, processed and
the resulting data is stored in a database
Scenario Example: Retail
© Microsoft Corporation
Mobile application backends
Call processed by
a function
Output data stored
in Cosmos DB
Data transfer
triggers second
function…
…which sends
notifications using
Notifications Hub
HTTP API call
from a mobile app
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
Colleagues use mobile banking to reimburse each other for lunch: the
person who paid for lunch requests payment through his mobile app,
triggering a notification on his colleagues’ phones.
Scenario Example: Financial Services
© Microsoft Corporation
IoT-connected backends
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
A manufacturing company uses IoT to monitor its machines. Functions detects anomalous data
and triggers a message to Service department when repair is required.
Scenario Example: Manufacturing
Connected IoT devices
producing data
Data sent to
IoT Hub
Data with special
condition routed to
a function
A function
processes
message...
..which invokes
Zendesk…
…and calls Logic
Apps
…to request
device repair
© Microsoft Corporation
Conversational bot processing
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
Customer asks for available vacation accommodations on her smartphone. A serverless bot
deciphers the request and returns vacation options.
Scenario Example: Hospitality
User request through
conversational
interface
Bot running in a function
deciphers request using
language understanding
Another function
processes the request
…and sends response to
original requester
? ? ?
© Microsoft Corporation
Real-time file processing
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
Patient records are securely uploaded as PDF files. That data is then decomposed, processed
using OCR detection, and added to a database for easy queries.
Scenario Example: Healthcare
Structured data from file
sent to SQL DB
PDF file added to Blob
Storage
A function decomposes
PDF file…
…and sends it to
Cognitive Services for
OCR detection
© Microsoft Corporation
Automation of scheduled tasks
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
A customer database is analyzed for duplicate entries every 15 minutes, to avoid multiple
communications being sent out to same customers.
Scenario Example: Financial Services
A function cleans a database
every 15 minutes…
…deduplicating entries
based on business logic
© Microsoft Corporation
Extending SaaS Applications
Scenario Example
Financial Services
Colleagues use mobile
banking to reimburse
each other for lunch:
the person who paid
for lunch requests
payment through his
mobile app, triggering
a notification on his
colleagues’ phones.
A SaaS solution provides extensibility through webhooks, which can be implemented through
Functions, to automate certain workflows
Scenario Example: Professional Services
Issue created in
GitHub…
…which is
processed by a
function…
…by posting the
issue details to
Slack
…which triggers a
webhook call