Architecting for a cost effective Windows Azure solution

Maarten Balliauw
Maarten BalliauwDeveloper Advocate
DECEMBER 12, 2011 | SLIDE 1
www.realdolmen.com




                               COST ARCHITECTING
                              FOR WINDOWS AZURE




DECEMBER 12, 2011 | SLIDE 2
WHO AM I?
        Maarten Balliauw
        Antwerp, Belgium
        www.realdolmen.com
        Focus on web
          ASP.NET MVC, PHP, Azure, SignalR, …
          MVP Windows Azure (formerly ASP.NET)
        Co-founder of AZUG
        http://blog.maartenballiauw.be
        @maartenballiauw




DECEMBER 12, 2011 | SLIDE 3
AGENDA
        Different metrics
        Easing the bill
            Virtual machines
            Storage
            SQL Azure
            Customer awareness
            Developer awareness
        Takeaways
        Q&A




DECEMBER 12, 2011 | SLIDE 4
Traditional architecture vs. Cloud architecture

     DIFFERENT METRICS


DECEMBER 12, 2011 | SLIDE 5
CAPEX (CLASSIC INVESTMENT MODEL)


                                                      Allocated         Load
                                                    IT-capacities      Forecast
                                  Undercapacity
            IT CAPACITY




                          Overcapacity                              Fixed cost of
                                                                    IT-capacities




Investment

                                            Actual Load



                                                          TIME
   DECEMBER 12, 2011 | SLIDE 6
OPEX (“PAY FOR USE”)


                                                                        Load
                                                    Allocated IT       Forecast
                                                     capacities

                            No undercapacity
            IT CAPACITY




                            Reduction of                              Possible
                            overcapacity                            reduction of
                                                                   IT-capacities
                                                                     in case of
 Reduction                                                         reduced load
  of initial
investments
                                           Actual Load



                                                         TIME
   DECEMBER 12, 2011 | SLIDE 7
THAT’S A CHALLENGE!
        Traditional architecture           Cloud architecture
          Overcapacity available             No overcapacity
          Extra layers != extra costs        Extra layers == extra costs
          Costs are hidden                   Costs are better visible




DECEMBER 12, 2011 | SLIDE 8
YOU PAY FOR ...

  the services used


             Windows Azure                    SQL Azure      Azure AppFabric

                                                            5. Access     6. Service
                              3. Storage
1. Compute        2. Storage                     4. DB       Control         Bus
                             Transactions
                                                          Transactions   Connections



  + the data transfer consumed


                Outside the                 7. egress      DataCenter
                datacenter




 DECEMBER 12, 2011 | SLIDE 9
7 DIFFERENT PARAMETERS???
       Typically you only use 4:
            Compute hours
            SQL Azure database
            Storage
            Data transfer out




DECEMBER 12, 2011 | SLIDE 10
COMPLEX?
   No! Here are your datacenter parameters...
    • Licenses                        • Server room
         • OS License                       • Rent
         • SQL Server License               • Cooling
    • Hardware investment                   • Lighting
         • Server                           • Cleaning
         • Disks                            • Smoke detectors
         • Racks                      • Tapes for backup
         • Switches                   • Salary for admin people
         • UPS                              • Install hardware
         • Network cables                   • Maintain hardware
    • Hardware maintanance                  • Apply OS patches
    • Power consumption of hardware         • Backup/Restore operations
         • Server                           • Firewall/DMZ configuration
         • Disk                             • Clear logfiles
         • Racks                      • Taxes on Salaries
         • Swithes                    • Time spent on procurement cycle of
    • Insurance of hardware             hardware / Licenses
    • Insurance on server room        • ...


DECEMBER 12, 2011 | SLIDE 11
Easing the bill

     VIRTUAL MACHINES


DECEMBER 12, 2011 | SLIDE 12
LIMITING VIRTUAL MACHINE COUNT
       Do you need full capacity 24/7?
          Probably not, reduce # cpu’s when not used
       Use Windows Azure Diagnostics API & Windows Azure
        Management API to scale (semi)-automatically
          24 hours x 10 small instances = 20,50 EUR / day
          vs.
          16 hours x 10 small instances
           + 8 hours x 4 small instances = 16,4 EUR / day




DECEMBER 12, 2011 | SLIDE 13
LIMITING VIRTUAL MACHINE COUNT
       Staging environment costs
       When not in use, undeploy the staging environment
          24 hours x 5 small instances = 10,25 EUR / day
          vs.
          22 hours x 5 small instances = 5,13 EUR / day




DECEMBER 12, 2011 | SLIDE 14
DEMO
Using Cerebrata tools to scale
http://www.cerebrata.com




