brewing beerwith windows azure ukwaug
DESCRIPTION
Inspired by one of the Windows Azure gods (Wade Wegner), Maarten and Panos decided to order a homebrewing starter kit. Being total cloud fanboys, they decided to hook their delicious creations to the cloud. Join us 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. We'll show you how to do distributed brewing in this fun yet practical session on an interesting use case for the cloud: beer.TRANSCRIPT
APRIL 7, 2023 | SLIDE 1
#londonazure
Brewing Beer with Windows AzureMaarten Balliauw
@maartenballiauw
APRIL 7, 2023 | SLIDE 3
#londonazure
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 7, 2023 | SLIDE 4
#londonazure
Shameless commercial plug Pro NuGet:
http://amzn.to/pronuget
MyGet - NuGet-as-a-Service: http://www.myget.org
APRIL 7, 2023 | SLIDE 5
#londonazure
Agenda Brewing beer BrewBuddy Windows Azure Websites Service Bus & Access Control Service (ACS) We need an API Q&A
APRIL 7, 2023 | SLIDE 6
#londonazure
BREWING BEERTurn water into beer
APRIL 7, 2023 | SLIDE 7
#londonazure
How it started…
APRIL 7, 2023 | SLIDE 8
#londonazure
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 7, 2023 | SLIDE 9
#londonazure
The process Get your kegs clean Add & boil ingredients Pour in keg Add yeast Rinse
APRIL 7, 2023 | SLIDE 10
#londonazure
The process
Wait for fermentation to complete
APRIL 7, 2023 | SLIDE 11
#londonazure
The process Pour into another keg Rinse Wait another week Bottling time!
APRIL 7, 2023 | SLIDE 12
#londonazure
Difficult part…
Wait at least 6 weeks for it to age
APRIL 7, 2023 | SLIDE 13
#londonazure
Maarten…
What does this haveto do with Windows Azure?
APRIL 7, 2023 | SLIDE 14
#londonazure
WWW.BREWBUDDY.NETAzurifying the home brewer
APRIL 7, 2023 | SLIDE 15
#londonazure
BrewBuddy View public recipes Manage your own recipes Manage your own brews Monitor brew fermentation
APRIL 7, 2023 | SLIDE 16
#londonazure
demoSocial brewing at a glance
BrewBuddy
APRIL 7, 2023 | SLIDE 17
#londonazure
ArchitecturePublic websiteWindows Azure Web Sites
DatabaseSQL Azure database
Sensor data processingWindows Azure Worker Role
Sensor dataService Bus topic
SensorWhatever…
APRIL 7, 2023 | SLIDE 18
#londonazure
WINDOWS AZURE WEB SITESScale-fast has just become more interesting
APRIL 7, 2023 | SLIDE 19
#londonazure
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 7, 2023 | SLIDE 20
#londonazure
1SHARED INSTANCES
:-)
shared
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 21
#londonazure
2SHARED INSTANCES
:-)
:-)
shared
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 22
#londonazure
SHARED INSTANCES
:-)
1RESERVED INSTANCE
:-):-)
0reserved
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 23
#londonazure
2RESERVED INSTANCE
:-)
RESERVED INSTANCE
:-)
reserved
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 24
#londonazure
2RESERVED INSTANCE
:-)
RESERVED INSTANCE
:-):-)
:-) :-)
:-):-) :-)
reserved
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 25
#londonazure
A perfect ramp-up! Start small
Web Sites are cheap Scale to 3 reserved instances
Grow big! Hosted Service – PaaS Scale at will
APRIL 7, 2023 | SLIDE 26
#londonazure
demoCreating a new web site in seconds
Windows Azure Web Sites
APRIL 7, 2023 | SLIDE 27
#londonazure
SERVICE BUS &ACCESS CONTROL SERVICE
Connecting sensors
APRIL 7, 2023 | SLIDE 28
#londonazure
Windows Azure Service Bus 2 features
Relay Queues, Topics, Subscriptions
APRIL 7, 2023 | SLIDE 29
#londonazure
Windows Azure Service Bus Relay
Client Service
relay
APRIL 7, 2023 | SLIDE 30
#londonazure
Topics and subscriptions
SensorBackendWorker
APRIL 7, 2023 | SLIDE 31
#londonazure
Characteristics Workers can scale independently Workers can fail independently Sensors connect to service bus directly
No layer in between Cheaper
APRIL 7, 2023 | SLIDE 32
#londonazure
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 7, 2023 | SLIDE 33
#londonazure
demoClaims for authZ on Service Bus
Access Control Service
APRIL 7, 2023 | SLIDE 34
#londonazure
ArchitecturePublic websiteWindows Azure Web Sites
DatabaseSQL Azure database
Sensor data processingWindows Azure Worker Role
Sensor managementAccess Control Service
Sensor dataService Bus topic
SensorWhatever…
APRIL 7, 2023 | SLIDE 35
#londonazure
How do you link a sensor? Every sensor has its sensor ID Add it as an identity to ACS Grant a “Send” claim
APRIL 7, 2023 | SLIDE 36
#londonazure
demoRegistering a sensor with Access Control Service
Linking a sensor to a brew
APRIL 7, 2023 | SLIDE 37
#londonazure
WE NEED AN API<french>Make everyone API!</french>
APRIL 7, 2023 | SLIDE 38
#londonazure
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 7, 2023 | SLIDE 39
#londonazure
APRIL 7, 2023 | SLIDE 40
#londonazure
Twitter & FacebookBy show of hands…
APRIL 7, 2023 | SLIDE 41
#londonazure
(as the French say)
Make everyone API
APRIL 7, 2023 | SLIDE 42
#londonazure
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 7, 2023 | SLIDE 43
#londonazure
Expose services to 3rd parties
Valuable Flexible Managed Supported Have a plan
APRIL 7, 2023 | SLIDE 44
#londonazure
Reach More Clients
APRIL 7, 2023 | SLIDE 45
#londonazure
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 7, 2023 | SLIDE 46
#londonazure
Be detailed!Think about RFC 2324 (HTCPCP)
APRIL 7, 2023 | SLIDE 47
#londonazure
demoLet’s craft a quick API
ASP.NET Web API
APRIL 7, 2023 | SLIDE 48
#londonazure
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 7, 2023 | SLIDE 49
#londonazure
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 7, 2023 | SLIDE 50
#londonazure
demoOAuth2 delegation
Access Control Service for API’s
Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease
APRIL 7, 2023 | SLIDE 51
#londonazure
TAKEAWAYS
APRIL 7, 2023 | SLIDE 52
#londonazure
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 7, 2023 | SLIDE 53
#londonazure
Cloud Burst 2012 - Sweden September 27 – 28, 2012 Stockholm http://www.azureug.se/CloudBurst2012 There will be live streaming!
http://bit.ly/cloudburststream
APRIL 7, 2023 | SLIDE 54
#londonazure
THANK YOU!
http://blog.maartenballiauw.be@maartenballiauw
http://amzn.to/pronuget