SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Brewing Beer with Windows Azure
     Maarten Balliauw
     @maartenballiauw


AUGUST 30, 2012 | SLIDE 1
Who am I?
      Maarten Balliauw
      www.realdolmen.com
      AZUG
      Focus on web
          ASP.NET MVC, Windows Azure, SignalR, ...
          MVP Windows Azure & ASPInsider
  http://blog.maartenballiauw.be
  @maartenballiauw
AUGUST 30, 2012 | SLIDE 3
Shameless commercial plug
  Pro NuGet:
   http://amzn.to/pronuget

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

AUGUST 30, 2012 | SLIDE 4
Agenda
      Brewing beer
      BrewBuddy
      Windows Azure Websites
      Service Bus & Access Control Service (ACS)
      We need an API
      Q&A
AUGUST 30, 2012 | SLIDE 5
Turn water into beer

      BREWING BEER

AUGUST 30, 2012 | SLIDE 6
How it started…




AUGUST 30, 2012 | SLIDE 7
How it started…
  MVP Summit 2011
          Wade Wegner talks about his homebrewing
           hobby
  MVP Summit 2012
          Wade Wegner talks about his homebrewing
           hobby
  Convinced!
AUGUST 30, 2012 | SLIDE 8
The process
      Get your kegs clean
      Add & boil ingredients
      Pour in keg
      Add yeast
      Rinse

AUGUST 30, 2012 | SLIDE 9
The process
 Wait for fermentation to complete




AUGUST 30, 2012 | SLIDE 10
The process
      Pour into another keg
      Rinse
      Wait another week
      Bottling time!


AUGUST 30, 2012 | SLIDE 11
Difficult part…
 Wait at least 6 weeks
   for it to age




AUGUST 30, 2012 | SLIDE 12
Maarten…
                         What does this have
                     to do with Windows Azure?


AUGUST 30, 2012 | SLIDE 13
Azurifying the home brewer

      WWW.BREWBUDDY.NET

AUGUST 30, 2012 | SLIDE 14
BrewBuddy
      View public recipes
      Manage your own recipes
      Manage your own brews
      Monitor brew fermentation


AUGUST 30, 2012 | SLIDE 15
BrewBuddy
             Social brewing at a glance

demo
AUGUST 30, 2012 | SLIDE 16
Architecture
         Sensor                              Public website
                                             Windows Azure Web Sites
         Whatever…



                                             Database
                                             SQL Azure database



                         Sensor data         Sensor data processing
                         Service Bus topic   Windows Azure Worker Role




AUGUST 30, 2012 | SLIDE 17
Scale-fast has just become more interesting

      WINDOWS AZURE WEB SITES

AUGUST 30, 2012 | SLIDE 18
Windows Azure Web Sites

                                Build with ASP.NET, Node.js or PHP
                                Deploy in seconds with FTP, Git or TFS
                                Start for free, scale up as your traffic
                                 grows

AUGUST 30, 2012 | SLIDE 19
Windows Azure Web Sites
                shared          1
SHARED INSTANCES




   AUGUST 30, 2012 | SLIDE 20
Windows Azure Web Sites
                shared          2
SHARED INSTANCES




   AUGUST 30, 2012 | SLIDE 21
Windows Azure Web Sites
             reserved                               0
                                                    1
SHARED INSTANCES                RESERVED INSTANCE




   AUGUST 30, 2012 | SLIDE 22
Windows Azure Web Sites
          reserved                               2
                             RESERVED INSTANCE




AUGUST 30, 2012 | SLIDE 23
Windows Azure Web Sites
          reserved                                          2
                             RESERVED INSTANCE   RESERVED INSTANCE




AUGUST 30, 2012 | SLIDE 24
A perfect ramp-up!
  Start small
          Web Sites are cheap
          Scale to 3 reserved instances
  Grow big!
          Hosted Service – PaaS
          Scale at will
AUGUST 30, 2012 | SLIDE 25
Windows Azure Web Sites
             Creating a new web site in seconds

demo
AUGUST 30, 2012 | SLIDE 26
Connecting sensors

      SERVICE BUS &
      ACCESS CONTROL SERVICE
AUGUST 30, 2012 | SLIDE 27
Windows Azure Service Bus
  2 features
          Relay
          Queues, Topics, Subscriptions




AUGUST 30, 2012 | SLIDE 28
Windows Azure Service Bus Relay


                               relay




                      Client

AUGUST 30, 2012 | SLIDE 29
Topics and subscriptions


                      Sensor




