Understanding the Windows Azure Platform - Dec 2010

Uploaded on

Understanding the Windows Azure Platform - A high level techncial overview

Understanding the Windows Azure Platform - A high level techncial overview

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • 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


  • 1. Understanding the Windows Azure Platform
    David Gristwood
    Application Architect, Microsoft
  • 2. Platform as a Service
    IT as a Service
    IT as a Service
  • 5. Platform as a Service
    Platform Today
    Server, VM, Network, Storage, App
    Patch, Service Release, New Version
    Maintained for You
    Assembly Required
    Ready-Made Services
    Custom, Inconsistent
    Plan for Peak Load
    On-Demand Scale
    Built to Avoid & Recover from Failure
    Built to Expect & Withstand Failure
  • 6. The OS for PaaS is:
  • 7. Compute ▪ Storage ▪ Networking ▪ Identity & Security
    Web ▪ HPC ▪ Caching ▪ Messaging ▪ Workflow ▪ Content Delivery
    Relational Database ▪ Reporting & Analytics ▪ Data Sync
    Online Portal ▪ Marketplace ▪ Development Tools ▪ Management Tools
  • 8. YOU DECIDE:
    Language, Dev Framework, Dev Tool, Management Tool, Datacenter
  • 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
  • 10. The Windows Azure Philosophy
  • 11. Windows Azure is about Scale
    • Designed from the ground up for true Internet scale
    • 12. Offers global presence
    • 13. Platform for next generation cloud aware systems
    • 14. Ride the “network effect”
    • 15. LinkedIn: 16 months for first million users, 11 days for most recent million
    • 16. Facebook: 5 years to hit 250m users, 8 months to double
    • 17. Scale up and scale down
  • 18. Operational Excellence & Elasticity
    “Growing Fast”
    “Predictable Bursting”
    • Need high reliability
    • 19. LOB, software as a service
    • 20. Need massive scale
    • 21. Social networking, web 2.0
    • 22. Have variable load / unpredictable lifetime
    • 23. Ticketing, marketing
    • 24. Parallel processing
    • 25. Financial applications
    • 26. Don’t fit in well with a company’s data center
    • 27. Avoid IT dept, support joint ventures
    • 28. Benefit from external storage
    • 29. Archive
    “On and Off”
    “Unpredictable Bursting”
    Average Usage
    Average Usage
    Average Usage
  • 30. Helps your Systems Scale
    • Most architecture is hidden deep inside code
    • 31. WindowsAzure encourages you to define your application into constituent parts
    • 32. Windows Azure supports cloud enabled applications
    • 33. Windows Azure can scale the parts of your application as appropriate
  • 34. Flexible Architecture
    • Systems evolve over time
    • 35. Cloud is not an “all or nothing” proposition
    • 36. Hybrid model well supported
    • 37. Windows Azure makes it easier to extend to the cloud
  • 38. Opening up the Cloud
    • Allow developers to apply their existing skills to the cloud
    • 39. Support for .NET, Ruby, PHP, Java
    • 40. Interoperability with any platform, tools or technology
  • 41. Flexible Business Model
    • No up front hardware purchase
    • 42. “Pay as you go” model
    • 43. Ideal in current economical climate
  • 44. Microsoft Data Centers
  • 45. Windows Azure Platform Availability
    Northern Europe
    North Central USA
    Eastern Asia
    Western Europe
    South Central USA
    Southeast Asia
  • 46. Delivering an Efficient & Sustainable Cloud
  • 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
    ISO 27001:2005 Accreditation - Security Management
    SAS 70 Type I and II Attestations - Audit standard for our internal controls system
    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
  • 48. Dublin Datacentre
    First Mega Datacentre built outside the US, on-line on July 2009
    • Cost $500 million, 303+sq ft facility and growing
    • 49. EU Datacenter Best Practice Award Winner
    • 50. Stand-alone Server Pods
    • 51. Environmentally Sustainable
    • 52. Free Air-Cooling via Air-Side Economization
    • 53. 50% less energy use vs. traditional facilities
    • 54. 1 % water use vs. traditional facilities
    • 55. 5.4MegaWatts today, 22.2 MW for future use
    • 56. ISO 27001:2005 Accreditation
    • 57. SAS 70 Type I and II Attestations
  • Windows Azure Platform Appliance
    Azure Service in Your Datacenter
    Identical to the hardware in Azure datacenters
    Delivered by a choice of hardware partners
    Physical Control
    Geographic Proximity
    Regulatory Compliance
    Data Sovereignty
    Currently in development with several partners
    Fujitsu, Dell, HP, and eBay
    Service Provider
  • 58. The Windows Azure Platform
  • 59. The Windows Azure Platform
  • 60. Window Azure Platform – The Big Picture
    Windows Azure AppFabric
    SQL Azure
    Windows Azure
  • 61. Windows Azure Development
  • 62. Windows Azure Tools for Visual Studio
    Windows Azure Tooling
    • Visual Studio 2008
    • 63. Visual Studio 2010
    • 64. Project Templates
    • 65. Model & Config Tooling
    • 66. Package & 1 Click Deploy
    • 67. Debugging Support
    • 68. Storage Explorer
    • 69. Server Explorer
    • 70. IntelliTrace Support
    Windows Azure SDK
    • Windows Server 2008 or Windows 7
    • 71. SQL Express 2005+
    • 72. .NET 3.5 SP1+
    • 73. Development Fabric
    • 74. Development Storage
    • 75. .NET APIs
  • Visual Studio 2010
  • 76. Visual Studio 2010
  • 77. Visual Studio 2010
  • 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
    Expiration of credentials
    Ability to take instances on/off the load balancer for debugging
  • 81. Windows Azure Building Blocks
  • 82. Application
    SQL Azure
    Windows Azure
  • 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
    Fast CGI + PHP
    Managed Code Start
    Inbound on
    Any TCP Port
  • 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
    Blobs &Drives
    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
  • 88. Windows Azure Blobfeatures
    REST based API
    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
    Genre = …
    Title = …
    Genre = …
    Title = …
    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
    Entity: Sports Car
    Entity: Car
    Entity: Customer
  • 92. Table Partitions and Rows
  • 93. Windows Azure Queues
    Provide reliable storage and delivery of messages
  • 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)
    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
  • 97. Windows Azure Features
  • 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
    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
    Edge Location
    Windows Azure Blob Service
  • 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. Coming Soon!
    Windows Azure Connect
    • Secure network connectivity between on-premises and cloud
    Supports standard IP protocols
    • Example use cases:
    Enterprise app migrated to Windows Azure that requires access to on-premise SQL Server
    Windows Azure app domain-joined to corporate Active Directory
    • Roadmap
    CTP requires on-premises agent for non-Windows Azure resources
    Connectivity using existing on-premises VPN devices
    Windows Azure
  • 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
  • 106. SQL Azure
  • 107. SQL Azure
    Extending SQL Server to the Cloud

    Sync Service
    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
    Change Connection String
  • 110. Behind the Scenes of SQL Azure
    Apps use standard SQL client libraries: ODBC, ADO.Net, PHP, …
    Load balancer forwards ‘sticky’ sessions to TDS protocol tier
    TDS (tcp)
    Security Boundary
    TDS (tcp)
    Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend SQL
    TDS (tcp)
    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
    Microsoft Datacenter
    Windows Azure
    Windows Azure
    SQL Azure
    SQL Azure
    SQL Azure
    Code Near
    Code Far
  • 112. Connection Model
    SQL Azure exposes native SQL Server TDS protocol
    Use existing client libraries
    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
    Table variables, session temp tables (#t)
    Spatial types
    Data Types
    XML, HierarchyId, Sparse Columns, Filestream
    Full-text indexes
    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);
    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
  • 118. SQL Azure Data Sync – Roadmap
    SQL Azure Database
    Data Sync Service For SQL Azure
    Remote Offices
    Retail Stores
    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
  • 121. Windows Azure Marketplace DataMarket(formerly Codename “Dallas”)
  • 122. Easily Discover And Explore Datasets
  • 123. DataMarket Data Partners
    Public Domain
    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
  • 124. Discovery, Exploration and Acquisition of Information
    • Browse / Search the Marketplace directly and from partner apps
    • 125. Discovery from Excel and PowerPivotviews; Word, SharePoint
    • 126. ALL data: Web services, media, relational data
    • 127. Both Public and Premium
    • 128. Any platform and any application
    • 129. Explore sample data visually through apps and previews; content visualizations
    • 130. Proxy classes for developers; native Visual Studio integration; REST APIs
    • 131. Trial subscriptions
    • 132. Use in Office, VS, and in ecosystem enabled solutions!
    • 133. Unified API, billing, and security model
    • 134. Free public domain data from around the world
    • 135. Trusted commercial data and services
    • 136. Subscriptions and Transactions to support broad usage scenarios
  • DataMarket Architecture at a glance…
  • 137. DataMarket ISV Momentum
  • 138. Crime from two perspectives
  • 139. Windows Azure AppFabric
  • 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
  • 141. Enterprise Service Bus Pattern
  • 142. AppFabric Service Bus
    Binary Data
    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
    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
  • 145. Commercials
  • 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)
    Web Edition
    Per service hour
    Per database/month
    + Variable Instance Sizes
    Windows Azure platform AppFabric Service Bus & Access Control
    Scalable, automated, highly available services for secure connectivity
    Business Edition
    Access Control
    Service Bus
    $99.99/month(scale up to 50 GB)
    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)
    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 ]
    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
    N. Central – US
    E. Asia
    W. Europe
    S. Central - US
    S.E. Asia
    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
    WET = UTC
    North America
    PST = UTC-8
    Asia Pacific
    SST = UTC+8
  • 150. Monthly Service Level Agreement
    Service bus & access control availability
    Instance monitoring & restart
    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
  • 151.
  • 152. UK Azure Pricing – Standard Rates
    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
    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
    £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
  • 153. © 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.