DECEMBER 12, 2011 | SLIDE 15
WORKERS NEED WORK!
       Out of the box, 1 worker role = 1 task
       Why not spin up processes or threads?
       10 tasks
            1 task per worker = 20 workers*
            2 tasks per worker = 10 workers*
            10 tasks per worker = 2 workers*
            Which means 41 EUR / day vs. 4,1 EUR / day


       “Generic workers”: http://research.microsoft.com/en-
        us/downloads/76537edf-9b77-4664-b76b-
        cf51be506a0d/

       * 2 instances minimum for the SLA

DECEMBER 12, 2011 | SLIDE 16
DEMO
Combining work into one worker role




DECEMBER 12, 2011 | SLIDE 17
DO YOU NEED ALL OF THAT?

Compute                                              Instance   I/O
                          CPU              Memory
Instance Size                                        Storage    Performance
Extra Small               Shared 1.0 Ghz   768 MB    20 GB      Low
Small                     1.6 GHz          1.75 GB   225 GB     Moderate
Medium                    2 x 1.6 GHz      3.5 GB    490 GB     High
Large                     4 x 1.6 GHz      7 GB      1,000 GB   High
Extra Large               8 x 1.6 GHz      14 GB     2,040 GB   High


       1 XL = 2 L = 4 M = 8 S (regarding costs)
       No need for this memory / disk space?
          Stay with S or M
          Scale up/down more granularly




DECEMBER 12, 2011 | SLIDE 18
UNEMPLOYED? UNDEPLOYED!
       Billing per reserved VM
          Reserved = deployed / running
       Billing in staging and production
          2 instances staging + 2 instances production = 4 instances billed
       Undeploy your VM if not needed
          Undeploy staging every evening
          Automate this




DECEMBER 12, 2011 | SLIDE 19
DEMO
Using Greybox for Windows Azure
http://greybox.codeplex.com




DECEMBER 12, 2011 | SLIDE 20
When the box is
                 gray,
              you’re okay.

             When the box is
                   blue
              a bill is due.
DECEMBER 12, 2011 | SLIDE 21
WORK PER HOUR
       Billed per clock hour / CPU
       Keep instances running at least until x:55
       Don’t deploy at x:50, instead deploy at x:55
          Deploy at x:50 and undeploy at x+1:10
          2 hours billed!


       Don’t deploy every minute
          = 60 instance hours per hour!
          Don’t do continuous deployment for every build, but accumulate




DECEMBER 12, 2011 | SLIDE 22
Easing the bill

     BANDWIDTH, STORAGE &
     TRANSACTIONS

DECEMBER 12, 2011 | SLIDE 23
BANDWIDTH?
       Simple metric
          Use more = pay more
          Use less = pay less




DECEMBER 12, 2011 | SLIDE 24
WHEN AM I USING BANDWIDTH?
       Data transfers out Windows Azure
          Compute
          Blobs
          AppFabric
       Data transfers between Windows Azure regions
          E.g. North America – Europe
          Keep compute & storage in the same region!




DECEMBER 12, 2011 | SLIDE 25
CONTENT DELIVERY NETWORK
       Content distributed across X servers
       Storage costs = none
       Bandwidth costs = replication + bandwidth to users
          Can be limited by setting cache headers




DECEMBER 12, 2011 | SLIDE 26
STORAGE
       Data you store (non SQL)
          Tables
          Blobs
          Queues


       Per GB / month

       Average over full month
          10 GB stored for 15 days, 0 GB stored for 15 days = 5 GB stored
           for 1 month




DECEMBER 12, 2011 | SLIDE 27
TRANSACTIONS
       1 transaction = 1 storage operation
       Billed per 10.000
       Checking a queue every second from 2 workers
          172.800 transactions / day
       Use a back-off mechanism
          No data? Wait a second
          Again no data? Wait two seconds
          Etc.




DECEMBER 12, 2011 | SLIDE 28
DEMO
Backoff polling a queue




DECEMBER 12, 2011 | SLIDE 29
BACKOFF POLLING A QUEUE
Processed: Message #49 from a batch of 55
Processed: Message #50 from a batch of 55
Processed: Message #51 from a batch of 55
Processed: Message #52 from a batch of 55
Processed: Message #53 from a batch of 55
Processed: Message #54 from a batch of 55
Backing off for 1 second(s)...
Backing off for 2 second(s)...
FillQueue finished.
Backing off for 3 second(s)...
FillQueue is doing work.
Processed: Message #0 from a batch of 5
Processed: Message #1 from a batch of 5
Processed: Message #2 from a batch of 5
Processed: Message #3 from a batch of 5
Processed: Message #4 from a batch of 5
Backing off for 1 second(s)...
FillQueue finished.
Backing off for 2 second(s)...
FillQueue is doing work.
FillQueue finished.

DECEMBER 12, 2011 | SLIDE 30
TRANSACTIONS
       1 transaction = 1 storage operation
       Billed per 10.000
       Serving 100 images from blob storage
            High traffic app  high # transactions
            Choose wisely between blob storage and compute
            But mind that serving static files also costs money
            High traffic app  go CDN




