Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... ·...

40
Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft Azure

Transcript of Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... ·...

Page 1: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Steef-Jan WiggersAzure & IoT Domain Lead

Serverless Messaging with Microsoft Azure

Page 2: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

[email protected]

+31 653 12 29 57

@SteefJan

nl.linkedin.com/in/steefjan

Page 3: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

What can you expected in this session

• Serverless messaging

• Messaging In Azure

• Messaging scenarios

• Demo’s

Page 4: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Serverless

4

Page 5: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Evolution to Serverless

• You can choose:• VM →

• Containers →

• Orchestrators →

• PaaS →

• Serverless

On-premise IaaS PaaS Serverless

Page 6: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

“Serverless computing is a cloud-computing execution model in

which the cloud provider dynamically manages the allocation of

machine resources. Pricing is based on the actual amount of

resources consumed by an application, rather than on pre-

purchased units of capacity. It is a form of utility computing.”

Source (Wikipedia Serverless Computing):

https://en.wikipedia.org/wiki/Serverless_computing

Defining Serverless

Page 7: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Thoughts on Serverless

- Infinite scale requires atomic workloads and

infinite resources.

- Reality is resources are always finite and many

workloads not atomic.

- Messaging is for decoupling and transferring

state or data secure and reliably.

Page 8: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Serverless in Azure

- Serverless Compute → Azure Functions

- Serverless Database → Azure Cosmos DB

- Serverless Events → Azure Event Grid

- Serverless Realtime → Azure Signal R Service

- Serverless Workflow → Logic Apps &

Durable Functions

- Serverless IoT → IoT Hubs

- Serverless Analytics → Application Insights

Page 9: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Serverless Messaging

Message: >Down

Message: >Stay

Message: >Come

Is this serverless messaging?

Page 10: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

What I mean is: You have options!

We have various messaging capabilities in Azure!

Event Hubs

Telemetry

stream

ingestion

Service Bus &

Azure Queues

Cloud

messaging

Event Grid

Event

distribution

Logic Apps

Workflow

and LOB

Integration

IoT Hub

IoT messaging

and manage-

ment

Notification

Hubs

Mobile push

notifications

Relay

Discovery,

Firewall/NAT

Traversal

Page 11: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Azure Messaging Services

Page 12: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

What do people do with messaging?

- Order processing

- Logging / telemetry

- Connected devices

- Notification / event driven systems

Page 13: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Messaging Services in Azure

•Azure Service Bus

•Event Hubs

•Event Grid

•Storage Queue

Page 14: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Service Bus Event Hubs Storage Queues

Big data streamingEnterprise messaging Simple task queues

Event Grid

Cross cloud reactive eventing

Building Blocks

Page 15: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Enterprise MessagingBusiness state transition

• Transfer of money and material

• Central arbiter of state / truth of transition or ownership

• Rich control of communication features

• You know a lot ahead of time

• You know the nouns:• Who• What• Where

• Competitive offering from Amazon: SQS, Amazon MQ, Google Pub/Sub

Page 16: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Reacting dynamically to the world around you

• Cross App / Service / Cloud / Organization

• Light weight

• Low cost

• Few features, but important ones

• You probably don’t know the nouns and may not care

Eventing

Page 17: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Service BusEnterprise Messaging

Azure Event GridReactive Programming

• Queue Semantics• Rich filters• Instantaneous consistency• Strict ordering• JMS• Geo-replication & Availability• Rich broker features

• Event raised by sources• Independent individual

messages• Push mechanism• Filtering and routing• Pay as you go• Fan out

Push-Pull - Push-Push

Cloud Pub/Sub Models

Page 18: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Task Queue

Coordinate simple tasks across compute (workers)

• Low cost

• Pay as you Go

• Few features

• Easy to use

• Have as many queues as you like

Page 19: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Cloud QueuesService Bus Queues - Storage Queues

Service BusQueues

StorageQueues

• Queue Semantics• Rich filters• Instantaneous consistency• Strict ordering• JMS• Geo-replication & Availability• Rich broker features

• Part of Storage infrastructure• Simple REST-based interface• Pull mechanism• Reliable• Persistence messaging• Only queues

Page 20: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Big Data StreamsFlow data and telemetry in real-time

• Durable re-playable buffer

• Designed as a stream

• Events to an event hub via AMQP or HTTP

• Real-time and batch processing

• Feeding Big Data and Analytics

• Pre-purchase capacity in terms of throughput units

• Offers an Kafka Endpoint

• Competitive offering from Amazon Kinesis, Apache Kafka, and Google Pub/Sub

Page 21: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Brought to you by Wagner Silveira - https://goo.gl/LcjMQB

Kafka Endpoint - Demo

Page 22: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Produce - Consume

Page 23: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

.NET Code

Page 24: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Messaging considerations

Protocol

Format

Size

Security

Frequency

Reliability

Monitoring

Networking

Page 25: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

VMSS

Cloud Services

VMs

Logic Apps

SQL DB

Express Route

ASA

SQL DW

Power BI

Data Lake

Cosmos DB

Functions

AKS

ACS

Page 26: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Messaging scenario’s

Page 27: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Tollbooth License Plate Recognition

Page 28: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

License plate OCR

• Use the Recognition Services Computer Vision API and its built-

in OCR capabilities

• The image processing function can make a REST call to send the

photo and read the JSON data in return

Smart solution

Page 29: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Smart Services - Demo

Page 30: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Change feed

Page 31: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Serverless Home Automation - Demo

Page 32: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

The processing required by an application can easily be broken

down into a set of independent steps.

Pipes and filters

Page 33: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Microservices containers

Page 34: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Microservice processing - Demo

Page 35: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

K8S – Microservice Log

Page 36: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Use Azure Messaging Services together

Page 37: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Data and event pipeline - Demo

Page 38: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Summary

Choose the right messaging service(s)

Workloads

Cross-platform

Costs

DevOps and Management

Security and compliance

Page 39: Steef-Jan Wiggers - Microsoftbiztalk360.blob.core.windows.net/integrate2018/Integrate... · 2018-06-14 · Steef-Jan Wiggers Azure & IoT Domain Lead Serverless Messaging with Microsoft

Happy Messaging!