Brewing Beer with Windows Azure (WAZUG.nl)

Post on 19-May-2015

646 views 2 download

Tags:

description

Inspired by one of the Windows Azure gods (Wade Wegner), Maarten decided to order a homebrewing starter kit. Being a total cloud fanboy, he decided to hook those delicious creations to the cloud. Join Maarten and discover how you can connect a variety of devices (like *duino) and USB temperature sensors to Windows Azure to monitor brewing and fermentation temperatures. He'll show you how to do distributed brewing in this fun yet practical session on an interesting use case for the cloud: beer.

Transcript of Brewing Beer with Windows Azure (WAZUG.nl)

APRIL 12, 2023 | SLIDE 1

Brewing Beer with Windows AzureMaarten Balliauw

@maartenballiauw

APRIL 12, 2023 | SLIDE 3

Who am I? Maarten Balliauw www.realdolmen.com AZUG Focus on web

ASP.NET MVC, Windows Azure, SignalR, ... MVP Windows Azure & ASPInsider

http://blog.maartenballiauw.be @maartenballiauw

APRIL 12, 2023 | SLIDE 4

Shameless commercial plug Pro NuGet:

http://amzn.to/pronuget

MyGet - NuGet-as-a-Service: http://www.myget.org

APRIL 12, 2023 | SLIDE 5

Agenda Brewing beer BrewBuddy Windows Azure Websites Service Bus & Access Control Service (ACS) We need an API Q&A

APRIL 12, 2023 | SLIDE 6

BREWING BEERTurn water into beer

APRIL 12, 2023 | SLIDE 7

How it started…

APRIL 12, 2023 | SLIDE 8

How it started… MVP Summit 2011

Wade Wegner talks about his homebrewing hobby

MVP Summit 2012 Wade Wegner talks about his homebrewing

hobby Convinced!

APRIL 12, 2023 | SLIDE 9

The process Get your kegs clean Add & boil ingredients Pour in keg Add yeast Rinse

APRIL 12, 2023 | SLIDE 10

The process

Wait for fermentation to complete

APRIL 12, 2023 | SLIDE 11

The process Pour into another keg Rinse Wait another week Bottling time!

APRIL 12, 2023 | SLIDE 12

Difficult part…

Wait at least 6 weeks for it to age

APRIL 12, 2023 | SLIDE 13

Maarten…

What does this haveto do with Windows Azure?

APRIL 12, 2023 | SLIDE 14

WWW.BREWBUDDY.NETAzurifying the home brewer

APRIL 12, 2023 | SLIDE 15

BrewBuddy View public recipes Manage your own recipes Manage your own brews Monitor brew fermentation

APRIL 12, 2023 | SLIDE 16

demoSocial brewing at a glance

BrewBuddy

APRIL 12, 2023 | SLIDE 17

ArchitecturePublic websiteWindows Azure Web Sites

DatabaseSQL Azure database

Sensor data processingWindows Azure Worker Role

Sensor dataService Bus topic

SensorWhatever…

APRIL 12, 2023 | SLIDE 18

WINDOWS AZURE WEB SITESScale-fast has just become more interesting

APRIL 12, 2023 | SLIDE 19

Windows Azure Web Sites

Build with ASP.NET, Node.js or PHP Deploy in seconds with FTP, Git or

TFS Start for free, scale up as your

traffic grows

APRIL 12, 2023 | SLIDE 20

1SHARED INSTANCES

:-)

shared

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 21

2SHARED INSTANCES

:-)

:-)

shared

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 22

SHARED INSTANCES

:-)

1RESERVED INSTANCE

:-):-)

0reserved

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 23

2RESERVED INSTANCE

:-)

RESERVED INSTANCE

:-)

reserved

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 24

2RESERVED INSTANCE

:-)

RESERVED INSTANCE

:-):-)

:-) :-)

:-):-) :-)

reserved

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 25

A perfect ramp-up! Start small

Web Sites are cheap Scale to 3 reserved instances

Grow big! Hosted Service – PaaS Scale at will

APRIL 12, 2023 | SLIDE 26

demoCreating a new web site in seconds

Windows Azure Web Sites

APRIL 12, 2023 | SLIDE 27

SERVICE BUS &ACCESS CONTROL SERVICE

