Your SlideShare is downloading. ×
Understanding the Windows Azure Platform - Dec 2010
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Understanding the Windows Azure Platform - Dec 2010


Published on

Understanding the Windows Azure Platform - A high level techncial overview

Understanding the Windows Azure Platform - A high level techncial overview

Published in: Technology
1 Like
  • 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:
  • 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 VMNot
  • 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”Notes
  • 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.
  • 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 modelNotes
  • 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 3Notes
  • 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
  • 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 options Azure + MS Access
  • 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 team support for SQL Azure Database
  • 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 Azure Firewall
  • Slide ObjectiveProvides a guide to SQL Azure vs SQL Server compatabilitySpeaker NotesFor more details see this documentSQL Azure vs SQL Server differences
  • 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
  • Transcript

    • 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;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.