SlideShare a Scribd company logo
1 of 53
#londonazure




     Brewing Beer with Windows Azure
     Maarten Balliauw
     @maartenballiauw


SEPTEMBER 24, 2012 | SLIDE 1
#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
SEPTEMBER 24, 2012 | SLIDE 3
#londonazure

 Shameless commercial plug
  Pro NuGet:
   http://amzn.to/pronuget

  MyGet - NuGet-as-a-Service:
   http://www.myget.org

SEPTEMBER 24, 2012 | SLIDE 4
#londonazure

 Agenda
      Brewing beer
      BrewBuddy
      Windows Azure Websites
      Service Bus & Access Control Service (ACS)
      We need an API
      Q&A
SEPTEMBER 24, 2012 | SLIDE 5
#londonazure




      Turn water into beer

      BREWING BEER

SEPTEMBER 24, 2012 | SLIDE 6
#londonazure

 How it started…




SEPTEMBER 24, 2012 | SLIDE 7
#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!
SEPTEMBER 24, 2012 | SLIDE 8
#londonazure

 The process
      Get your kegs clean
      Add & boil ingredients
      Pour in keg
      Add yeast
      Rinse

SEPTEMBER 24, 2012 | SLIDE 9
#londonazure

 The process
 Wait for fermentation to complete




SEPTEMBER 24, 2012 | SLIDE 10
#londonazure

 The process
      Pour into another keg
      Rinse
      Wait another week
      Bottling time!


SEPTEMBER 24, 2012 | SLIDE 11
#londonazure

 Difficult part…
 Wait at least 6 weeks
   for it to age




SEPTEMBER 24, 2012 | SLIDE 12
#londonazure




                                Maarten…
                         What does this have
                     to do with Windows Azure?


SEPTEMBER 24, 2012 | SLIDE 13
#londonazure




     Azurifying the home brewer

     WWW.BREWBUDDY.NET

SEPTEMBER 24, 2012 | SLIDE 14
#londonazure

 BrewBuddy
      View public recipes
      Manage your own recipes
      Manage your own brews
      Monitor brew fermentation


SEPTEMBER 24, 2012 | SLIDE 15
#londonazure




     BrewBuddy
             Social brewing at a glance

demo
SEPTEMBER 24, 2012 | SLIDE 16
#londonazure

 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




SEPTEMBER 24, 2012 | SLIDE 17
#londonazure




     Scale-fast has just become more interesting

     WINDOWS AZURE WEB SITES

SEPTEMBER 24, 2012 | SLIDE 18
#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

SEPTEMBER 24, 2012 | SLIDE 19
#londonazure

    Windows Azure Web Sites
                shared             1
SHARED INSTANCES




   SEPTEMBER 24, 2012 | SLIDE 20
#londonazure

    Windows Azure Web Sites
                shared             2
SHARED INSTANCES




   SEPTEMBER 24, 2012 | SLIDE 21
#londonazure

    Windows Azure Web Sites
            reserved                                   0
                                                       1
SHARED INSTANCES                   RESERVED INSTANCE




   SEPTEMBER 24, 2012 | SLIDE 22
#londonazure

 Windows Azure Web Sites
         reserved                                   2
                                RESERVED INSTANCE




SEPTEMBER 24, 2012 | SLIDE 23
#londonazure

 Windows Azure Web Sites
         reserved                                              2
                                RESERVED INSTANCE   RESERVED INSTANCE




SEPTEMBER 24, 2012 | SLIDE 24
#londonazure

 A perfect ramp-up!
  Start small
          Web Sites are cheap
          Scale to 3 reserved instances
  Grow big!
          Hosted Service – PaaS
          Scale at will
SEPTEMBER 24, 2012 | SLIDE 25
#londonazure




     Windows Azure Web Sites
             Creating a new web site in seconds

demo
SEPTEMBER 24, 2012 | SLIDE 26
#londonazure




     Connecting sensors

     SERVICE BUS &
     ACCESS CONTROL SERVICE
SEPTEMBER 24, 2012 | SLIDE 27
#londonazure

 Windows Azure Service Bus
  2 features
          Relay
          Queues, Topics, Subscriptions




SEPTEMBER 24, 2012 | SLIDE 28
#londonazure

 Windows Azure Service Bus Relay


                                relay




                      Client

