Upload
maarten-balliauw
View
646
Download
2
Tags:
Embed Size (px)
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.
Citation preview
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 39
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