DECEMBER 12, 2011 | SLIDE 31
DIAGNOSTICS MONITOR
       Writes data to storage account
       Does not clean up
       Write often = # transactions
       Write less = lag in diagnostic data




DECEMBER 12, 2011 | SLIDE 32
Easing the bill

     SQL AZURE


DECEMBER 12, 2011 | SLIDE 33
DATABASE EDITIONS
       Web
          1 or 5 GB
       Business
          10, 20, 30, 40, 50 GB




DECEMBER 12, 2011 | SLIDE 34
DATABASE EDITIONS
  1 GB/ Month = $9.99
  5 GB/ Month = $49.95
  10 GB/ Month = $99.99
  20 GB/ Month = $199.98
  30 GB/ Month = $299.97
  40 GB/ Month = $399.96
  50 GB/ Month = $499.95
 + data transfer ingress & egress




DECEMBER 12, 2011 | SLIDE 35
BILLING NUANCES
       Based on peak DB size / day
       Averaged over 1 month
       Actual database edition size used is billed

       Examples
          0.9 GB in a 5 GB web edition costs 1 GB
           (= $9.99)
          1.1 GB in a 5 GB web edition costs 5 GB
           (= $49.95)




DECEMBER 12, 2011 | SLIDE 36
TABLES & INDEXES COST MONEY
       Be careful with them
       Only define indexes needed
       Indexing every column & not using it may be a waste of
        money

       Example
          If index costs 0.50 EUR / month & does not add speed, lose it
          Table with 1 GB of “static data” on SQL Azure = $ 9.99, on
           table/blob storage it costs $ 0.12...




DECEMBER 12, 2011 | SLIDE 37
STORED PROCEDURES
       Tendency to not use stored procedures nowadays
       Stored procedure = free!
          DB is metered on storage
          May be a good idea to use stored procedures and lose a worker
           role
          Limitations




DECEMBER 12, 2011 | SLIDE 38
Easing the bill

     DEVELOPER AWARENESS


DECEMBER 12, 2011 | SLIDE 39
A CODE SNIPPET...
 if (Session["culture"].ToString() == "en-US") {
    // .. set to English ...
 }

 if (Session["culture"].ToString() == "nl-BE") {
   // .. set to Dutch ...
 }

 string culture = Session["culture"].ToString();
 if (culture == "en-US") {
     // .. set to English ...
 }

 if (culture == "nl-BE") {
     // .. set to Dutch ...
 }


DECEMBER 12, 2011 | SLIDE 40
What to remember?

     TAKEAWAYS


DECEMBER 12, 2011 | SLIDE 41
TAKEAWAYS
  Cloud pricing != more complex
    Just “different”

       Every component has own characteristics
       Requirements impact costs
       Developers impact costs
       Windows Azure pricing model can improve
        code quality

  But don’t over-analyze!

DECEMBER 12, 2011 | SLIDE 42
THANK YOU FOR JOINING



DECEMBER 12, 2011 | SLIDE 43
1 of 43

Recommended

Cloud computing by
Cloud computingCloud computing
Cloud computingNitin Verma [nitin.verma@dbydx.com]
352 views21 slides
SKALICloud CCM Nov 2011 by
SKALICloud CCM Nov 2011SKALICloud CCM Nov 2011
SKALICloud CCM Nov 2011SKALI Group
263 views26 slides
Cost effective azure by
Cost effective azureCost effective azure
Cost effective azureGal Kogman
564 views38 slides
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard... by
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...
Erik Ableson & Vincent Branger: What's best for vdi storage optimisation hard...ILKI - Your Cloud Designer
2.6K views126 slides
Novell Success Stories: Collaboration in Education by
Novell Success Stories: Collaboration in EducationNovell Success Stories: Collaboration in Education
Novell Success Stories: Collaboration in EducationNovell
655 views13 slides
Windows Azure Platform: Articles from the Trenches, Volume One by
Windows Azure Platform: Articles from the Trenches, Volume OneWindows Azure Platform: Articles from the Trenches, Volume One
Windows Azure Platform: Articles from the Trenches, Volume OneEric Nelson
14.2K views96 slides

More Related Content

What's hot

Integrating Novell Teaming within Your Existing Infrastructure by
Integrating Novell Teaming within Your Existing InfrastructureIntegrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing InfrastructureNovell
521 views29 slides
Adaptive Computing Using PlateSpin Orchestrate by
Adaptive Computing Using PlateSpin OrchestrateAdaptive Computing Using PlateSpin Orchestrate
Adaptive Computing Using PlateSpin OrchestrateNovell
498 views25 slides
Dell openstack boston meetup dell crowbar and open stack by
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stackDellCloudEdge
1.2K views24 slides
Finding Virtual Coins in the Couch by
Finding Virtual Coins in the CouchFinding Virtual Coins in the Couch
Finding Virtual Coins in the CouchNovell
382 views33 slides
LCA 2013 - Baremetal Provisioning with Openstack by
LCA 2013 - Baremetal Provisioning with OpenstackLCA 2013 - Baremetal Provisioning with Openstack
LCA 2013 - Baremetal Provisioning with OpenstackDevananda Van Der Veen
2.1K views36 slides
Simplifying network management with Platespin by
Simplifying network management with PlatespinSimplifying network management with Platespin
Simplifying network management with PlatespinAdvanced Logic Industries
555 views20 slides