Connecting sensors

APRIL 12, 2023 | SLIDE 28

Windows Azure Service Bus 2 features

Relay Queues, Topics, Subscriptions

APRIL 12, 2023 | SLIDE 29

Windows Azure Service Bus Relay

Client Service

relay

APRIL 12, 2023 | SLIDE 30

Topics and subscriptions

SensorBackendWorker

APRIL 12, 2023 | SLIDE 31

Characteristics Workers can scale independently Workers can fail independently Sensors connect to service bus directly

No layer in between Cheaper

APRIL 12, 2023 | SLIDE 32

What about authN / authZ? Access Control Service to the rescue! SB authenticates clients over ACS ACS provides “Send” claim to sensor Claims can be granted/revoked easily

APRIL 12, 2023 | SLIDE 33

demoClaims for authZ on Service Bus

Access Control Service

APRIL 12, 2023 | SLIDE 34

ArchitecturePublic websiteWindows Azure Web Sites

DatabaseSQL Azure database

Sensor data processingWindows Azure Worker Role

Sensor managementAccess Control Service

Sensor dataService Bus topic

SensorWhatever…

APRIL 12, 2023 | SLIDE 35

How do you link a sensor? Every sensor has its sensor ID Add it as an identity to ACS Grant a “Send” claim

APRIL 12, 2023 | SLIDE 36

demoRegistering a sensor with Access Control Service

Linking a sensor to a brew

APRIL 12, 2023 | SLIDE 37

WE NEED AN API<french>Make everyone API!</french>

APRIL 12, 2023 | SLIDE 38

Consuming the web 2000-2008: Desktop browser 2008-2012: Mobile browser 2008-2012: iPhone and Android apps 2010-2014: Tablets, tablets, tablets 2014-2016: Your fridge (Internet of Things)

APRIL 12, 2023 | SLIDE 40

Twitter & FacebookBy show of hands…

APRIL 12, 2023 | SLIDE 41

(as the French say)

Make everyone API

APRIL 12, 2023 | SLIDE 42

What is an API? Software-to-Software interface Contract between software and developers

Functionalities, constraints (technical / legal) Programming instructions and standards

Open services to other software developers (public or private)

APRIL 12, 2023 | SLIDE 43

Expose services to 3rd parties

Valuable Flexible Managed Supported Have a plan

APRIL 12, 2023 | SLIDE 44

Reach More Clients

APRIL 12, 2023 | SLIDE 45

ASP.NET Web API Part of ASP.NET MVC 4 Framework to build HTTP Services (REST) Solid features

Modern HTTP programming model Content negotiation (e.g. Xml, json, ...) Query composition (OData query support) Model binding and validation (conversion to .NET objects) Routes Filters (e.g. Validation, exception handling, ...) And more!

APRIL 12, 2023 | SLIDE 46

Be detailed!Think about RFC 2324 (HTCPCP)

APRIL 12, 2023 | SLIDE 47

demoLet’s craft a quick API

ASP.NET Web API

APRIL 12, 2023 | SLIDE 48

What about authN / authZ? API access through OAuth2 Access Control Service to the rescue! Client authorized in BrewBuddy.net Access/refresh tokens through ACS

APRIL 12, 2023 | SLIDE 49

What about authN / authZ?

Access Control ServiceAccess/Refresh Token

API Consumerclient_id and client_secret

BrewBuddy.netInitial authorization (yes/no)API implementation

authorize

register delegationaccess/refresh token

access API

APRIL 12, 2023 | SLIDE 50

demoOAuth2 delegation

Access Control Service for API’s

Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease

APRIL 12, 2023 | SLIDE 51

TAKEAWAYS

APRIL 12, 2023 | SLIDE 52

Keep in mind… Web Sites start cheap / scale fast Combine/grow at will (IaaS, PaaS, SaaS) Service bus for asynchrony and scale Access Control for devices Web API & Access Control

APRIL 12, 2023 | SLIDE 53

Cloud Burst 2012 - Sweden September 27 – 28, 2012 Stockholm http://www.azureug.se/CloudBurst2012

APRIL 12, 2023 | SLIDE 54

THANK YOU!

http://blog.maartenballiauw.be@maartenballiauw

http://amzn.to/pronuget