More Related Content

More from Maarten Balliauw(20)

Brewing Beer with Windows Azure (WAZUG.nl)

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

Editor's Notes

  1. Maarten
  2. Don’t show everythingyet. Just log in, show themaround the recipes, brewsand public recipes. Feel free to show the monitoring but no needto display the linking of sensors.
  3. Show Windows Azure Web SitesShow scaling / reservedinstances
  4. Show peoplearound the ACS porta. Show identities, claims andrulegroups.
  5. Link a sensor to a brew. Show the effect on ACS. Show the code.
  6. A couple of years ago, having a web-based application was enough. Users would navigate to it using their computer’s browser, do their dance and log out again. Nowadays, a web-based application isn’t enough anymore. People have smartphones, tablets and maybe even a refrigerator with Internet access on which applications can run. Applications or “apps”. We’re moving from the web towards apps.
  7. A great example of an API is Twitter. They have a massive data store containing tweets and data related to that. They have user profiles. And a web site. And an API. Are you using www.twitter.com to post tweets? I am using the website, maybe once a year. All other tweets come either from my Windows Phone 7’s Twitter application or through www.hootsuite.com, a third-party Twitter client which provides added value in the form of statistics and scheduling. Both the app on my phone as well as the third-party service are using the Twitter API. By exposing an API, Twitter has created a rich ecosystem which drives their real value: data.
  8. If you want to expose your data and services to external third-parties, you may want to think about building an API. Having an API gives you a giant advantage on the Internet nowadays. Having an API will allow your web application to reach more users. App developers will jump onto your API and build their app around it. Other websites or apps will integrate with your services by consuming your API. The only thing you have to do is expose a valuable, managed and supported API and get people to know it. Apps will come. Integration will come.
  9. The mainidea of API’s is tobroadenyourreach. Youcan’tcreateappsthatcanbeused on every fridge out there, it’s way toocostly. But ifyou have a valuable service which is supported, peoplewillbuildappsaround it. Andifitmakes sense toanyonetocreate a fridge app on top of your API, itwill happen.
  10. Be detailed! Usegood status code responses. 201 CREATED is probablybetterthanjust 200 OK whencreating a new entity.+ demo Fiddleragainst HTCPCP deployment out there
  11. Link a sensor to a brew. Show the effect on ACS. Show the code.
  12. Show peoplearound the ACS porta. Show identities, claims andrulegroups.