SEPTEMBER 24, 2012 | SLIDE 29
#londonazure

 Topics and subscriptions


                      Sensor




SEPTEMBER 24, 2012 | SLIDE 30
#londonazure

 Characteristics
  Workers can scale independently
  Workers can fail independently
  Sensors connect to service bus directly
          No layer in between
          Cheaper


SEPTEMBER 24, 2012 | SLIDE 31
#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


SEPTEMBER 24, 2012 | SLIDE 32
#londonazure




     Access Control Service
             Claims for authZ on Service Bus

demo
SEPTEMBER 24, 2012 | SLIDE 33
#londonazure

 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




SEPTEMBER 24, 2012 | SLIDE 34
#londonazure

 How do you link a sensor?
  Every sensor has its sensor ID
  Add it as an identity to ACS
  Grant a “Send” claim




SEPTEMBER 24, 2012 | SLIDE 35
#londonazure




     Linking a a sensor with Access Control
       Registering sensor to a brew
             Service

demo
SEPTEMBER 24, 2012 | SLIDE 36
#londonazure




     <french>Make everyone API!</french>

     WE NEED AN API

SEPTEMBER 24, 2012 | SLIDE 37
#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)

SEPTEMBER 24, 2012 | SLIDE 38
#londonazure




SEPTEMBER 24, 2012 | SLIDE 39
#londonazure




 Twitter & Facebook
       By show of hands…
SEPTEMBER 24, 2012 | SLIDE 40
#londonazure




 Make everyone API
       (as the French say)
SEPTEMBER 24, 2012 | SLIDE 41
#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)
SEPTEMBER 24, 2012 | SLIDE 42
#londonazure

 Expose services to 3rd parties
      Valuable
      Flexible
      Managed
      Supported
      Have a plan

SEPTEMBER 24, 2012 | SLIDE 43
#londonazure




   Reach More Clients

SEPTEMBER 24, 2012 | SLIDE 44
#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!

SEPTEMBER 24, 2012 | SLIDE 45
#londonazure




 Be detailed!
       Think about RFC 2324 (HTCPCP)
SEPTEMBER 24, 2012 | SLIDE 46
#londonazure




     ASP.NET Web API
             Let’s craft a quick API

demo
SEPTEMBER 24, 2012 | SLIDE 47
#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


SEPTEMBER 24, 2012 | SLIDE 48
#londonazure

 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


SEPTEMBER 24, 2012 | SLIDE 49
#londonazure




      Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease




     Access Control Service for API’s
             OAuth2 delegation

demo
SEPTEMBER 24, 2012 | SLIDE 50
#londonazure




     TAKEAWAYS

SEPTEMBER 24, 2012 | SLIDE 51
#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

SEPTEMBER 24, 2012 | SLIDE 52
#londonazure

 Cloud Burst 2012 - Sweden
      September 27 – 28, 2012
      Stockholm
      http://www.azureug.se/CloudBurst2012
      There will be live streaming!
       http://bit.ly/cloudburststream

SEPTEMBER 24, 2012 | SLIDE 53
#londonazure




                                 http://blog.maartenballiauw.be
                                             @maartenballiauw


                                http://amzn.to/pronuget


THANK YOU!
SEPTEMBER 24, 2012 | SLIDE 54

More Related Content

Viewers also liked

20100910 cfi social media watch-no.20
20100910 cfi social media watch-no.2020100910 cfi social media watch-no.20
20100910 cfi social media watch-no.20sonia ai
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016Maarten Balliauw
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Maarten Balliauw
 

Viewers also liked (6)

Chevrolet Nicaragua, Managua airport
Chevrolet Nicaragua, Managua airportChevrolet Nicaragua, Managua airport
Chevrolet Nicaragua, Managua airport
 
20100910 cfi social media watch-no.20
20100910 cfi social media watch-no.2020100910 cfi social media watch-no.20
20100910 cfi social media watch-no.20
 
Ogilvy
OgilvyOgilvy
Ogilvy
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...
 
Biotechnology
BiotechnologyBiotechnology
Biotechnology
 

Similar to Brewing Beer with Windows Azure API

