randy pagels azure app dev specialist us great lakes region · virtual machine compute/containers...

65
Darlene Geiger Azure Infrastructure Specialist US Great Lakes Region Randy Pagels Azure App Dev Specialist US Great Lakes Region

Upload: others

Post on 21-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Darlene Geiger

Azure Infrastructure Specialist

US Great Lakes Region

Randy Pagels

Azure App Dev Specialist

US Great Lakes Region

Agenda

© Microsoft Corporation

Overview of Serverless Computing

The “evolution” of application platforms

PaaSIaaSOn-Premises

The evolution of application platforms

Serverless

The evolution of application platforms

Scaling is event-driven

Not resource-driven

Pay only for what your use

Sub-second billing

Servers are fully-abstracted

What is Serverless?

Focus on Business

Logic

Reduced Time To Market

Reduced DevOps

Value of Serverless Computing

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

…if cloud computing was transportation

…you can lease a car and take care of maintenance

…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

© Microsoft Corporation

Infrastructure and Serverless

© Microsoft Corporation

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

Scheduled task

Azure Monitor

Http trigger / webhook

Integrating with external systems with Logic Apps

© Microsoft Corporation

Application Development and Serverless

© Microsoft Corporation

Inp

uts

Ou

tpu

ts

CODE

Event-driven serverless offerings

Built-in security

Rich monitoring

Compliance and management

IDE integration

Local development

Flexible deployment options

Azure serverless ecosystem

Azure FunctionsEvent driven serverless compute

Azurebest cloud for serverless

IoT Hub

Blob Storage

Resource Groups

Azure Subscriptions

Event Hubs

Custom Topics

Storage (GPv2)

Azure Functions

Logic Apps

Azure Automation

WebHooks

Event Hubs

….and more!

© 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

Local debugging

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

© Microsoft Corporation

CI/CD with DevOps

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)

Inner and Outer Loop Development

5) Output binding

Azure Services

7) Develop locally 6) Monitor and improve

3) Develop 4) Execute2) Input binding

Web

Hooks

1) Trigger

Azure Services

Central logs

Azure Monitor

Application Map

© Microsoft Corporation

Demo

© Microsoft Corporation

Serverless Kubernetes

Serverless Eventing in Azure Functions

Event Source

Serverless Eventing in Azure Functions

Event Source

Event Driven

Scale

Controller

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

App App

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

KEDA + Functions

Docker

Container

Docker

Container

Docker

Container

Kubernetes

App App

App App

© Copyright Microsoft Corporation. All rights reserved.

© Microsoft Corporation

Appendix

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