SlideShare a Scribd company logo
#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

Chevrolet Nicaragua, Managua airport
Chevrolet Nicaragua, Managua airportChevrolet Nicaragua, Managua airport
Chevrolet Nicaragua, Managua airport
Reporter du monde RDM-ROW Reporter Of World
 
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
sonia ai
 
Ogilvy
OgilvyOgilvy
Ogilvy
Ben Allen
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
Maarten 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
 
Biotechnology
BiotechnologyBiotechnology
Biotechnology
Soumyashree Panigrahi
 

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 UKWAUG

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 Control
Maarten 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
 
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
Andrea 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 2012
Gigaom
 
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 Azure
Igor Abade
 
Make your TechComm online/offline available
Make your TechComm online/offline availableMake your TechComm online/offline available
Make your TechComm online/offline available
Georg Eck
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
Moni Gupta
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
sarmistha Roy Burman
 
Responsive web design_session_1
Responsive web design_session_1Responsive web design_session_1
Responsive web design_session_1
Moni 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 CLOUD
Radu Vunvulea
 
Cloudian Review in 2012
Cloudian Review in 2012Cloudian Review in 2012
Cloudian Review in 2012
CLOUDIAN KK
 
CodeOps - Trainings List
CodeOps - Trainings ListCodeOps - Trainings List
CodeOps - Trainings List
CodeOps Technologies LLP
 
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
Stéphane ESCANDELL
 
Aegir
AegirAegir
Aegir
Pure Sign
 
2012 mct summit presentation final
2012 mct summit presentation final2012 mct summit presentation final
2012 mct summit presentation final
Dmitri Artamonov
 
AWS for Big Data Experts
AWS for Big Data ExpertsAWS for Big Data Experts
AWS for Big Data Experts
Lynn 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 you
kreuzwerker GmbH
 
PhD thesis defense of Ajith Ranabahu
PhD thesis defense of Ajith RanabahuPhD thesis defense of Ajith Ranabahu
PhD thesis defense of Ajith Ranabahu
Artificial Intelligence Institute at UofSC
 

Similar to Brewing Beer with Windows Azure UKWAUG (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...
 
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
 
PhD thesis defense of Ajith Ranabahu
PhD thesis defense of Ajith RanabahuPhD thesis defense of Ajith Ranabahu
PhD thesis defense of Ajith Ranabahu
 

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.pptx
Maarten 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 Space
Maarten 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 Search
Maarten 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 Poland
Maarten 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 - dotNetCologne
Maarten 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 lane
Maarten 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 throttling
Maarten 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 .NET
Maarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten 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

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Brewing Beer with Windows Azure UKWAUG

  • 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.