Brewing Beer with Windows Azure (WAZUG.nl)
Brewing Beer with Windows Azure (WAZUG.nl)Brewing Beer with Windows Azure (WAZUG.nl)
Brewing Beer with Windows Azure (WAZUG.nl)Maarten Balliauw
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlMaarten Balliauw
 
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...Majid Hajibaba
 
APR 26, 2012: Under the Radar: Presenting Cloudscaling
APR 26, 2012: Under the Radar: Presenting CloudscalingAPR 26, 2012: Under the Radar: Presenting Cloudscaling
APR 26, 2012: Under the Radar: Presenting Cloudscalingtroyangrignon
 
Micro frontends Web component approach con VUEJS
Micro frontends Web component approach con VUEJSMicro frontends Web component approach con VUEJS
Micro frontends Web component approach con VUEJSAndrea Campaci
 
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012Gigaom
 
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...tdc-globalcode
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no AzureIgor Abade
 
Make your TechComm online/offline available
Make your TechComm online/offline availableMake your TechComm online/offline available
Make your TechComm online/offline availableGeorg Eck
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1Moni Gupta
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1Moni Gupta
 
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUDTHE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUDRadu Vunvulea
 
Cloudian Review in 2012
Cloudian Review in 2012Cloudian Review in 2012
Cloudian Review in 2012CLOUDIAN KK
 
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014Stéphane ESCANDELL
 
2012 mct summit presentation final
2012 mct summit presentation final2012 mct summit presentation final
2012 mct summit presentation finalDmitri Artamonov
 
AWS for Big Data Experts
AWS for Big Data ExpertsAWS for Big Data Experts
AWS for Big Data ExpertsLynn Langit
 
Making Serverless a Game Changer for you
Making Serverless a Game Changer for youMaking Serverless a Game Changer for you
Making Serverless a Game Changer for youkreuzwerker GmbH
 

Similar to Brewing Beer with Windows Azure API (20)

Brewing Beer with Windows Azure (WAZUG.nl)
Brewing Beer with Windows Azure (WAZUG.nl)Brewing Beer with Windows Azure (WAZUG.nl)
Brewing Beer with Windows Azure (WAZUG.nl)
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
 
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...
Cloud Computing Principles and Paradigms: 7 enhancing cloud computing environ...
 
APR 26, 2012: Under the Radar: Presenting Cloudscaling
APR 26, 2012: Under the Radar: Presenting CloudscalingAPR 26, 2012: Under the Radar: Presenting Cloudscaling
APR 26, 2012: Under the Radar: Presenting Cloudscaling
 
Micro frontends Web component approach con VUEJS
Micro frontends Web component approach con VUEJSMicro frontends Web component approach con VUEJS
Micro frontends Web component approach con VUEJS
 
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012
CLOUD LOCK-IN AND THE MYTH OF OPEN APIS at Structure 2012
 
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Make your TechComm online/offline available
Make your TechComm online/offline availableMake your TechComm online/offline available
Make your TechComm online/offline available
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
 
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUDTHE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
 
Cloudian Review in 2012
Cloudian Review in 2012Cloudian Review in 2012
Cloudian Review in 2012
 
CodeOps - Trainings List
CodeOps - Trainings ListCodeOps - Trainings List
CodeOps - Trainings List
 
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
 
Aegir
AegirAegir
Aegir
 
2012 mct summit presentation final
2012 mct summit presentation final2012 mct summit presentation final
2012 mct summit presentation final
 
AWS for Big Data Experts
AWS for Big Data ExpertsAWS for Big Data Experts
AWS for Big Data Experts
 
Making Serverless a Game Changer for you
Making Serverless a Game Changer for youMaking Serverless a Game Changer for you
Making Serverless a Game Changer for you
 

More from Maarten Balliauw

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxMaarten Balliauw
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Maarten Balliauw
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Maarten Balliauw
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...Maarten Balliauw
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...Maarten Balliauw
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...Maarten Balliauw
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchMaarten Balliauw
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandMaarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Maarten Balliauw
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneMaarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneMaarten Balliauw
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...Maarten Balliauw
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingMaarten Balliauw
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Maarten Balliauw
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingMaarten Balliauw
 

More from Maarten Balliauw (20)

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Brewing Beer with Windows Azure API

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