AUGUST 30, 2012 | SLIDE 30
Characteristics
  Workers can scale independently
  Workers can fail independently
  Sensors connect to service bus directly
          No layer in between
          Cheaper


AUGUST 30, 2012 | SLIDE 31
What about authN / authZ?
      Access Control Service to the rescue!
      SB authenticates clients over ACS
      ACS provides “Send” claim to sensor
      Claims can be granted/revoked easily


AUGUST 30, 2012 | SLIDE 32
Access Control Service
             Claims for authZ on Service Bus

demo
AUGUST 30, 2012 | SLIDE 33
Architecture
         Sensor                                   Public website
                                                  Windows Azure Web Sites
         Whatever…



                         Sensor management        Database
                         Access Control Service   SQL Azure database



                         Sensor data              Sensor data processing
                         Service Bus topic        Windows Azure Worker Role




AUGUST 30, 2012 | SLIDE 34
How do you link a sensor?
  Every sensor has its sensor ID
  Add it as an identity to ACS
  Grant a “Send” claim




AUGUST 30, 2012 | SLIDE 35
Linking a a sensor with Access Control
        Registering sensor to a brew
             Service

demo
AUGUST 30, 2012 | SLIDE 36
<french>Make everyone API!</french>

      WE NEED AN API

AUGUST 30, 2012 | SLIDE 37
Consuming the web
      2000-2008: Desktop browser
      2008-2012: Mobile browser
      2008-2012: iPhone and Android apps
      2010-2014: Tablets, tablets, tablets
      2014-2016: Your fridge (Internet of Things)

AUGUST 30, 2012 | SLIDE 38
AUGUST 30, 2012 | SLIDE 39
Twitter & Facebook
       By show of hands…
AUGUST 30, 2012 | SLIDE 40
Make everyone API
       (as the French say)
AUGUST 30, 2012 | SLIDE 41
What is an API?
  Software-to-Software interface
  Contract between software and
   developers
          Functionalities, constraints (technical / legal)
           Programming instructions and standards
  Open services to other software
   developers (public or private)
AUGUST 30, 2012 | SLIDE 42
Expose services to 3rd parties
      Valuable
      Flexible
      Managed
      Supported
      Have a plan

AUGUST 30, 2012 | SLIDE 43
Reach More Clients

AUGUST 30, 2012 | SLIDE 44
ASP.NET Web API
  Part of ASP.NET MVC 4
  Framework to build HTTP Services (REST)
  Solid features
             Modern HTTP programming model
             Content negotiation (e.g. Xml, json, ...)
             Query composition (OData query support)
             Model binding and validation (conversion to .NET objects)
             Routes
             Filters (e.g. Validation, exception handling, ...)
             And more!

AUGUST 30, 2012 | SLIDE 45
Be detailed!
       Think about RFC 2324 (HTCPCP)
AUGUST 30, 2012 | SLIDE 46
ASP.NET Web API
             Let’s craft a quick API

demo
AUGUST 30, 2012 | SLIDE 47
What about authN / authZ?
      API access through OAuth2
      Access Control Service to the rescue!
      Client authorized in BrewBuddy.net
      Access/refresh tokens through ACS


AUGUST 30, 2012 | SLIDE 48
What about authN / authZ?
           API Consumer                                                        BrewBuddy.net
           client_id and client_secret              access API
                                                    authorize                  Initial authorization (yes/no)
                                                                               API implementation


                             access/refresh token                register delegation



                                           Access Control Service
                                           Access/Refresh Token


AUGUST 30, 2012 | SLIDE 49
Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease




      Access Control Service for API’s
             OAuth2 delegation

demo
AUGUST 30, 2012 | SLIDE 50
TAKEAWAYS

AUGUST 30, 2012 | SLIDE 51
Keep in mind…
      Web Sites start cheap / scale fast
      Combine/grow at will (IaaS, PaaS, SaaS)
      Service bus for asynchrony and scale
      Access Control for devices
      Web API & Access Control

AUGUST 30, 2012 | SLIDE 52
Cloud Burst 2012 - Sweden
  September 27 – 28, 2012
  Stockholm
  http://www.azureug.se/CloudBurst2012




AUGUST 30, 2012 | SLIDE 53
http://blog.maartenballiauw.be
                                          @maartenballiauw


                             http://amzn.to/pronuget


THANK YOU!
AUGUST 30, 2012 | SLIDE 54

Weitere ähnliche Inhalte

Ähnlich wie Brewing Beer with Windows Azure (WAZUG.nl)

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
 
