Brewing Beer with Windows Azure Maarten Balliauw @maartenballiauw NOVEMBER 7, 2015 | SLIDE 1

Download Report

Transcript Brewing Beer with Windows Azure Maarten Balliauw @maartenballiauw NOVEMBER 7, 2015 | SLIDE 1

Brewing Beer with Windows Azure
Maarten Balliauw
@maartenballiauw
NOVEMBER 7, 2015 | SLIDE 1
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
NOVEMBER 7, 2015 | SLIDE 3
Shameless commercial plug
 Pro NuGet:
http://amzn.to/pronuget
 MyGet - NuGet-as-a-Service:
http://www.myget.org
NOVEMBER 7, 2015 | SLIDE 4
Agenda






Brewing beer
BrewBuddy
Windows Azure Websites
Service Bus & Access Control Service (ACS)
We need an API
Q&A
NOVEMBER 7, 2015 | SLIDE 5
Turn water into beer
BREWING BEER
NOVEMBER 7, 2015 | SLIDE 6
How it started…
NOVEMBER 7, 2015 | SLIDE 7
How it started…
 MVP Summit 2011
 Wade Wegner talks about his homebrewing
hobby
 MVP Summit 2012
 Wade Wegner talks about his homebrewing
hobby
 Convinced!
NOVEMBER 7, 2015 | SLIDE 8
The process





Get your kegs clean
Add & boil ingredients
Pour in keg
Add yeast
Rinse
NOVEMBER 7, 2015 | SLIDE 9
The process
Wait for fermentation to complete
NOVEMBER 7, 2015 | SLIDE 10
The process




Pour into another keg
Rinse
Wait another week
Bottling time!
NOVEMBER 7, 2015 | SLIDE 11
Difficult part…
Wait at least 6 weeks
for it to age
NOVEMBER 7, 2015 | SLIDE 12
Maarten…
What does this have
to do with Windows Azure?
NOVEMBER 7, 2015 | SLIDE 13
Azurifying the home brewer
WWW.BREWBUDDY.NET
NOVEMBER 7, 2015 | SLIDE 14
BrewBuddy




View public recipes
Manage your own recipes
Manage your own brews
Monitor brew fermentation
NOVEMBER 7, 2015 | SLIDE 15
BrewBuddy
Social brewing at a glance
demo
NOVEMBER 7, 2015 | SLIDE 16
Architecture
Public website
Sensor
Whatever…
Windows Azure Web Sites
Database
SQL Azure database
Sensor data
Sensor data processing
Service Bus topic
Windows Azure Worker Role
NOVEMBER 7, 2015 | SLIDE 17
Scale-fast has just become more interesting
WINDOWS AZURE WEB SITES
NOVEMBER 7, 2015 | SLIDE 18
Windows Azure Web Sites
NOVEMBER 7, 2015 | SLIDE 19

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
Windows Azure Web Sites
shared
SHARED INSTANCES
NOVEMBER 7, 2015 | SLIDE 20
1
Windows Azure Web Sites
shared
SHARED INSTANCES
NOVEMBER 7, 2015 | SLIDE 21
2
Windows Azure Web Sites
reserved
SHARED INSTANCES
NOVEMBER 7, 2015 | SLIDE 22
RESERVED INSTANCE
1
0
Windows Azure Web Sites
reserved
RESERVED INSTANCE
NOVEMBER 7, 2015 | SLIDE 23
2
Windows Azure Web Sites
reserved
RESERVED INSTANCE
NOVEMBER 7, 2015 | SLIDE 24
2
RESERVED INSTANCE
A perfect ramp-up!
 Start small
 Web Sites are cheap
 Scale to 3 reserved instances
 Grow big!
 Hosted Service – PaaS
 Scale at will
NOVEMBER 7, 2015 | SLIDE 25
Windows Azure Web Sites
Creating a new web site in seconds
demo
NOVEMBER 7, 2015 | SLIDE 26
Connecting sensors
SERVICE BUS &
ACCESS CONTROL SERVICE
NOVEMBER 7, 2015 | SLIDE 27
Windows Azure Service Bus
 2 features
 Relay
 Queues, Topics, Subscriptions
NOVEMBER 7, 2015 | SLIDE 28
Windows Azure Service Bus Relay
relay
Client
NOVEMBER 7, 2015 | SLIDE 29
Topics and subscriptions
Sensor
NOVEMBER 7, 2015 | SLIDE 30
Characteristics
 Workers can scale independently
 Workers can fail independently
 Sensors connect to service bus directly
 No layer in between
 Cheaper
NOVEMBER 7, 2015 | SLIDE 31
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
NOVEMBER 7, 2015 | SLIDE 32
Access Control Service
Claims for authZ on Service Bus
demo
NOVEMBER 7, 2015 | SLIDE 33
Architecture
Public website
Sensor
Whatever…
Windows Azure Web Sites
Sensor management
Database
Access Control Service
SQL Azure database
Sensor data
Sensor data processing
Service Bus topic
Windows Azure Worker Role
NOVEMBER 7, 2015 | SLIDE 34
How do you link a sensor?
 Every sensor has its sensor ID
 Add it as an identity to ACS
 Grant a “Send” claim
NOVEMBER 7, 2015 | SLIDE 35
Registering
sensor with
Control
Linking
a asensor
toAccess
a brew
Service
demo
NOVEMBER 7, 2015 | SLIDE 36
<french>Make everyone API!</french>
WE NEED AN API
NOVEMBER 7, 2015 | SLIDE 37
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)
NOVEMBER 7, 2015 | SLIDE 38
NOVEMBER 7, 2015 | SLIDE 39
Twitter & Facebook
By show of hands…
NOVEMBER 7, 2015 | SLIDE 40
Make everyone API
(as the French say)
NOVEMBER 7, 2015 | SLIDE 41
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)
NOVEMBER 7, 2015 | SLIDE 42
Expose services to 3rd parties





Valuable
Flexible
Managed
Supported
Have a plan
NOVEMBER 7, 2015 | SLIDE 43
Reach More Clients
NOVEMBER 7, 2015 | SLIDE 44
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!
NOVEMBER 7, 2015 | SLIDE 45
Be detailed!
Think about RFC 2324 (HTCPCP)
NOVEMBER 7, 2015 | SLIDE 46
ASP.NET Web API
Let’s craft a quick API
demo
NOVEMBER 7, 2015 | SLIDE 47
What about authN / authZ?




API access through OAuth2
Access Control Service to the rescue!
Client authorized in BrewBuddy.net
Access/refresh tokens through ACS
NOVEMBER 7, 2015 | SLIDE 48
What about authN / authZ?
API Consumer
client_id and client_secret
BrewBuddy.net
Initial authorization (yes/no)
API implementation
access
authorize
API
access/refresh token
register delegation
Access Control Service
Access/Refresh Token
NOVEMBER 7, 2015 | SLIDE 49
Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease
Access Control Service for API’s
OAuth2 delegation
demo
NOVEMBER 7, 2015 | SLIDE 50
TAKEAWAYS
NOVEMBER 7, 2015 | SLIDE 51
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
NOVEMBER 7, 2015 | SLIDE 52
Cloud Burst 2012 - Sweden
 September 27 – 28, 2012
 Stockholm
 http://www.azureug.se/CloudBurst2012
NOVEMBER 7, 2015 | SLIDE 53
http://blog.maartenballiauw.be
@maartenballiauw
http://amzn.to/pronuget
THANK YOU!
NOVEMBER 7, 2015 | SLIDE 54