Understanding Azure is a document about Microsoft's cloud computing platform Azure. It discusses how Azure allows developers to build applications that can automatically scale to large numbers of users. Azure provides global data centers, flexible computing and storage services, and tools to help applications easily scale. The document outlines Azure's core services like compute, storage, SQL databases, and content delivery to simplify building applications that can handle large volumes of traffic.
2. Why a Cloud Platform? Reduce capital & operations costs Simplify application deployment & management Simplify scaling to internet scale Cost effectively handle peak loads Focus on new functionality & not infrastructure
32. Windows Azure Platform Availability Northern Europe North Central USA Eastern Asia Western Europe South Central USA Southeast Asia
33. Delivering an Efficient & Sustainable Cloud Microsoft has run Online Servicessince 1994 1st MSFT datacentre built in 1989 Running Online Services 24x7x365 MSN launched beta in 1994/public in 1995 Global service delivery to 59 markets/36 languages ∙ 30B Live ID authentications/month ∙ 2B Bing queries/month ∙ 10B MSN page views/month ∙ 240B Messenger messages/month Global Infrastructure to Run Your Services World Wide Quincy, WA: Approx 500K sq ft, hydro-powered San Antonio, TX: Approx 475K sq ft, recyclable water Chicago, IL: Approx 700K sq ft, water economization Dublin, Ireland: Approx 303+K sq ft, air economization
34. Chicago Datacentre – Scalable, Sustainable One of world’s largest datacentres using containers, on-line on July 2009 Cost $500 million, 700k sq ft facility (approx 16 football fields) 30 MegaWatts today, 60 MW for future use ISO 27001:2005 Accreditation SAS 70 Type I and II Attestations 40 ft containers with 1800-2500 servers Density of 10 times amount of compute in equivalent space in traditional datacentres Optimizes efficiency, reduces wastes and carbon footprint Delivers an average PUE of 1.22 Plug-and-play infrastructure = Rapid Deployment
57. Azure Compute Building Blocks Worker Role Web Role System Host IIS Host Your Code Your Code
58. Windows Azure Roles RoleEntryPoint represents role, RoleEnvironmentrepresents Azure environment OnStart for initialization Run for work GetHealthStatus to report application health RoleEnvironmentChanging to respond to number of instances in the service StatusCheck event to be removed from LB rotation
61. Windows Azure Blobs Provide simple interface for storing named files along with metadata for the file Blobs Containers Photo1.png Photo2.png Pictures Photo3.png
62. Windows Azure Blob features REST based API http://myaccount.blob.core.windows.net/mycontainer/myblob PutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob, etc Block Blob for streaming + commit-based writes Sequence of blocks, size limit 200GB per blob Page Blob for random read/write Array of pages, size limit 1TB per blob
63. Windows Azure Drives Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD) NTFS APIs providing durable file storage Drives can be up to 1TB, up to 16 can be mounted Can upload VHD via Page Blob then mount Ease migration of existing Windows applications to Azure Durability and survival of data on application failover or hardware failure
64. Windows Azure Tables Structured storage via entities, containing sets of properties Entities Tables Genre = … Title = … Movies Genre = … Title = … Actors Name = … DOB = …
65. Windows Azure Tables Provides Massively Scalable Structured Storage Billions of entities (rows) and TBs of data Familiar and Easy to use API WCF Data Services, LINQ Each entity can have up to 255 properties PartitionKey & RowKey as key and index Timestamp for optimistic concurrency No fixed schema for all other properties Property is stored as a <name, typed value> pair
70. Service Management API Provide Lights-Out Service Management Manage services programmatically via REST-based API X509 client certificates for authentication Viewing, creating, deleting, swapping, modifying configuration settings, etc on deployments
71. Windows Azure Diagnostics 42 Cloud is much harder than single server Dynamic environment, no local access Azure Diagnostics built for monitoring & data collection Focus on what to collect and when Designed for Azure Based on standard APIs Traces, logs, crash dumps, IIS logs, perfcounters, ETW, etc Upload to Azure storage as required Logging & Diagnostics
77. Azure Content Delivery Network Better performance and user experience by caching Azure blobs at strategically placed locations 18 locations globally (United States, Europe, Asia, Australia and South America) and growing Content Delivery Network Edge Location Edge Location pic1.jpg Edge Location Windows Azure Blob Service pic1.jpg
82. SQL Azure vs SQL Server Similarities Scalable, reliable, robust, SQL Server technology foundation Same SQL Server core database service Same TDS access Differences Supports subset of SQL Server 2008 T-SQL Limited to 1Gb or 10Gb database Different pricing model No Reporting Services, Analysis Services, etc
84. SQL Azure related projects Codename "Houston" Web management tooling SQL Server Management Studio 2008 R2 works today Codename "Dallas“ “Information as a service” Codename "Sydney“ Punch holes through firewalls to integrate cloud and on-premise databases SQL Azure Data Sync For Sync Framework
86. Information as a Service 54 Data or functionality that is “of value to many” – enabling applications, reports, BI analysis, etc… Examples include GIS/Spatial, traffic, movie show times, crime, real-estate sales, financial data, navigation, census data, reviews, etc… Various Classifications: Commercial: clean, supported, and regularly updated from ISVs and Content Providers Trusted Public Domain: clean, unsupported data from academia and governments (Census, FDA, …) Crowd Sourced: unreliable data in the public domain from anyone and everyone
92. “Infrastructure to help build and manage applications more easily” Windows Server AppFabric Caching capabilities (“Velocity”) Workflow + service hosting (“Dublin”) Windows Azure AppFabric (“.NET Services”) Service Bus Access Control
93. Service Bus 59 Exposing internal applications on the Internet isn’t easy Network address translation (NAT) and firewalls get in the way The Service Bus: Provides a cloud-based intermediary between clients and internal applications Provides a service registry that clients can use to find the services they need
95. Access Control 61 Different organizations identify users through many different techniques Applications can be faced with a confusing mess of security related code The Access Control Service: Implements a security token service (STS) in the cloud It accepts one token and issues another An administrator can define rules for how this claims transformation is done
98. Azure Pricing Money & Architecture are rarely divorced Pricing for launch reflect our costs Biggest cost is Windows Azure compute c.f. Supermarket checkout model Deals and bundles should follow
99. Windows Azure Platform Consumption Prices Pay as you go and grow for only what you use when you use it Elastic, scalable, secure, & highly available automated service platform Highly available, scalable, and self managed distributed database service $9.99/month(up to 1 GB DB/month) Compute Web Edition Per service hour Per database/month $0.12/hour + Variable Instance Sizes Windows Azure platform AppFabric Service Bus & Access Control Scalable, automated, highly available services for secure connectivity Business Edition Storage Access Control Service Bus $99.99/month(up to 10 GB DB/month) $0.015/10k Message Operations Per GB stored & transactions Per database/month $0.015/10k Message Operations Per Message Operation Per Message Operation $0.15 GB/month $0.01/10K transactions Prices shown in USD only International prices are available
100. Windows Azure Instance Sizes Variable instance sizes to handle complex workloads of any size X Large Large Medium Small $0.96 $0.48 $0.24 $0.12 Per service hour Per service hour Per service hour Per service hour Unit of Compute Defined Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) X-Large Large Medium Small 8 x 1.6Ghz 4 x 1.6Ghz 2 x 1.6Ghz 1 x 1.6Ghz (high IO) (high IO) (high IO) (moderate IO) 14 GB memory 7.0 GB memory 3.5 GB memory 1.75 GB memory 2000 GB (instance storage) 1000 GB storage (instance storage) 500 GB storage (instance storage) 250 GB storage (instance storage)
101. Windows Azure Platform Data Transfer Priced per GB transferred/month (prices shown in USD) North America Region Asia Pacific Region Europe Region $0.10 GB Ingress $0.15 GB Egress $0.10 GB Ingress $0.15 GB Egress $0.30 GB Ingress $0.45 GB Egress N. Europe Sub-region N. Central – US Sub-region E. Asia Sub-region W. Europe Sub-region S. Central - US Sub-region S.E. Asia Sub-region No Charge For Off Peak Ingress Promotion (ends 6/30/10) On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones below Europe WET = UTC North America PST = UTC-8 Asia Pacific SST = UTC+8
Slide objectives: Ensure that the audience understands our experience and investments in running and operating services.Speaking Points: IntroMicrosoft hasn’t been running services quite as long as we’ve been making software – but we have been in the business for a while and at huge scale. Just a few numbers from our consumer businessLive Search: 2.16B queries per month, 41 languagesMSN: 550M unique users, 10B+ page views per monthLive ID: 1B+ Authentications/dayMessenger: 8.2B messages/dayMicrosoft has rapidly expanded its data center operations since embarking on the Software + Services strategy in 2005, and willcontinue to do so for the foreseeable future. Initially the company focused on leased facilities. Now we design and build our own data centers. These will soon be the largest and most advanced such facilities in the world—the Northlake facility near Chicago, for instance, will cover more than 500,000 square feet and deliver significant gains in energy efficiency and environmental performance. Data CentersThis is a listing of just the new Microsoft-owned data centers. Designing and building these facilities ourselves allows Microsoft greater control over power efficiency and related environmental impacts. The list below is partial; Microsoft does not comment on exactly how many data centers are operating worldwide. Quincy, WA: Complete, approx 500K sq ft, 27MW, uses entirely hydro-electric powerSan Antonio, TX: Opening Fall 08, approx 475K sq ft, 27MW, uses recycled water for coolingChicago, IL: Opening Spring/Summer 09, approx 550K sq ft, up to 60MW when full, 1st floor up to 220 double-stacked containers, 2nd floor standard raised-floor data center space, will use outside air for coolingDublin, Ireland: Opening Summer 09, approx 570K sq ft, up to 27MW, will use outside air for coolingDes Moines, Iowa: Recently announced purchase of land in the Des Moines area with the intent to build a data centerInnovation:With the Chicago data center, the entire first floor will house containerstrucks will haul up to 200 containers into the building and back them into their slotsFacilities personnel will hook up Internet connections and power and cooling equipment; then each of the containers will be up and runningContainers provide: Energy efficiency, Cost, Deployment speedNotes:
The components of the Azure Services Platform can be used by local applications running on a variety of systems, including various flavors of Windows, mobile devices, and others. Those components include: Windows Azure: Provides a Windows-based environment for running applications and storing data on servers in Microsoft data centers. Microsoft .NET Services: Offers distributed infrastructure services to cloud-based and local applications. Microsoft SQL Services: Provides data services in the cloud based on SQL Server. Live Services: Through the Live Framework, provides access to data from Microsoft’s Live applications and others. The Live Framework also allows synchronizing this data across desktops and devices, finding and downloading applications, and more.
Windows Azure runs on a large number of machines, all located in Microsoft data centers and accessible via the Internet. A common Windows Azure fabric knits this plethora of processing power into a unified whole. Windows Azure compute and storage services are built on top of this fabric. The Windows Azure compute service is based, of course, on Windows. For the initial availability of this service, a Community Technology Preview (CTP) made public in the fall of 2008, Microsoft allowed Windows Azure to run only applications built on the .NET Framework. The company has announced plans to support unmanaged code as well, i.e., applications that aren’t built on the .NET Framework, on Windows Azure in 2009. In the CTP version of Windows Azure, developers can create .NET-based software such as ASP.NET applications and Windows Communication Foundation (WCF) services. To do this, they can use C# and other .NET languages, along with traditional development tools such as Visual Studio 2008. And while many developers are likely to use this initial version of Windows Azure to create Web applications, the platform also supports background processes that run independently—it’s not solely a Web platform. Both Windows Azure applications and on-premises applications can access the Windows Azure storage service, and both do it in the same way: using a RESTful approach. The underlying data store is not Microsoft SQL Server, however. In fact, Windows Azure storage isn’t a relational system, and its query language isn’t SQL. Because it’s primarily designed to support applications built on Windows Azure, it provides simpler, more scalable kinds of storage. Accordingly, it allows storing binary large objects (blobs), provides queues for communication between components of Windows Azure applications, and even offers a form of tables with a straightforward query language. Running applications and storing their data in the cloud can have clear benefits. Rather than buying, installing, and operating its own systems, for example, an organization can rely on a cloud provider to do this for them. Also, customers pay just for the computing and storage they use, rather than maintaining a large set of servers only for peak loads. And if they’re written correctly, applications can scale easily, taking advantage of the enormous data centers that cloud providers offer. Yet achieving these benefits requires effective management. In Windows Azure, each application has a configuration file. By changing the information in this file manually or programmatically, an application’s owner can control various aspects of its behavior, such as setting the number of instances that Windows Azure should run. The Windows Azure fabric monitors the application to maintain this desired state. To let its customers create, configure, and monitor applications, Windows Azure provides a browser-accessible portal. A customer provides a Windows Live ID, then chooses whether to create a hosting account for running applications, a storage account for storing data, or both. An application is free to charge its customers in any way it likes: subscriptions, per-use fees, or anything else. Windows Azure is a general platform that can be used in various scenarios.