IWST12: Spec
IWST12: SpecIWST12: Spec
IWST12: SpecESUG
 
Un esempio di Continuous Delivery - Visual Studio Saturday 2017
Un esempio di Continuous Delivery - Visual Studio Saturday 2017Un esempio di Continuous Delivery - Visual Studio Saturday 2017
Un esempio di Continuous Delivery - Visual Studio Saturday 2017Giulio Vian
 
ESPC15 - Introduction to AngularJS in an Office 365 context
ESPC15 - Introduction to AngularJS in an Office 365 contextESPC15 - Introduction to AngularJS in an Office 365 context
ESPC15 - Introduction to AngularJS in an Office 365 contextSébastien Levert
 
AD Authenticate All The Things
AD Authenticate All The ThingsAD Authenticate All The Things
AD Authenticate All The ThingsAlan Williams
 
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGAzure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGRoy Kim
 
Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013Maarten Balliauw
 
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...Scott Hoag
 
EWUG - Bridging the legacy gap in modern workplaces
EWUG - Bridging the legacy gap in modern workplacesEWUG - Bridging the legacy gap in modern workplaces
EWUG - Bridging the legacy gap in modern workplacesPeter Selch Dahl
 
Introduction to Microsoft Azure.pptx
Introduction to Microsoft Azure.pptxIntroduction to Microsoft Azure.pptx
Introduction to Microsoft Azure.pptxMimiDudu2
 
Pass bi vpc_azure_reporting_session_march_8_2012
Pass bi vpc_azure_reporting_session_march_8_2012Pass bi vpc_azure_reporting_session_march_8_2012
Pass bi vpc_azure_reporting_session_march_8_2012Simran Jindal
 
AWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago
 
AWS for Big Data Experts
AWS for Big Data ExpertsAWS for Big Data Experts
AWS for Big Data ExpertsLynn Langit
 
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the CloudSharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the CloudDan Usher
 

Ähnlich wie Brewing Beer with Windows Azure (WAZUG.nl) (20)

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
 
IWST12: Spec
IWST12: SpecIWST12: Spec
IWST12: Spec
 
Sql Azure
Sql AzureSql Azure
Sql Azure
 
Microsoft Azure Odoo SSO Integration
Microsoft Azure  Odoo SSO IntegrationMicrosoft Azure  Odoo SSO Integration
Microsoft Azure Odoo SSO Integration
 
Un esempio di Continuous Delivery - Visual Studio Saturday 2017
Un esempio di Continuous Delivery - Visual Studio Saturday 2017Un esempio di Continuous Delivery - Visual Studio Saturday 2017
Un esempio di Continuous Delivery - Visual Studio Saturday 2017
 
ESPC15 - Introduction to AngularJS in an Office 365 context
ESPC15 - Introduction to AngularJS in an Office 365 contextESPC15 - Introduction to AngularJS in an Office 365 context
ESPC15 - Introduction to AngularJS in an Office 365 context
 
AD Authenticate All The Things
AD Authenticate All The ThingsAD Authenticate All The Things
AD Authenticate All The Things
 
AWS-compared-to-OpenStack
AWS-compared-to-OpenStackAWS-compared-to-OpenStack
AWS-compared-to-OpenStack
 
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGAzure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
 
AWS Toolkit.pptx
AWS Toolkit.pptxAWS Toolkit.pptx
AWS Toolkit.pptx
 
Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013
 
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...
SPT15 To the Cloud! Utilizing AWS and Azure as Cloud Hosting Providers for Sh...
 
EWUG - Bridging the legacy gap in modern workplaces
EWUG - Bridging the legacy gap in modern workplacesEWUG - Bridging the legacy gap in modern workplaces
EWUG - Bridging the legacy gap in modern workplaces
 
SQL Azure Overview
SQL Azure OverviewSQL Azure Overview
SQL Azure Overview
 
Introduction to Microsoft Azure.pptx
Introduction to Microsoft Azure.pptxIntroduction to Microsoft Azure.pptx
Introduction to Microsoft Azure.pptx
 
Pass bi vpc_azure_reporting_session_march_8_2012
Pass bi vpc_azure_reporting_session_march_8_2012Pass bi vpc_azure_reporting_session_march_8_2012
Pass bi vpc_azure_reporting_session_march_8_2012
 
AWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET Developers
 
AWS for Big Data Experts
AWS for Big Data ExpertsAWS for Big Data Experts
AWS for Big Data Experts
 
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the CloudSharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
SharePoint Intersections - SP11 - SharePoint and IaaS - The OnPrem in the Cloud
 
