Brewing Beer with Windows Azure Maarten Balliauw @maartenballiauw NOVEMBER 7, 2015 | SLIDE 1
Download ReportTranscript 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