SQL Database Design For Developers at php[tek] 2024
Understanding The Azure Platform Jan
1. Understanding Azure David Gristwood Application Architect, Microsoft blogs.msdn.com/david_gristwood @ScroffTheBad
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
24. Windows Azure Platform Availability 2010 Northern Europe North Central USA 2010 2010 Eastern Asia Western Europe South Central USA 2010 Southeast Asia
25. 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
26. 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. Lights-Out Service Management Create services at the developer portal Manage services programmatically using the Service Management API Use in combination with diagnostics API to build a feedback loop
58. Service Upgrade Models In-place rolling upgrade Role instances are spread over update domains Roles are updated one update domain at a time Service remains available during upgrade Real-time hot swap Swap service endpoints of old/new version Enables complex architectural changes Planned downtime Stop and replace service with new version
59. Windows Azure Diagnostics 36 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
60. 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
63. 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
65. Common Scenarios Unknown lifetime systems, favouring "pay as you go" Good database management required Non or low confidential data Reference data, esp with Sync Framework Neutral "man in the middle" requirements Physical ownership of data not essential
66. 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
68. Information as a Service 45 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
74. “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
75. Service Bus 50 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
77. Access Control 52 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
80. 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
81. 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)
82. 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
83. TCO Analyzer Tool Quickly determine “quantitative” value of using Windows Azure Platform services TCO of development and running Windows Azure Platform vs. traditional delivery channels Estimation “of” and conversion “to” on-premise solution to Windows Azure Platform services TCO tool available today http://www.microsoft.com/windowsazure/tco/
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.