Michael Epprecht IT Pro Evangelist Microsoft
Cloud Computing Proliferation The industry is going through a significant transformation across the entire stack: Datacenter and Hardware Model: Significant advances and standardization in the Datacenter and associated IT equipment/hardware. Application Model: Cloud computing provides the ability to quickly deliver highly-available, secure and infinitely geo-scalable applications and services while offering a rich end-user experience from anywhere and any device. Operational Model: Cloud services have inherent resilience to hardware or software failures due to redundant/self-healing service models combined with deep integration between ops & development/test providing a lights out experience.
Hybrid A New Operating Model PublicPrivate SaaS Software as a Service SaaS Software as a Service PaaS Platform as a Service PaaS Platform as a Service IaaS Infrastructure as a Service IaaS Infrastructure as a Service
In a non-cloud view, there are inefficiencies TIME IT CAPACITY Actual Load Allocated IT-capacities “Waste“ of capacities “Under-supply“ of capacities Fixed cost of IT-capacities Load Forecast Barrier for innovations
However, in a Cloud View Actual Load Allocated IT capacities Reduction of initial investments Reduction of “over-supply“ No “under-supply“ Possible reduction of IT-capacities in case of reduced load Time IT CAPACITY Load Forecast
Workload Patterns Optimal For Cloud Usage Compute Time Average Inactivity Period On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to market can be cumbersome Compute Time Average Usage Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases Average Usage Compute Time Successful services needs to grow/scale Keeping up w/ growth is big IT challenge Complex lead time for deployment Compute Time Average Usage Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity
Cloud Service Types Private (On-Premise) Private (On-Premise) Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration You manage Data / Users Infrastructure (as a Service) Infrastructure (as a Service) Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Managed by vendor You manage Data / Users Platform (as a Service) Platform (as a Service) Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Managed by vendor You manage Data / Users Software (as a Service) Software (as a Service) Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Managed by vendor Data / Users You manage
Developer Experience Use existing Skills and Tools Windows Azure Platform Internet
Windows Azure Roles
Underlying Hardware Rack mounted servers Each rack has a collection of identical nodes Each node (currently) has 2 CPU chips with 4 cores each 16 Gig of memory Disks for local storage Network Interface to a Top of Rack Switch
Hypervisor & VM Sandbox All Guest access to network and disk is mediated by Root VM (via the Hypervisor) Hypervisor Network/Disk
Managing it all through the Fabric Controllers
What does the world look like to a Guest VM? 1, 2, 4, or 8 CPUs; up to 14 GB or memory Three disk drives: C:\ Read/Write (for temps; initially populated with config file) D:\ Read (for OS code; initially as supplied by Windows Azure) E:\ Read (for application code; initially as supplied by customer admin) Network connectivity to Internet via NAT and to other VMs of same tenant Guest agent accepts incoming HTTP/RPC connections from Root OS
Application Deployment
The deployment…. 4 types of deployment Configuration only Configuration with restart Re-deploy application OS update
Managing Deployments Service Management APIs PowerShell CmdLets Requires Cert – can be self signed Service Account access not required for most deployment tasks Swap Deployments No downtime Release Management Leverage existing RM planning process 16
Monitoring
What do I need to do? Use Monitor the.NET logs Instrument your code thoroughly, your logs will tell you what is going on Management API PowerShell System Center Azure Management Pack Announced 10/26/windows-azure-monitoring-management-pack- release-candidate-rc-now-available-for-download.aspx 10/26/windows-azure-monitoring-management-pack- release-candidate-rc-now-available-for-download.aspx
Azure Platform Support
Pricing and Billing
How to Buy Consumption Based Flexible, pay for what you use Pay per hour, per GB Commitment Based / Enterprise Agreements Commit to xxx hours, xxx GB per month, discounted price Introductory Specials Fixed Price, Limits on Hours, GB’s etc, discounted price MSDN Development only Free to MSDN subscribers up to Limits on Hours, GB’s etc, then Consumption based pricing Free 3 Week Trial Fixed Price, Limits on Hours, GB’s etc CH&offer=COMPARE_PUBLIC
Costs - Compute Cost per hour, or part thereof VM SizeCPUsPrice per HourRAM Small1CHF 0.132/hour1.75GB Medium2CHF 0.264/hour3.5 GB Large4CHF 0.528/hour7.0 GB X-Large8CHF 1.056/hour14 GB Source:
Costs - Storage Blob/Table Storage CHF per GB stored per month CHF per 10’000 storage transactions CDN (Content Delivery Network) CHF per GB transferred from North America & Europe locations CHF 0.22 per GB transferred from other locations CHF per 10,000 transactions Source:
Costs – SQL Azure Web Edition CHF per database up to 1GB per month CHF per database up to 5GB per month Business Edition CHF per database up to 10GB per month CHF per database up to 20GB per month CHF per database up to 30GB per month CHF per database up to 40GB per month CHF per database up to 50GB per month SQL Azure SLA Source: Data Transfers North America and Europe CHF 0.11 per GB in CHF per GB out
Compute VM Size Definition Determined by Developer per Role Visual Studio Role Definition ServiceDefinition.csdf file vmsize=…..
Costs Incurred (1) Simple Example Case 1 x Web Role, Small (1 CPU) 1 x Worker Role, Small (1 CPU) Note: A minimum of Instances per Role must be deployed to qualify for SLA (i.e. 2 x web and/or 2 x worker roles)
Costs Incurred (2) Service Created IP Address Allocated DNS allocated Cost = CHF 0
Costs Incurred (3) Service Deployed IP Address Allocated DNS allocated CPU allocated RAM allocated Local Storage Allocated Cost = 2 x Roles = 2 CPU’s = 2 x CHF 0.132/hour
Costs Incurred (4) Service Running IP Address Allocated DNS allocated CPU allocated RAM allocated Local Storage Allocated Cost = 2 x Roles = 2 CPU’s = 2 x CHF 0.132/hour = CHF 0.264/hour = CHF 6.336/day
Costs Incurred (5) Service Suspended IP Address Allocated DNS allocated CPU allocated RAM allocated Local Storage Allocated Cost = 2 x Roles = 2 CPU’s = 2 x CHF 0.132/hour
Costs Incurred (6) To Stop incurring charges, Delete the deployment Service Deleted IP Address Allocated DNS allocated Cost = CHF 0
Costs Incurred (7) Staging/Production Example Case Production 2 x Web Role, Small (1 CPU) 2 x Worker Role, Small (1 CPU) Staging 1 x Web Role, Small (1 CPU) 1 x Worker Role, Small (1 CPU)
Costs Incurred (8) Service Running IP Address Allocated DNS allocated CPU allocated RAM allocated Local Storage Allocated Cost = 6 x Roles = 6 CPU’s = 6 x CHF 0.132/hour = CHF 0.792/hour = CHF /day
Costs – Basic Rules If you application is deployed, it costs CPU hours Delete the deployment to stop incurring costs If you have Table/Blog data, it costs whilst space is used If you have SQL Azure data, it costs whilst space is used No access from outside the MSFT datacenter = no bandwidth costs No Storage/App Fabric transactions = no transaction costs
How do I start?
Test Azure for Free Test Windows Azure for Free for 3 weeks No Credit Card required
Links Global Foundation Services (GFS) Azure PDC 10: October Full Session Streaming
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.