What's hot(20)

Integrating Novell Teaming within Your Existing Infrastructure by Novell
Integrating Novell Teaming within Your Existing InfrastructureIntegrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing Infrastructure
Novell521 views
Adaptive Computing Using PlateSpin Orchestrate by Novell
Adaptive Computing Using PlateSpin OrchestrateAdaptive Computing Using PlateSpin Orchestrate
Adaptive Computing Using PlateSpin Orchestrate
Novell498 views
Dell openstack boston meetup dell crowbar and open stack by DellCloudEdge
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stack
DellCloudEdge1.2K views
Finding Virtual Coins in the Couch by Novell
Finding Virtual Coins in the CouchFinding Virtual Coins in the Couch
Finding Virtual Coins in the Couch
Novell382 views
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy by Pete Johnson
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made EasyMatching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Pete Johnson339 views
Oracle Egineered System @ TBIZ2011 by TechnologyBIZ
Oracle Egineered System @ TBIZ2011Oracle Egineered System @ TBIZ2011
Oracle Egineered System @ TBIZ2011
TechnologyBIZ212 views
Presentation architecting a cloud infrastructure by xKinAnx
Presentation   architecting a cloud infrastructurePresentation   architecting a cloud infrastructure
Presentation architecting a cloud infrastructure
xKinAnx192 views
Novell iPrint: Advanced Features on Linux by Novell
Novell iPrint: Advanced Features on LinuxNovell iPrint: Advanced Features on Linux
Novell iPrint: Advanced Features on Linux
Novell1.2K views
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012 by Amazon Web Services
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
Amazon Web Services4.5K views
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1 by Novell
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Novell1.1K views
Accelerate to the Cloud by Novell
Accelerate to the CloudAccelerate to the Cloud
Accelerate to the Cloud
Novell842 views
Citrix XenDesktop 5.5 seminar by Markiting_be
Citrix XenDesktop 5.5 seminarCitrix XenDesktop 5.5 seminar
Citrix XenDesktop 5.5 seminar
Markiting_be5.1K views
Protecting Linux Workloads with PlateSpin Disaster Recovery by Novell
Protecting Linux Workloads with PlateSpin Disaster RecoveryProtecting Linux Workloads with PlateSpin Disaster Recovery
Protecting Linux Workloads with PlateSpin Disaster Recovery
Novell592 views
Linux, Virtualisation, and Clouds by Robert Sutor
Linux, Virtualisation, and CloudsLinux, Virtualisation, and Clouds
Linux, Virtualisation, and Clouds
Robert Sutor1.7K views
Virtualization Primer for Java Developers by Richard McDougall
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java Developers
Richard McDougall2.8K views

Viewers also liked

