Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Brewing Beer with Windows Azure


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Brewing Beer with Windows Azure

  1. 1. Brewing Beer #warmcrocconfwith Windows AzureMaarten Balliauw@maartenballiauw
  2. 2. Who am I?Maarten BalliauwTechnical Evangelist, JetBrainsAZUGFocus on web ASP.NET MVC, Windows Azure, SignalR, ... MVP Windows Azure & ASPInsider self promotion: Pro NuGet -
  3. 3. Setting expectations
  4. 4. AgendaBrewing beerBrewBuddyWindows Azure WebsitesService Bus & Access Control Service (ACS)We need an APIQ&A
  5. 5. Brewing BeerTurn water into beer
  6. 6. How it started…
  7. 7. How it started…MVP Summit 2011 Wade Wegner talks about his homebrewing hobbyMVP Summit 2012 Wade Wegner talks about his homebrewing hobbyConvinced!
  8. 8. The processGet your kegs cleanAdd & boil ingredientsPour in kegAdd yeastRinse
  9. 9. The processWait for fermentation to complete
  10. 10. The processPour into another kegRinseWait another weekBottling time!
  11. 11. Difficult part…Wait at least 6 weeks for it to age
  12. 12. Maarten… What does this haveto do with Windows Azure?
  13. 13. BrewBuddy.netSocial brewing!
  14. 14. BrewBuddyView public recipesManage your own recipesManage your own brewsMonitor brew fermentation
  15. 15. demoBrewBuddySocial brewing at a glance
  16. 16. Architecture Sensor Public website Windows Azure Web Sites Whatever… Database SQL Azure database Sensor data Sensor data processing Service Bus topic Windows Azure Worker Role
  17. 17. Windows AzureWeb SitesScale-fast has just become more interesting
  18. 18. 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
  19. 19. Windows Azure Web Sites shared 1SHARED INSTANCES
  20. 20. Windows Azure Web Sites shared 2SHARED INSTANCES
  21. 21. Windows Azure Web Sites reserved 0 1SHARED INSTANCES RESERVED INSTANCE
  22. 22. Windows Azure Web Sites reserved 2 RESERVED INSTANCE
  23. 23. Windows Azure Web Sites reserved 2 RESERVED INSTANCE RESERVED INSTANCE
  24. 24. A perfect ramp-up!Start small Web Sites are cheap Start free Scale from 1 shared instance… …up to 10 reserved instances!Grow big! Hosted Service – PaaS Scale at will
  25. 25. demoWindows AzureWeb SitesCreating a new web site in seconds
  26. 26. Service Bus &Access Control ServiceConnecting sensors
  27. 27. Windows Azure Service Bus2 features Relay Queues, Topics, Subscriptions
  28. 28. Windows Azure Service Bus Relay relay Client
  29. 29. Topics and subscriptions Sensor
  30. 30. CharacteristicsWorkers can scale independentlyWorkers can fail independentlySensors connect to service bus directly No layer in between Cheaper
  31. 31. What about authN / authZ?Access Control Service to the rescue!SB authenticates clients over ACSACS provides “Send” claim to sensorClaims can be granted/revoked easily
  32. 32. demoAccess ControlServiceClaims for authZ on Service Bus
  33. 33. Architecture Sensor Public website Windows Azure Web Sites Whatever… Sensor management Database Access Control Service SQL Azure database Sensor data Sensor data processing Service Bus topic Windows Azure Worker Role
  34. 34. How do you link a sensor?Every sensor has its sensor IDAdd it as an identity to ACSGrant a “Send” claim
  35. 35. demoLinking a sensorto a brewRegistering a sensor with Access Control Service
  36. 36. We need an API
  37. 37. Consuming the web2000-2008: Desktop browser2008-2012: Mobile browser2008-2012: iPhone and Android apps2010-2014: Tablets, tablets, tablets2014-2016: Your fridge (Internet of Things)
  38. 38. Twitter & FacebookBy show of hands
  39. 39. Make everyone API(as the French say)
  40. 40. What is an API?Software-to-Software interfaceContract between software and developers Functionalities, constraints (technical / legal) Programming instructions and standardsOpen services to other software developers (public or private)
  41. 41. Expose services to 3rd partiesValuableFlexibleManagedSupportedHave a plan
  42. 42. Reach More Clients
  43. 43. ASP.NET Web APIPart of ASP.NET MVC 4Framework 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!
  44. 44. demoBe detailed!Think about RFC 2324 (HTCPCP)
  45. 45. demoASP.NET Web APILet’s craft a quick API
  46. 46. What about authN / authZ?API access through OAuth2Access Control Service to the rescue!Client authorized in BrewBuddy.netAccess/refresh tokens through ACS
  47. 47. What about authN / authZ? API Consumer client_id and client_secret access API authorize Initial authorization (yes/no) API implementation access/refresh token register delegation Access Control Service Access/Refresh Token
  48. 48. demoAccess ControlService for API’sOAuth2 delegationInstall-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease
  49. 49. Takeaways
  50. 50. Keep in mind…Web Sites start cheap / scale fastCombine/grow at will (IaaS, PaaS, SaaS)Service bus for asynchrony and scaleAccess Control for devicesWeb API & Access Control
  51. 51. http://blog.maartenballiauw. be @maartenballiauw you!