5. Platform as a Service Platform Today Server, VM, Network, Storage, App App Patch, Service Release, New Version Maintained for You Assembly Required Ready-Made Services Custom, Inconsistent Standardized Plan for Peak Load On-Demand Scale Built to Avoid & Recover from Failure Built to Expect & Withstand Failure
9. Windows Azure 0pportunities Move Applications to the Cloud Store Data in the Cloud Extend Applications to the Cloud Create New Solutions by Combining Cloud Services Create New Cloud Services
29. Archive “On and Off” “Unpredictable Bursting” Average Usage Compute Compute Compute Compute Average Usage Average Usage Average Usage Time Time Time Time
47. Chicago Datacentre – Scalable, Sustainable One of world’s largest datacentres using containers, on-line on July 2009 Cost $500 million 700k sqft facility (approx 16 football fields) 30 MegaWatts today, 60 MW for future use Security ISO 27001:2005 Accreditation - Security Management SAS 70 Type I and II Attestations - Audit standard for our internal controls system Containers 40 ft containers with 1800-2500 servers 10 x density traditional datacentres Optimizes efficiency, reduces wastes & carbon footprint Delivers an average PUE of 1.22
78. Development Fabric and Storage Local Machine Windows Azure Simulation Environment Development Storage Development Fabric
79. Windows Azure Platform Management Portal Faster and more user friendly portal for Windows Azure Platform services Enables more visibility and control Supports multiple users and roles Enable Remote Desktop and easily connect to Windows Azure instances Built on the Windows Azure Service Management APIs
80. Remote Desktop Portal-integrated Remote Desktop access to instances within your deployment Use standard Remote Desktop client Dynamic configuration of Remote Desktop settings Credentials Enable/Disable Expiration of credentials Ability to take instances on/off the load balancer for debugging
82. Application Compute Storage Fabric Config AppFabric Applications SQL Azure Windows Azure Applications Mobile Desktop Server Others
83. Azure Compute Building Blocks Windows Server 2008 x64 Virtual Machine .NET Framework – 3.5 SP1 and 4.0 Supports Full Trust but no Admin rights Native Code in User Mode Fabric manages role lifecycle Web Role Worker Role Hosted IIS 7 HTTP/HTTPS ASP.NET Fast CGI + PHP Managed Code Start Inbound on Any TCP Port HTTP/HTTPS
84. VM Size in Windows Azure Windows Azure Supports Various VM Sizes Size set on Role in Service Definition Service can have multiple roles Balance of Performance per node vs. High Availability from multiple nodes Set in Service Model definitionAll instances of role will be of equal size
85. Role Programming Model Inherits RoleEntryPoint OnStart() Method Called by Fabric on startup, allows you to perform initialization tasks. Reports Busy status to load balancer until you return true. Run() Method Main logic is here – can do anything, typically infinite loop. Should never exit. OnStop() Method Called when role is to be shutdown, graceful exit. 30 Seconds to tidy up You call into RoleEnvironment to enumerate roles, endpoints, etc
86. Windows Azure Storage Building Blocks Storage Queue Blobs &Drives Account Tables Each storage account can hold up to 100 TB
87. 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
88. Windows Azure Blobfeatures REST based API myaccount.blob.core.windows.net/mycontainer/myblob.jpg Blob Service API PutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob, etc Block Blob for streaming Maximum size 200Gb Page Blobfor random read/write operations Maximum size 1Tb
89. Windows Azure Drives Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD) NTFS APIs providing durable file storage on Page Blobs 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
90. Windows Azure Tables Structured storage via entities, containing sets of properties Entities Tables Genre = … Title = … Movies Genre = … Title = … Actors Name = … DOB = …
91. Windows Azure Tables Provides Massively Scalable Structured Storage Billions of entities (rows) and TBs of data Can utilise thousands of servers as it scales up Triple replicated for durability Familiar and easy to use REST based API 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 MyTable1 Entity: Sports Car Entity: Car Entity: Customer
93. Windows Azure Queues Provide reliable storage and delivery of messages Messages Queues “Body1” “Body2” ThumbnailJobs “Body3”
94. Windows Azure Queues Provide reliable storage and delivery of messages Max size of message 8 Kb Store URI to blog / table for larger data Messages must explicitly be deleted Set message expiration timeout Message de-queue count for poison messages Input Queue (Work Items) Queue Worker Role Web Role Worker Role Web Role Worker Role Web Role Worker Role
95. Notes on Queues Sleep when queue is empty Ensure message processing is idempotent If Worker role crashes, message becomes visible for another Worker to process f(x) = f(f(x)) Ensure message processing is commutative Messages will get handled out of order Judicious use of Try/Catch Check for poison messages For extreme throughput (>500 tps) Use multiple queues Read messages in batches or multiple work items per message
96. A Common Windows Azure Pattern Worker Role Web Role Queue Storage Blob Storage
98. 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
99. Windows Azure Diagnostics SDK component providing distributed monitoring & data collection for cloud apps Support Standard Diagnostics APIs Trace, Debug normally Manage multiple role instances centrally Choose what to collect & when to collect it Event Logs, Trace/Debug, Performance Counters, IIS Logs, Crash Dumps, Arbitrary log files Everything is remotely configurable Role Instance Role Local directory storage Diagnostic Monitor
100. Service Management CmdLets PowerShell cmdlets wrapping Azure Service Management and Diagnostics API Simple to script out deployments, upgrades, scaling Deploy new services Upgrade services Manage storage accounts Transfer diagnostics information
101. Service Upgrade Models Rolling upgrade (aka “In-place”) Roles are updated across update domains one at a time Service remains available during upgrade Real-time hot swap (aka “VIP Swap”) Virtual IP swap between staging & production Swap service endpoints of old/new version Enables complex architectural changes Planned downtime Stop and replace service with new version
102. Content Delivery Network Better performance and user experience by caching Azure blobs at strategically placed locations 25 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
103. Multiple IIS Sites and Virtual Applications SDK 1.3 uses full IIS and not Hosted Web Core Add multiple IIS sites and Virtual applications per Web Role in the service definition file
104.
105. Virtual Machine Role Coming Soon! VM Role provides additional control and flexibility on the Windows Azure environment, and makes it easy to run existing Windows applications on Windows Azure. Developers have full control over the OS image Ability to upload your own customized WS08R2 Enterprise images Operators can reboot, reimage and Remote Desktop Continue to benefit from automated service management, including service model enhancements described on subsequent slides
107. SQL Azure Extending SQL Server to the Cloud … Sync Service Database SQL Azure Database Familiar SQL Server relational database model Support for existing APIs & tools Built for the cloud with high availability & fault tolerance Easily provision and manage databases across multiple datacenters Data Sync Service Provides two-way sync of SQL Azure Databases across datacenters Example service available in the SQL Azure Labs environment
108. SQL Azure Database Service SQL Azure provides logical SQL Server Gateway server that understands TDS protocol Looks like SQL Server to TDS Client Actual data stored on multiple backend data nodes Logical optimisations supported Indexes, Query plans etc.. Physical optimisations not supported File Groups, Partitions etc… Transparently manages physical storage
109. Working with SQL Azure Databases Your App SQL Azure TDS Change Connection String
110. Behind the Scenes of SQL Azure Apps use standard SQL client libraries: ODBC, ADO.Net, PHP, … Application Internet Load balancer forwards ‘sticky’ sessions to TDS protocol tier TDS (tcp) LB Security Boundary TDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend SQL TDS (tcp) SQL SQL SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
111. Application Topologies From Windows Azure From Outside Microsoft Datacenter From Windows Azure & Outside Microsoft Datacenter SQL Server App Code / Tools App Code / Tools Application / Browser SQL Azure Data Sync Microsoft Datacenter MicrosoftDatacenter Microsoft Datacenter Windows Azure Windows Azure SQL Azure SQL Azure SQL Azure Code Near Code Far Hybrid
112. Connection Model SQL Azure exposes native SQL Server TDS protocol Use existing client libraries ADO.NET, ODBC, PHP Client libraries pre-installed in Windows Azure roles Support for ASP.NET controls Clients connect directly to a database Cannot hop across DBs (no USE)
113. Connecting to SQL Azure SQL Azure connection strings follow normal SQL syntax Applications connect directly to a database “Initial Catalog = <db>” in connection string No support for context switching (no USE <db>) Encryption security Set Encrypt = True, only SSL connections are supported TrustServerCertificate = False, avoid Man-In-The-Middle-Attack! Format of username for authentication: ADO.Net:Data Source=server.database.windows.net;User ID=user@server;Password=password;... Setup your firewall rules first!
114. SQL Azure Compatibility Currently Supported Not Currently Supported Tables, indexes and views Stored Procedures Triggers Constraints Table variables, session temp tables (#t) Spatial types Data Types XML, HierarchyId, Sparse Columns, Filestream Partitions Full-text indexes SQL-CLR Tables require clustered indexes
115. Database Editions You specify Web or Business Edition Web: EDITION = web Business: EDITION = business You specify MAXSIZE Web: MAXSIZE = 1GB | 5GB Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB This is the maximum size we will not let you grow beyond You will only be charged for the actual peak size in any one day rounded up For example, a 3.4 GB Web Edition will be charged 5GB rate. CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB); CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB); ALTER DATABASE foo2 MODIFY (EDITION='web', MAXSIZE=5GB); Business Edition Up to 50 GB 10 GB increments Web Edition 1 GB or 5 GB
116. Database Editions Two SQL Azure Database SKUs: Web & Business Web Edition: 1 GB @ £6.055/month 5 GB @ £30.275/month Business Edition: 10 GB @ £60.604 20 GB @ £121.208 30 GB @ £131.812 40 GB @ £242.416 50 GB @ £303.20 Business Edition Up to 50 GB 10 GB increments Web Edition 1 GB or 5 GB
117. SQL Azure Data Sync Powers movement of data Cloud cloud On-premises cloud Getting data where you need it Sync SQL Azure instances Sync SQL Server to SQL Azure Sync offline apps to SQL Azure Enable geo-replication of data SQL Azure Sync
118. SQL Azure Data Sync – Roadmap SQL Azure Database Now Sync Sync Data Sync Service For SQL Azure Remote Offices Retail Stores Sync Sync Sync Sync Sync Coming Soon On-Premises (Headquarters)
119. SQL Azure Reporting CTP – you can register Based on SQL Server Reporting Services 2008 R2 Exactly same report formats (no custom extensions yet) Use BI Development Studio Reports run on Windows Azure Platform Report Viewer control using remote processing mode Only reports against SQL Azure Database
120. SQL Azure Summary SQL Azure Database Hassle free fault tolerance with little to learn SQL Azure Data Sync Helping build geographically disperse or hybrid applications SQL Azure Reporting Reporting Services in the Cloud
123. DataMarket Data Partners Public Domain Premium Leading Commercial and Public Domain Data; Free and Paid Content Data residing in our cloud, 3rd party clouds, or private data centers All data – web services, media, relational databases, higher level services
140. Windows Azure AppFabric Extending .NET to the cloud with Internet Scale Utility Services Access Control … Service Bus Collection of building block services Composed to provide foundational pieces for your apps Exposed through open protocols Accessible from anywhere Service Bus General purpose application bus & connectivity service Access Control Rules-driven, claims-based access control service
142. AppFabric Service Bus Text XML Graphics Binary Data Streaming Receive Receive Firewall Send Send Exchange messages between loosely coupled, composite applications. Direct Connection facilitated by Service Bus if that is best connection mechanism. Application #1 Application #2
143. AppFabric Access Control Service Simplify and automate complex authorization schema requests. Provide abstraction for federated claims-based authentication. Easily establish secure trust relationship. Applications or Users Data and Applications
144. Windows Azure AppFabric Caching A distributed, in-memory cache for applications running in Windows Azure In-memory cache located near your Windows Azure applications Simple administration Based off the proven Windows Server AppFabric Caching capabilities Benefits Highly scalable caching solution with low latency and high throughput Can dynamically increase and decrease as needed End-user doesn’t have to bother with configuration, deployment, or management of their cache Commercial launch in the first half of 2011
146. 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(scale up to 5 GB) 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(scale up to 50 GB) $3.99/connection Per GB stored & transactions Per database/month $1.99/100k Message Operations Per Message Operation Per Connection $0.15 GB/month $0.01/10K transactions Prices shown in USD only International prices are available
147. Windows Azure Virtual Machine Instances X-Large (XL) Large (L) Medium (M) Small (S) X-Small (XS) $0.96 $0.48 $0.24 $0.12 $0.05 Per service hour Per service hour Per service hour Per service hour Per service hour Unit of Compute Defined [ Equivalent compute capacity of a 1.6GHz 64-bit processor ] X-Large Large Medium Small Extra Small 8 x 1.6GHz 4 x 1.6GHz 2 x 1.6GHz 1 x 1.6GHz 1 x 1.0GHz (high I/O) (high I/O) (high I/O) (moderate I/O) (low I/O) 14.0 GB memory 7.0 GB memory 3.5 GB memory 1.75 GB memory 768 MB memory 2000 GB (transient storage) 1000 GB storage (transient storage) 500 GB storage (transient storage) 225 GB storage (transient storage) 20 GB storage (transient storage)
148. Extra-Small VM Instance Born from many requests for a low-cost VM instance XS lowers the barrier of entry to Windows Azure XS VM offers a hosting environment that is appropriate for: Web roles that have very low traffic or short bursts of processing capability Worker roles that require little CPU processing power with low memory consumption Prototyping of a Windows Azure service Demoing how Windows Azure works Roles that wake up and check status periodically XS VM shares resources with other XS VM on the same node
149. 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 31/10/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
150. Monthly Service Level Agreement Compute connectivity Service bus & access control availability Instance monitoring & restart Database availability Storage availability Service bus and access control endpoints will have external connectivity Message operation requests processed successfully Storage service will be available/reachable (connectivity) Your storage requests will be processed successfully Database is connected to the internet gateway All databases will be continuously monitored All running roles will be continuously monitored If role is not running, we will detect and initiate corrective state Your service is connected and reachable via web. Internet facing roles will have external connectivity >99.9% >99.9% >99.9% >99.9% >99.95%
151.
152. UK Azure Pricing – Standard Rates AppFabric Access Control £1.2062 per 100,000 transactions* Service Bus £2.4184 per connection on a “pay-as-you-go” basis* Pack of 5 connections £6.0307* Pack of 25 connections £30.1535* Pack of 100 connections £120.6139* Pack of 500 connections £603.0695* Data Transfers North America and Europe regions £0.0607 per GB in £0.091 per GB out Asia Pacific Region £0.1819 per GB in £0.2728 per GB out Inbound data transfers during off-peak times through June 30, 2010 are at no charge. Prices revert to our normal inbound data transfer rates after June 30, 2010 Windows Azure Compute Small instance (default): £0.0728 per hour Medium instance: £0.1455 per hour Large instance: £0.291 per hour Extra large instance: £0.5819 per hour Storage £0.091 per GB stored per month £0.0061 per 10,000 storage transactions Content Delivery Network (CDN) £0.09 GB CDN Egress £0.06/100K CDN Storage X-actions SQL Azure Web Edition – Up to 1 GB relational database £6.055 per database per month Business Edition – Up to 10 GB relational database £60.604 per database per month £100 per month* - Highly Available 2 x Instance Web Application + 0.5TB data £6 per month* - Highly Available 1Gb SQL Server database * Lots of assumptions and caveats
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.
Slide ObjectiveIntroduce users to the tooling available to work with Windows AzureSpeaker NotesDeveloper SDK is a Cloud in a box, allowing you to develop and debug locally without requiring a connection to the cloud. You can do this without Visual Studio as there are command line tools for executing the “cloud in a box” and publishing to the cloud.There is also a separate download for the Visual Studio 2008 tools, which provide the VS debugging and templates. This in turn includes the SDKDownload the VS tools if you use VS. Download the raw SDK if you use alternative platforms (PHP etc…)Requirements for Win 7 or Win 2008 are a dependency on IIS7 for the development fabricCan install the bits with the Microsoft Web Platform InstallerNotesWindows Azure Tools for Microsoft Visual Studio includes:C# and VB Project creation support for creating a Windows Azure Cloud Service solution with multiple roles.Tools to add and remove roles from the Cloud Service.Tools to configure each Role.Integrated local development via the Development Fabric and Development Storage services.Running and Debugging a Cloud Service in the Development Fabric.Browsing cloud storage through the Server ExplorerBuilding and packaging of Cloud Service Packages.Deploying to the Windows Azure.Monitoring the state of your services through the Server Explorer.Debugging in the cloud by retrieving IntelliTrace logs through the Server Explorer.
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.
Slide Objectives:Understand Roles in generalUnderstand Web and Worker Roles at a high levelSpeaking Points:Windows Azure currently supports the following two types of roles:Web role: A web role is a role that is customized for web application programming as supported by IIS 7 and ASP.NET.Worker role: A worker role is a role that is useful for generalized development, and may perform background processing for a web role. A service must include at least one role of either type, but may consist of any number of web roles or worker roles. A worker role is started by a call to a well know managed code interface RoleEntryPoint. A worker role must extend this class and override the Start() methodA web role is a worker role with the addition of IIS being installed. i.e. it has all the features of and can do everything a worker role can do as wellNotes:http://msdn.microsoft.com/en-us/library/dd179341.aspx#Subheading1
Slide ObjectiveTo understand how and why to change the VM Size for a Windows Azure roleSlide NotesWhen you create your service model, you can specify the size of the virtual machine (VM) to which to deploy instances of your role, depending on its resource requirements.The size of the VM determines the number of CPU coresthe memory capacitythe local file system size allocated to a running instanceEach physical machine in Windows Azure contains 8 processor cores. You need to specify an XL instance to reserve an entire machineNetwork is shared but burstableCan burst beyond your 1/8th allocation when using a small VMMay be limited to just your allocationFor guaranteed high network throughput use an XL VMNothttp://msdn.microsoft.com/en-us/library/ee814754.aspxes
Slide ObjectiveUnderstand the role programming model in overviewSpeaker NotesA role is similar to a windows service. It gets started once deployed, and will get stopped when required.It could get stopped because we are re-deploying you to a different serverYou actioned the stop from the web-portalIt’s up to you to keep running and NEVER return from Start() unless you have been told to stop. Note: you do not need to handle the stop – you can simply “fail”Noteshttp://msdn.microsoft.com/en-us/library/ee848065.aspxhttp://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspxes
Slide ObjectiveIntroduce the Windows Azure Diagnostics API Speaking notesNow your service is deployed, how do YOU monitor it?Diagnostics in the Cloud is the same as on premise. Well almost. It is built using the same familiar APIs.With the diagnostics and monitoring API, you can deploy your roles and remotely configure what sources your instance should monitor. This configuration can be by role or by instance. You can configure standard tracing in your application, monitor the event logs or performance counters, collect log files like IIS logs or any log file as well as crash dumps of your application. Since this information can be pushed into your storage account on demand or on a scheduled basis, it is both highly scalable as well as easily manageable from outside of Windows Azure.
Slide Objectives:Introduction to SQL AzureExplain SQL Azure DatabaseIndicate that other services are coming in the futureSpeaking Points:SQL Azure provides Microsoft SQL Server in the cloudBroadly compatible with online SQL ServerIn the future other services are plannedDataSync- to sync data between On premise and the cloudNotesCloud-based relational database service built on SQL Server® technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. SQL Azure Database helps to ease provisioning and deployment of multiple databases. Developers do not have to install, setup, patch or manage any software. High availability and fault tolerance is built-in and no physical administration is required.http://www.microsoft.com/windowsazure/sqlazure/ http://go.microsoft.com/?linkid=9686976
Slide Objectives:Understand the key differentiators of SQL AzureUnderstand where a user has control and where the cloud runs thingsSpeaking Points:SQL Azure provides highly available SQL Server.Appears to be a SQL Server to the client.In reality is 3 transitionally consistent copies of the database that are fronted by a Gateway that appears to be a SQL serverSimple to provision- create a logical server in the Portal, execute a create DB Command to create a new databaseCan add and remove DBs easily from application to scale up and downCustomers look after logical optimizations like indexesSQL Azure manages the physical databaseNo need to install or patch software or other physical administrationAutomatic high availability and fault toleranceSimple provisioning and deployment of multiple databasesScale databases up or down based on business needsMulti-tenantIntegration with SQL Server and tooling including Visual StudioSupport for T-SQL based familiar relational database modelNoteshttp://www.microsoft.com/windowsazure/sqlazure/http://msdn.microsoft.com/en-us/windowsazure/sqlazure/default.aspx
Slide Objectives:Affirm that SQL Azure is just a TDS server. Existing SQL Server consumers can connect to itSpeaking Points:Connecting to SQL Azure is simply a case of changing the connection string.The SQL Azure fabric ensures 3 transitionally consistent replicas of your data You will connect to a SQL Azure TDS gateway, this appears to be a SQL Server but will actually route your requests through to one of the three replicas stored in the DCAvoid injection attacks by using the SqlConnectionStringBuilder class. It is available from the .NET Framework to simplify creating the connection string. For more information, see Connection String Builders (ADO.NET).Carefully protect your connection string. A connection string presents a potential vulnerability if it is not secured. For more information, see Protecting Connection Information (ADO.NET).In order to completely secure your connection, especially when connecting to SQL Azure over the Internet, insure that the ADO.NET Encrypt and TrustServerCertificate connection parameters are set.For general considerations about connecting to databases in SQL Azure, see Guidelines for Connecting to SQL Azure Database.More on security of SQL Azure in Day 3Noteshttp://msdn.microsoft.com/en-us/library/ee336243.aspx
Slide ObjectiveExplain the architecture of SQL Azure in a diagrammatic formSpeaker NotesAccess is via a load balancer- load balancer is a sticky (stateful) load balancerGateway nodes appear to TDS client as a SQL Server, but, merely forward requests through to the underlying SQL servers that actually store the dataRequests are routed to a primary replica- more on replicas shortlyShared infrastructure at SQL database and belowEach user database is replicated to one or more servers (configurable based on SLA)Client requests are routed to current “primary server” for read and write operations (based on SQL session)Security, lockdown and isolation enforced in SQL tierHighly scalable and state-of-the-art HA technologyAutomatic failure detection; client request re-routed to new primary on failure High SLA guarantee using logical replication (hot standby replicas)Automatic management, self-healing and load balancing across shared resource poolSDS provides provisioning, metering and billing infrastructureNotesSQL Azure architecture http://msdn.microsoft.com/en-us/library/ee336271.aspx
Slide ObjectiveDiscusses various SQL Azure data access topologiesSpeaking notesAccess from within Microsoft Datacenter (Code near scenario)Connect a Windows Azure Compute application to SQL AzureExecuting Asp.NET code, PHP, other managed code, native codeSimple familiar programming modelAccess from on premise applications (Code far)Solve the DB under the desk issue.NET, native or other platform supportMicrosoft access as a front end offers interesting scenarioNeed to be conscious of query frequency and/or payloadAccess from both Cloud and On PremiseE.g. application with browser front and AND a need to sync to mobile devicesCloud provides an always up rendezvous point for data consumersWindows Azure runs the browser based applicationOther applications connect remotely- TDS, Odata, SncNotesMSDN on topology optionshttp://msdn.microsoft.com/en-us/library/ee336239.aspxSQL Azure + MS Accesshttp://blogs.msdn.com/b/access/archive/2010/06/07/access-2010-and-sql-azure.aspx
Slide ObjectiveProvides an overview of connectivity to SQL AzureSpeaker NotesSQL Azure uses the TDS (tabular data stream) protocolVery broad support for existing SQL Server toolsSome things like backup tools and low level file manipulation tools will not workSQL Server client libraries available in Windows Azure ComputeVery easy to connect to SQL Azure from Windows AzureSQL Azure is an ideal backing store for a Windows Azure applicationAll of the ASP.NET controls are supportedRAD in Visual Studio is simple with SQL AzureEach SQL Azure server is logical onlyPrevents DB context hoppingNo ability to USA DB_FooNotesUseful article from SQL Azure teamhttp://msdn.microsoft.com/en-us/magazine/ee321567.aspxTooling support for SQL Azure Databasehttp://msdn.microsoft.com/en-us/library/ee621784.aspx
Slide ObjectiveProvides detailed information on connecting to SQL AzureSpeaker NotesSQL Azure uses the standard SQL connection string syntaxSeveral important pointsNeed to specify the database to connect- i.e. No USE DB optionSet the initial catalog to do thisMust enable encryptionTraffic transits over the internet.Should not trust server certificate (i.e. override trust chain check0More on security and encryption on Day 3 security sessionSQL Azure has a configurable firewallMust explicitly allow connectivity from address rangesOpen the smallest ranges possibleWill be times when you need to ‘allow all’E.g. Datasync with mobile clients etc…NotesConnecting to SQL Azure step by step http://msdn.microsoft.com/en-us/library/ee336243.aspxSQL Azure Firewall http://msdn.microsoft.com/en-us/library/ee621782.aspx
Slide ObjectiveProvides a guide to SQL Azure vs SQL Server compatabilitySpeaker NotesFor more details see this documentSQL Azure vs SQL Server differenceshttp://www.microsoft.com/downloads/details.aspx?FamilyID=86f12b41-1eba-4567-9ac8-02eaa7d12034&displaylang=en
Slide Objectives: Define and enumerate the Windows Azure Platform AppfabricSpeaking Points: Much in the same way that SQL Services is about extending SQL Server to the cloud, we are also extending key .NET capabilities to the cloud as services.We call this the Windows Azure AppFabric. These services are really key components you would need for building distributed, connected applications. When we talk about connecting to your existing on-premises applications and enabling the composition of hybrid (Cloud + on-premises) applications – that is where the AppFabric really comes in.There are currently two AppFabric Services: the Service Bus & the Access Control ServiceService Bus:The Service Bus is designed to provide a general purpose application bus, available on the internet at internet scale. You can really thin of the Service Bus as being similar to an Enterprise Service Bus that many enterprise organizations have today. However, we believe that when providing a Service Bus as a programmable service on the internet, there are a wider range of scenarios for many more types of organizations.Fundamentally, the .NET Service Bus is about connecting applications across network and application boundaries and making key message exchange patterns such as publish and subscribe messaging very simple.Access Control:The Access Control service is designed to provide rules-driven, claims-based access control for applications. Essentially, this allows you to define authorization rules for your applications using the claims-based approach that we are adopting within many Microsoft products and technologies and that is becoming adopted in the industry.Notes: Windows Azure has the .NET Framework built into it so thatyou can use those services within your application.But just like your application must be designed to scale out, the services that we have built into Windows over time in .NET also need to be designed and built in a way that can scale out naturally. We want to create services for you, and that's the purpose of the AppFabric, creating a pool of resources available to you to take advantage of and do things within your application very simply. So we're including a built-in, scale-out implementation of a service bus. The service bus lets you connect your on-premises systems securely into the cloud, into the Azure environment, while allowing your data and your information to traverse firewalls, solving a problem that is a bane of many application developments.
Slide Objectives: Explain what the AppFabric Service Bus is and how it works using a simple diagramSpeaking Points: Call out the following key pointsConnectivity through service bus relay in the cloudOutbound connectivity makes traversal of NAT/Firewall devices much easierDirect connection mechanism uses NAT probing- similar technology to that found in IM and VOIP clientsVariety of scenarios supportedSimple content and messages all the way through to full TCP/IP port forwarding
Slide Objectives:Understand the AppFabric Access Control service and the basics of claims based authSpeaking Points:For this release, AppFabric Access Control focuses on authorization for REST Web services and the AppFabric Service Bus. The following is a summary of AppFabric Access Control features:Cross-platform support. AppFabric Access Control can be accessed from applications that run on almost any operating system or platform that can perform HTTPS operations.Lightweight authentication and authorization using symmetric keys and HMACSHA256 signatures.Configurable rules that enable mapping input claims to output claims.Web Resource Authorization Protocol (WRAP) and Simple Web Token (SWT) support.NotesThe Windows Azure platform AppFabric Access Control (AC) service is a hosted service that provides federated authentication and rules-driven, claims-based authorization for REST Web services. REST Web services can rely on AC for simple username/password scenarios, in addition to enterprise integration scenarios that use Active Directory Federation Services (ADFS) v2.
WA - £56 per month for 1 node, which is £637 per yearSA – 20pence per day*Approximate – lots of assumptions, blah blah