Kelsey: Top 5 Mobile Trends by
Kelsey: Top 5 Mobile TrendsKelsey: Top 5 Mobile Trends
Kelsey: Top 5 Mobile TrendsBen Allen
644 views15 slides
Using nu get the way you should svcc by
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svccMaarten Balliauw
1.5K views41 slides
Sherlock Homepage - A detective story about running large web services - WebN... by
Sherlock Homepage - A detective story about running large web services - WebN...Sherlock Homepage - A detective story about running large web services - WebN...
Sherlock Homepage - A detective story about running large web services - WebN...Maarten Balliauw
2.2K views58 slides
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo) by
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)Maarten Balliauw
2.8K views42 slides
Sherlock Homepage - A detective story about running large web services (VISUG... by
Sherlock Homepage - A detective story about running large web services (VISUG...Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...Maarten Balliauw
1.2K views58 slides
DNS for Developers - NDC Oslo 2016 by
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016Maarten Balliauw
1.4K views58 slides

Viewers also liked(7)

Kelsey: Top 5 Mobile Trends by Ben Allen
Kelsey: Top 5 Mobile TrendsKelsey: Top 5 Mobile Trends
Kelsey: Top 5 Mobile Trends
Ben Allen644 views
Using nu get the way you should svcc by Maarten Balliauw
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
Maarten Balliauw1.5K views
Sherlock Homepage - A detective story about running large web services - WebN... by Maarten Balliauw
Sherlock Homepage - A detective story about running large web services - WebN...Sherlock Homepage - A detective story about running large web services - WebN...
Sherlock Homepage - A detective story about running large web services - WebN...
Maarten Balliauw2.2K views
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo) by Maarten Balliauw
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)
Maarten Balliauw2.8K views
Sherlock Homepage - A detective story about running large web services (VISUG... by Maarten Balliauw
Sherlock Homepage - A detective story about running large web services (VISUG...Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...
Maarten Balliauw1.2K views
DNS for Developers - NDC Oslo 2016 by Maarten Balliauw
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
Maarten Balliauw1.4K views
Sherlock Homepage - A detective story about running large web services - NDC ... by 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 ...
Maarten Balliauw795 views

Similar to Architecting for a cost effective Windows Azure solution

Architecture Best Practices on Windows Azure by
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureNuno Godinho
2.9K views40 slides
Windows Azure and the cloud - What it’s all about by
Windows Azure and the cloud - What it’s all aboutWindows Azure and the cloud - What it’s all about
Windows Azure and the cloud - What it’s all aboutMaarten Balliauw
3.9K views45 slides
Accelerating big data with ioMemory and Cisco UCS and NOSQL by
Accelerating big data with ioMemory and Cisco UCS and NOSQLAccelerating big data with ioMemory and Cisco UCS and NOSQL
Accelerating big data with ioMemory and Cisco UCS and NOSQLSumeet Bansal
958 views23 slides
Architecting Cloud Solutions by
Architecting Cloud SolutionsArchitecting Cloud Solutions
Architecting Cloud SolutionsAMD
809 views18 slides
Deploying OpenStack using Crowbar by
Deploying OpenStack using CrowbarDeploying OpenStack using Crowbar
Deploying OpenStack using Crowbaropenstackindia
5.6K views31 slides
Modernize Your Oracle Environment with an Agile Data Infrastructure by
Modernize Your Oracle Environment with an Agile Data InfrastructureModernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data InfrastructureNetApp
3.5K views20 slides

Similar to Architecting for a cost effective Windows Azure solution(20)

Architecture Best Practices on Windows Azure by Nuno Godinho
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows Azure
Nuno Godinho2.9K views
Windows Azure and the cloud - What it’s all about by Maarten Balliauw
Windows Azure and the cloud - What it’s all aboutWindows Azure and the cloud - What it’s all about
Windows Azure and the cloud - What it’s all about
Maarten Balliauw3.9K views
Accelerating big data with ioMemory and Cisco UCS and NOSQL by Sumeet Bansal
Accelerating big data with ioMemory and Cisco UCS and NOSQLAccelerating big data with ioMemory and Cisco UCS and NOSQL
Accelerating big data with ioMemory and Cisco UCS and NOSQL
Sumeet Bansal958 views
Architecting Cloud Solutions by AMD
Architecting Cloud SolutionsArchitecting Cloud Solutions
Architecting Cloud Solutions
AMD809 views
Deploying OpenStack using Crowbar by openstackindia
Deploying OpenStack using CrowbarDeploying OpenStack using Crowbar
Deploying OpenStack using Crowbar
openstackindia5.6K views
Modernize Your Oracle Environment with an Agile Data Infrastructure by NetApp
Modernize Your Oracle Environment with an Agile Data InfrastructureModernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data Infrastructure
NetApp3.5K views
Manage rising disk prices with storage virtualization webinar by Hitachi Vantara
Manage rising disk prices with storage virtualization webinarManage rising disk prices with storage virtualization webinar
Manage rising disk prices with storage virtualization webinar
Hitachi Vantara1.8K views
Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto... by Ceph Community
Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto...Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto...
Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto...
Ceph Community 3.2K views
Branch office in a box by Interop
Branch office in a boxBranch office in a box
Branch office in a box
Interop888 views
DC Storage Review by Rodney Koch
DC Storage ReviewDC Storage Review
DC Storage Review
Rodney Koch181 views
Exadata Performance Optimization by Enkitec
Exadata Performance OptimizationExadata Performance Optimization
Exadata Performance Optimization
Enkitec1.9K views
Postgres Plus Cloud Database by Gary Carter
Postgres Plus Cloud DatabasePostgres Plus Cloud Database
Postgres Plus Cloud Database
Gary Carter1.3K views
Running Oracle EBS in the cloud (DOAG TECH17 edition) by Andrejs Prokopjevs
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Andrejs Prokopjevs284 views
Cloud Computing & Scaling Web Apps by Mark Slingsby
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
Mark Slingsby480 views
#CCevent Cloud is awesome but not as flexible as you think by Pete Johnson
#CCevent Cloud is awesome but not as flexible as you think#CCevent Cloud is awesome but not as flexible as you think
#CCevent Cloud is awesome but not as flexible as you think
Pete Johnson1.2K views
Virtualization Techniques & Cloud Compting by Ahmed Mekkawy
Virtualization Techniques & Cloud ComptingVirtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud Compting
Ahmed Mekkawy13.3K views

More from Maarten Balliauw

Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s... by
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
360 views64 slides
Building a friendly .NET SDK to connect to Space by
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
182 views47 slides
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo... by
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
405 views52 slides
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday... by
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
180 views32 slides
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain... by
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
326 views53 slides
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m... by
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
279 views42 slides

More from Maarten Balliauw(20)

Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s... by 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...
Maarten Balliauw360 views
Building a friendly .NET SDK to connect to Space by Maarten Balliauw
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 Balliauw182 views
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo... by 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...
Maarten Balliauw405 views
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday... by 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...
Maarten Balliauw180 views
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain... by 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...
Maarten Balliauw326 views
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m... by 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...
Maarten Balliauw279 views
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se... by 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...
Maarten Balliauw290 views
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S... by 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...
Maarten Balliauw564 views
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search by Maarten Balliauw
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 Balliauw958 views
Approaches for application request throttling - Cloud Developer Days Poland by Maarten Balliauw
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 Balliauw1.1K views
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve... by 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...
Maarten Balliauw1.1K views
Approaches for application request throttling - dotNetCologne by Maarten Balliauw
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
Maarten Balliauw246 views
CodeStock - Exploring .NET memory management - a trip down memory lane by Maarten Balliauw
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 Balliauw1.9K views
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain... by 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...
Maarten Balliauw1.2K views
ConFoo Montreal - Approaches for application request throttling by Maarten Balliauw
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
Maarten Balliauw1.2K views
Microservices for building an IDE – The innards of JetBrains Rider - TechDays... by 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...
Maarten Balliauw10.5K views
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory... by 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...
Maarten Balliauw1.1K views
DotNetFest - Let’s refresh our memory! Memory management in .NET by Maarten Balliauw
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 Balliauw480 views
VISUG - Approaches for application request throttling by Maarten Balliauw
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten Balliauw817 views
What is going on - Application diagnostics on Azure - TechDays Finland by Maarten Balliauw
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays Finland
Maarten Balliauw746 views

Recently uploaded

【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
41 views8 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
33 views73 slides
Spesifikasi Lengkap ASUS Vivobook Go 14 by
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
37 views1 slide
Java Platform Approach 1.0 - Picnic Meetup by
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic MeetupRick Ossendrijver
27 views39 slides
Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
28 views15 slides
Lilypad @ Labweek, Istanbul, 2023.pdf by
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdfAlly339821
9 views45 slides

Recently uploaded(20)

【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
Lilypad @ Labweek, Istanbul, 2023.pdf by Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada135 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views

Architecting for a cost effective Windows Azure solution

  • 1. DECEMBER 12, 2011 | SLIDE 1
  • 2. www.realdolmen.com COST ARCHITECTING FOR WINDOWS AZURE DECEMBER 12, 2011 | SLIDE 2
  • 3. WHO AM I?  Maarten Balliauw  Antwerp, Belgium  www.realdolmen.com  Focus on web  ASP.NET MVC, PHP, Azure, SignalR, …  MVP Windows Azure (formerly ASP.NET)  Co-founder of AZUG  http://blog.maartenballiauw.be  @maartenballiauw DECEMBER 12, 2011 | SLIDE 3
  • 4. AGENDA  Different metrics  Easing the bill  Virtual machines  Storage  SQL Azure  Customer awareness  Developer awareness  Takeaways  Q&A DECEMBER 12, 2011 | SLIDE 4
  • 5. Traditional architecture vs. Cloud architecture DIFFERENT METRICS DECEMBER 12, 2011 | SLIDE 5
  • 6. CAPEX (CLASSIC INVESTMENT MODEL) Allocated Load IT-capacities Forecast Undercapacity IT CAPACITY Overcapacity Fixed cost of IT-capacities Investment Actual Load TIME DECEMBER 12, 2011 | SLIDE 6
  • 7. OPEX (“PAY FOR USE”) Load Allocated IT Forecast capacities No undercapacity IT CAPACITY Reduction of Possible overcapacity reduction of IT-capacities in case of Reduction reduced load of initial investments Actual Load TIME DECEMBER 12, 2011 | SLIDE 7
  • 8. THAT’S A CHALLENGE!  Traditional architecture  Cloud architecture  Overcapacity available  No overcapacity  Extra layers != extra costs  Extra layers == extra costs  Costs are hidden  Costs are better visible DECEMBER 12, 2011 | SLIDE 8
  • 9. YOU PAY FOR ... the services used Windows Azure SQL Azure Azure AppFabric 5. Access 6. Service 3. Storage 1. Compute 2. Storage 4. DB Control Bus Transactions Transactions Connections + the data transfer consumed Outside the 7. egress DataCenter datacenter DECEMBER 12, 2011 | SLIDE 9
  • 10. 7 DIFFERENT PARAMETERS???  Typically you only use 4:  Compute hours  SQL Azure database  Storage  Data transfer out DECEMBER 12, 2011 | SLIDE 10
  • 11. COMPLEX? No! Here are your datacenter parameters... • Licenses • Server room • OS License • Rent • SQL Server License • Cooling • Hardware investment • Lighting • Server • Cleaning • Disks • Smoke detectors • Racks • Tapes for backup • Switches • Salary for admin people • UPS • Install hardware • Network cables • Maintain hardware • Hardware maintanance • Apply OS patches • Power consumption of hardware • Backup/Restore operations • Server • Firewall/DMZ configuration • Disk • Clear logfiles • Racks • Taxes on Salaries • Swithes • Time spent on procurement cycle of • Insurance of hardware hardware / Licenses • Insurance on server room • ... DECEMBER 12, 2011 | SLIDE 11
  • 12. Easing the bill VIRTUAL MACHINES DECEMBER 12, 2011 | SLIDE 12
  • 13. LIMITING VIRTUAL MACHINE COUNT  Do you need full capacity 24/7?  Probably not, reduce # cpu’s when not used  Use Windows Azure Diagnostics API & Windows Azure Management API to scale (semi)-automatically  24 hours x 10 small instances = 20,50 EUR / day  vs.  16 hours x 10 small instances + 8 hours x 4 small instances = 16,4 EUR / day DECEMBER 12, 2011 | SLIDE 13
  • 14. LIMITING VIRTUAL MACHINE COUNT  Staging environment costs  When not in use, undeploy the staging environment  24 hours x 5 small instances = 10,25 EUR / day  vs.  22 hours x 5 small instances = 5,13 EUR / day DECEMBER 12, 2011 | SLIDE 14
  • 15. DEMO Using Cerebrata tools to scale http://www.cerebrata.com DECEMBER 12, 2011 | SLIDE 15
  • 16. WORKERS NEED WORK!  Out of the box, 1 worker role = 1 task  Why not spin up processes or threads?  10 tasks  1 task per worker = 20 workers*  2 tasks per worker = 10 workers*  10 tasks per worker = 2 workers*  Which means 41 EUR / day vs. 4,1 EUR / day  “Generic workers”: http://research.microsoft.com/en- us/downloads/76537edf-9b77-4664-b76b- cf51be506a0d/  * 2 instances minimum for the SLA DECEMBER 12, 2011 | SLIDE 16
  • 17. DEMO Combining work into one worker role DECEMBER 12, 2011 | SLIDE 17
  • 18. DO YOU NEED ALL OF THAT? Compute Instance I/O CPU Memory Instance Size Storage Performance Extra Small Shared 1.0 Ghz 768 MB 20 GB Low Small 1.6 GHz 1.75 GB 225 GB Moderate Medium 2 x 1.6 GHz 3.5 GB 490 GB High Large 4 x 1.6 GHz 7 GB 1,000 GB High Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High  1 XL = 2 L = 4 M = 8 S (regarding costs)  No need for this memory / disk space?  Stay with S or M  Scale up/down more granularly DECEMBER 12, 2011 | SLIDE 18
  • 19. UNEMPLOYED? UNDEPLOYED!  Billing per reserved VM  Reserved = deployed / running  Billing in staging and production  2 instances staging + 2 instances production = 4 instances billed  Undeploy your VM if not needed  Undeploy staging every evening  Automate this DECEMBER 12, 2011 | SLIDE 19
  • 20. DEMO Using Greybox for Windows Azure http://greybox.codeplex.com DECEMBER 12, 2011 | SLIDE 20
  • 21. When the box is gray, you’re okay. When the box is blue a bill is due. DECEMBER 12, 2011 | SLIDE 21
  • 22. WORK PER HOUR  Billed per clock hour / CPU  Keep instances running at least until x:55  Don’t deploy at x:50, instead deploy at x:55  Deploy at x:50 and undeploy at x+1:10  2 hours billed!  Don’t deploy every minute  = 60 instance hours per hour!  Don’t do continuous deployment for every build, but accumulate DECEMBER 12, 2011 | SLIDE 22
  • 23. Easing the bill BANDWIDTH, STORAGE & TRANSACTIONS DECEMBER 12, 2011 | SLIDE 23
  • 24. BANDWIDTH?  Simple metric  Use more = pay more  Use less = pay less DECEMBER 12, 2011 | SLIDE 24
  • 25. WHEN AM I USING BANDWIDTH?  Data transfers out Windows Azure  Compute  Blobs  AppFabric  Data transfers between Windows Azure regions  E.g. North America – Europe  Keep compute & storage in the same region! DECEMBER 12, 2011 | SLIDE 25
  • 26. CONTENT DELIVERY NETWORK  Content distributed across X servers  Storage costs = none  Bandwidth costs = replication + bandwidth to users  Can be limited by setting cache headers DECEMBER 12, 2011 | SLIDE 26
  • 27. STORAGE  Data you store (non SQL)  Tables  Blobs  Queues  Per GB / month  Average over full month  10 GB stored for 15 days, 0 GB stored for 15 days = 5 GB stored for 1 month DECEMBER 12, 2011 | SLIDE 27
  • 28. TRANSACTIONS  1 transaction = 1 storage operation  Billed per 10.000  Checking a queue every second from 2 workers  172.800 transactions / day  Use a back-off mechanism  No data? Wait a second  Again no data? Wait two seconds  Etc. DECEMBER 12, 2011 | SLIDE 28
  • 29. DEMO Backoff polling a queue DECEMBER 12, 2011 | SLIDE 29
  • 30. BACKOFF POLLING A QUEUE Processed: Message #49 from a batch of 55 Processed: Message #50 from a batch of 55 Processed: Message #51 from a batch of 55 Processed: Message #52 from a batch of 55 Processed: Message #53 from a batch of 55 Processed: Message #54 from a batch of 55 Backing off for 1 second(s)... Backing off for 2 second(s)... FillQueue finished. Backing off for 3 second(s)... FillQueue is doing work. Processed: Message #0 from a batch of 5 Processed: Message #1 from a batch of 5 Processed: Message #2 from a batch of 5 Processed: Message #3 from a batch of 5 Processed: Message #4 from a batch of 5 Backing off for 1 second(s)... FillQueue finished. Backing off for 2 second(s)... FillQueue is doing work. FillQueue finished. DECEMBER 12, 2011 | SLIDE 30
  • 31. TRANSACTIONS  1 transaction = 1 storage operation  Billed per 10.000  Serving 100 images from blob storage  High traffic app  high # transactions  Choose wisely between blob storage and compute  But mind that serving static files also costs money  High traffic app  go CDN DECEMBER 12, 2011 | SLIDE 31
  • 32. DIAGNOSTICS MONITOR  Writes data to storage account  Does not clean up  Write often = # transactions  Write less = lag in diagnostic data DECEMBER 12, 2011 | SLIDE 32
  • 33. Easing the bill SQL AZURE DECEMBER 12, 2011 | SLIDE 33
  • 34. DATABASE EDITIONS  Web  1 or 5 GB  Business  10, 20, 30, 40, 50 GB DECEMBER 12, 2011 | SLIDE 34
  • 35. DATABASE EDITIONS  1 GB/ Month = $9.99  5 GB/ Month = $49.95  10 GB/ Month = $99.99  20 GB/ Month = $199.98  30 GB/ Month = $299.97  40 GB/ Month = $399.96  50 GB/ Month = $499.95 + data transfer ingress & egress DECEMBER 12, 2011 | SLIDE 35
  • 36. BILLING NUANCES  Based on peak DB size / day  Averaged over 1 month  Actual database edition size used is billed  Examples  0.9 GB in a 5 GB web edition costs 1 GB (= $9.99)  1.1 GB in a 5 GB web edition costs 5 GB (= $49.95) DECEMBER 12, 2011 | SLIDE 36
  • 37. TABLES & INDEXES COST MONEY  Be careful with them  Only define indexes needed  Indexing every column & not using it may be a waste of money  Example  If index costs 0.50 EUR / month & does not add speed, lose it  Table with 1 GB of “static data” on SQL Azure = $ 9.99, on table/blob storage it costs $ 0.12... DECEMBER 12, 2011 | SLIDE 37
  • 38. STORED PROCEDURES  Tendency to not use stored procedures nowadays  Stored procedure = free!  DB is metered on storage  May be a good idea to use stored procedures and lose a worker role  Limitations DECEMBER 12, 2011 | SLIDE 38
  • 39. Easing the bill DEVELOPER AWARENESS DECEMBER 12, 2011 | SLIDE 39
  • 40. A CODE SNIPPET... if (Session["culture"].ToString() == "en-US") { // .. set to English ... } if (Session["culture"].ToString() == "nl-BE") { // .. set to Dutch ... } string culture = Session["culture"].ToString(); if (culture == "en-US") { // .. set to English ... } if (culture == "nl-BE") { // .. set to Dutch ... } DECEMBER 12, 2011 | SLIDE 40
  • 41. What to remember? TAKEAWAYS DECEMBER 12, 2011 | SLIDE 41
  • 42. TAKEAWAYS  Cloud pricing != more complex  Just “different”  Every component has own characteristics  Requirements impact costs  Developers impact costs  Windows Azure pricing model can improve code quality  But don’t over-analyze! DECEMBER 12, 2011 | SLIDE 42
  • 43. THANK YOU FOR JOINING DECEMBER 12, 2011 | SLIDE 43

Editor's Notes

  1. Hidden costs in traditional IT!
  2. The Real Cost of Indexes” (blogs.msdn.com/b/sqlazure/archive/2010/08/19/10051969.aspx)
  3. The Real Cost of Indexes” (blogs.msdn.com/b/sqlazure/archive/2010/08/19/10051969.aspx)