Azure overview
Azure overviewAzure overview
Azure overview
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
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.
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Brewing Beer with Windows Azure (WAZUG.nl)

  • 1. Brewing Beer with Windows Azure Maarten Balliauw @maartenballiauw AUGUST 30, 2012 | SLIDE 1
  • 2. Who am I?  Maarten Balliauw  www.realdolmen.com  AZUG  Focus on web  ASP.NET MVC, Windows Azure, SignalR, ...  MVP Windows Azure & ASPInsider  http://blog.maartenballiauw.be  @maartenballiauw AUGUST 30, 2012 | SLIDE 3
  • 3. Shameless commercial plug  Pro NuGet: http://amzn.to/pronuget  MyGet - NuGet-as-a-Service: http://www.myget.org AUGUST 30, 2012 | SLIDE 4
  • 4. Agenda  Brewing beer  BrewBuddy  Windows Azure Websites  Service Bus & Access Control Service (ACS)  We need an API  Q&A AUGUST 30, 2012 | SLIDE 5
  • 5. Turn water into beer BREWING BEER AUGUST 30, 2012 | SLIDE 6
  • 6. How it started… AUGUST 30, 2012 | SLIDE 7
  • 7. How it started…  MVP Summit 2011  Wade Wegner talks about his homebrewing hobby  MVP Summit 2012  Wade Wegner talks about his homebrewing hobby  Convinced! AUGUST 30, 2012 | SLIDE 8
  • 8. The process  Get your kegs clean  Add & boil ingredients  Pour in keg  Add yeast  Rinse AUGUST 30, 2012 | SLIDE 9
  • 9. The process Wait for fermentation to complete AUGUST 30, 2012 | SLIDE 10
  • 10. The process  Pour into another keg  Rinse  Wait another week  Bottling time! AUGUST 30, 2012 | SLIDE 11
  • 11. Difficult part… Wait at least 6 weeks for it to age AUGUST 30, 2012 | SLIDE 12
  • 12. Maarten… What does this have to do with Windows Azure? AUGUST 30, 2012 | SLIDE 13
  • 13. Azurifying the home brewer WWW.BREWBUDDY.NET AUGUST 30, 2012 | SLIDE 14
  • 14. BrewBuddy  View public recipes  Manage your own recipes  Manage your own brews  Monitor brew fermentation AUGUST 30, 2012 | SLIDE 15
  • 15. BrewBuddy Social brewing at a glance demo AUGUST 30, 2012 | SLIDE 16
  • 16. Architecture Sensor Public website Windows Azure Web Sites Whatever… Database SQL Azure database Sensor data Sensor data processing Service Bus topic Windows Azure Worker Role AUGUST 30, 2012 | SLIDE 17
  • 17. Scale-fast has just become more interesting WINDOWS AZURE WEB SITES AUGUST 30, 2012 | SLIDE 18
  • 18. Windows Azure Web Sites  Build with ASP.NET, Node.js or PHP  Deploy in seconds with FTP, Git or TFS  Start for free, scale up as your traffic grows AUGUST 30, 2012 | SLIDE 19
  • 19. Windows Azure Web Sites shared 1 SHARED INSTANCES AUGUST 30, 2012 | SLIDE 20
  • 20. Windows Azure Web Sites shared 2 SHARED INSTANCES AUGUST 30, 2012 | SLIDE 21
  • 21. Windows Azure Web Sites reserved 0 1 SHARED INSTANCES RESERVED INSTANCE AUGUST 30, 2012 | SLIDE 22
  • 22. Windows Azure Web Sites reserved 2 RESERVED INSTANCE AUGUST 30, 2012 | SLIDE 23
  • 23. Windows Azure Web Sites reserved 2 RESERVED INSTANCE RESERVED INSTANCE AUGUST 30, 2012 | SLIDE 24
  • 24. A perfect ramp-up!  Start small  Web Sites are cheap  Scale to 3 reserved instances  Grow big!  Hosted Service – PaaS  Scale at will AUGUST 30, 2012 | SLIDE 25
  • 25. Windows Azure Web Sites Creating a new web site in seconds demo AUGUST 30, 2012 | SLIDE 26
  • 26. Connecting sensors SERVICE BUS & ACCESS CONTROL SERVICE AUGUST 30, 2012 | SLIDE 27
  • 27. Windows Azure Service Bus  2 features  Relay  Queues, Topics, Subscriptions AUGUST 30, 2012 | SLIDE 28
  • 28. Windows Azure Service Bus Relay relay Client AUGUST 30, 2012 | SLIDE 29
  • 29. Topics and subscriptions Sensor AUGUST 30, 2012 | SLIDE 30
  • 30. Characteristics  Workers can scale independently  Workers can fail independently  Sensors connect to service bus directly  No layer in between  Cheaper AUGUST 30, 2012 | SLIDE 31
  • 31. What about authN / authZ?  Access Control Service to the rescue!  SB authenticates clients over ACS  ACS provides “Send” claim to sensor  Claims can be granted/revoked easily AUGUST 30, 2012 | SLIDE 32
  • 32. Access Control Service Claims for authZ on Service Bus demo AUGUST 30, 2012 | SLIDE 33
  • 33. Architecture Sensor Public website Windows Azure Web Sites Whatever… Sensor management Database Access Control Service SQL Azure database Sensor data Sensor data processing Service Bus topic Windows Azure Worker Role AUGUST 30, 2012 | SLIDE 34
  • 34. How do you link a sensor?  Every sensor has its sensor ID  Add it as an identity to ACS  Grant a “Send” claim AUGUST 30, 2012 | SLIDE 35
  • 35. Linking a a sensor with Access Control Registering sensor to a brew Service demo AUGUST 30, 2012 | SLIDE 36
  • 36. <french>Make everyone API!</french> WE NEED AN API AUGUST 30, 2012 | SLIDE 37
  • 37. Consuming the web  2000-2008: Desktop browser  2008-2012: Mobile browser  2008-2012: iPhone and Android apps  2010-2014: Tablets, tablets, tablets  2014-2016: Your fridge (Internet of Things) AUGUST 30, 2012 | SLIDE 38
  • 38. AUGUST 30, 2012 | SLIDE 39
  • 39. Twitter & Facebook By show of hands… AUGUST 30, 2012 | SLIDE 40
  • 40. Make everyone API (as the French say) AUGUST 30, 2012 | SLIDE 41
  • 41. What is an API?  Software-to-Software interface  Contract between software and developers  Functionalities, constraints (technical / legal) Programming instructions and standards  Open services to other software developers (public or private) AUGUST 30, 2012 | SLIDE 42
  • 42. Expose services to 3rd parties  Valuable  Flexible  Managed  Supported  Have a plan AUGUST 30, 2012 | SLIDE 43
  • 43. Reach More Clients AUGUST 30, 2012 | SLIDE 44
  • 44. ASP.NET Web API  Part of ASP.NET MVC 4  Framework to build HTTP Services (REST)  Solid features  Modern HTTP programming model  Content negotiation (e.g. Xml, json, ...)  Query composition (OData query support)  Model binding and validation (conversion to .NET objects)  Routes  Filters (e.g. Validation, exception handling, ...)  And more! AUGUST 30, 2012 | SLIDE 45
  • 45. Be detailed! Think about RFC 2324 (HTCPCP) AUGUST 30, 2012 | SLIDE 46
  • 46. ASP.NET Web API Let’s craft a quick API demo AUGUST 30, 2012 | SLIDE 47
  • 47. What about authN / authZ?  API access through OAuth2  Access Control Service to the rescue!  Client authorized in BrewBuddy.net  Access/refresh tokens through ACS AUGUST 30, 2012 | SLIDE 48
  • 48. What about authN / authZ? API Consumer BrewBuddy.net client_id and client_secret access API authorize Initial authorization (yes/no) API implementation access/refresh token register delegation Access Control Service Access/Refresh Token AUGUST 30, 2012 | SLIDE 49
  • 49. Install-Package WindowsAzure.Acs.Oauth2 -IncludePrerelease Access Control Service for API’s OAuth2 delegation demo AUGUST 30, 2012 | SLIDE 50
  • 51. Keep in mind…  Web Sites start cheap / scale fast  Combine/grow at will (IaaS, PaaS, SaaS)  Service bus for asynchrony and scale  Access Control for devices  Web API & Access Control AUGUST 30, 2012 | SLIDE 52
  • 52. Cloud Burst 2012 - Sweden  September 27 – 28, 2012  Stockholm  http://www.azureug.se/CloudBurst2012 AUGUST 30, 2012 | SLIDE 53
  • 53. http://blog.maartenballiauw.be @maartenballiauw http://amzn.to/pronuget THANK YOU! AUGUST 30, 2012 | SLIDE 54

Hinweis der Redaktion

  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.