570 likes | 797 Views
Windows Azure: Present and Future. Manuvir Das Director Microsoft Corporation. Agenda. Quick refresher Evolution Guided tour Q&A. Quick Refresher. The Windows Azure Platform. Windows Azure SQL Azure Windows Azure platform AppFabric Developer tools Microsoft Codename “Dallas”.
E N D
Windows Azure:Present and Future Manuvir Das Director Microsoft Corporation
Agenda • Quick refresher • Evolution • Guided tour • Q&A
The Windows Azure Platform • Windows Azure • SQL Azure • Windows Azure platform AppFabric • Developer tools • Microsoft Codename “Dallas”
Windows Azure, On One Slide • The “cloud” is • 1000s of geo-distributed servers & networking • Windows Azure is analogous to • An operating system for the cloud • The “operating system by analogy” provides • Application hosting • Automated service management • Upload your code and “service model”; press START • Durable storage at massive scale
Windows Azure, In One Picture Business Portal Developer Portal REST Service Management Service User Code … … Runtime API Storage Cluster VS Tools Compute Cluster … WA SDK VM Setup REST MSFT Datacenters Desktop Cloud VM
Windows Azure, Once Upon A Time • Application hosting • 2-role service architectures; queue-based communication; partial trust ASP.NET/.NET • Storage service • Blobs; tables; queues • Desktop SDK • Cloud simulation; Visual Studio integration • Service management portal • VIP swap upgrades; automatic OS servicing
Cloud infrastructure, built bottom up Windows Azure, Bit By Bit • Developer platform, designed top down Developer Tools Programming Model Storage Abstractions: Blobs, Tables, … Service Management Load Balanced Partitions Replicated Data Store Service Model Processing; Service Health Model VM Image Deployment; Network Programming; VM Allocation Microsoft Global Datacenters
A credible introduction to the cloud Windows Azure, As An Evolution Future • Broader ISV & Enterprise scenarios Launch • Ready for business-critical applications CTP
CTP with launch feature set Windows Azure, The Next Few Weeks Feb • Paid usage Jan • Commercial platform Now
Windows Azure, In Four Bullets • Programming model • “How do I write my applications in the cloud?” • Storage • “How do I store my data in the cloud?” • Service management • “How do I manage my assets in the cloud?” • Business • “How do I rely on the cloud?”
Principles • Create a familiar programming environment • Encourage best practices for the cloud • Net result: Lower TCO for customers
Flexible Service Architectures • A service consists of • An isolation boundary • A set of component roles, each with endpoints • Numbered, identical instances of each role • All of this is specified in a service model
Flexible Service Architectures • A role instance is a set of code, configuration, and local data, deployed in a dedicated VM • Web Role: The role is hosted on IIS • Worker Role: The role is an executable (you can create your own web server, host a database, …) Web Role Worker Role Worker Role
Flexible Service Architectures • A service is reachable externally via a single VIP for load-balanced traffic to multiple endpoints • Endpoints are reachable internally over TCP, HTTP • (New) Runtime API exposes & updates IP/Port values LB
Sample: Inter-role Communication • // Use WA runtime API to find IP/Port of target endpoint • IPEndPoint endpoint = • RoleEnvironment.Roles[“HelloFabric_WorkerRole"]. • Instances[0]. • InstanceEndpoints["DayTime"]. • IPEndpoint; • // Write standard code using the endpoint returned by API, e.g. • var client = new TcpClient(); • client.Connect(endpoint); • var rd = new StreamReader(client.GetStream()); • var test = rd.ReadToEnd(); • client.Close();
Sample: Notification Of New Instances • // Handle new role instances in this callback • RoleEnvironment.Changed += (object sender, • RoleEnvironmentChangedEventArgs e) • { • // Iterate over the topology changes, if any • foreach (vartopoChange in • e.Changes.OfType<RoleEnvironmentTopologyChange>()) • { • // Get the name of role whose instance count changed • string role = topoChange.RoleName; • // Get the new instances of the role • var instances = RoleEnvironment.Roles[role].Instances; • …
Session Alert !! SVC 16 Developing Advanced Applications with Windows Azure Thursday 11:30am 403AB
Principles, Revisited • Create a familiar programming environment • Full trust: Support standard languages and APIs • (New) Secure certificate store in the cloud • ASP.NET providers • Encourage best practices for the cloud • (New) Logging and diagnostics system • Built-in service healing
Sample: Logging • // Register a new Trace provider in your web.config • // (automatically generated in Visual Studio templates) • <system.diagnostics> • <trace autoflush="false" indentsize="4"><listeners> • <add name="AzureDiagnostics" type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> • </listeners></trace></system.diagnostics> • // Use standard tracing API to generate logs that are • // collected and pushed to Windows Azure Storage • Trace.WriteLine("This is a CRITICAL log", "Critical"); • Trace.WriteLine("This is an INFORMATION log", "Information");
Session Alert !! SVC 15 Windows Azure Monitoring and Logging APIs Wednesday 1:30pm 408A
Coming Soon • Easier migration of existing applications • Greater control over cloud VMs • Solutions: • Administrator privileges on cloud VMs • User-driven construction and configuration, and platform deployment, of VM images • Remote terminal server access to cloud VMs
Simple, Useful Storage Abstractions • Blobs • Small to very large files, random read, chunked • (New) Random writes • Tables • Partitioned, dynamic schema, entity sets • Batch transactions within a partition • Queues • (New) Drives • Use standard file system APIs to storage service • Available in February
Session Alert !! SVC 09 Windows Azure Tables and Queues Deep Dive Thursday 3:00pm Petree Hall C
Designed For The Cloud • For easy access, from anywhere • Language agnostic REST APIs • Client libraries for .NET, Java, PHP, … • For durability • All data is replicated 3 times within a cluster, and (February) across datacenters • For massive scale • Data is automatically partitioned and load balanced across servers
Coming Soon • Geo-replication • User-selectable geo-locations for replicas • Tables • Secondary indices
Session Alert !! SVC 14 Windows Azure Blobs and Drives Deep Dive Wednesday 4:30pm 515B
Lights-Out Service Management • Create services at the developer portal • Manage services programmatically using the (New) Service Management API • Use in combination with diagnostics API to build a feedback loop
Full Range Of Service Upgrade Models • (New) In-place rolling upgrade • Role instances are spread over update domains • Roles are updated one update domain at a time • Service remains available during upgrade • Real-time hot swap • Swap service endpoints of old/new version • Enables complex architectural changes • Planned downtime • Stop and replace service with new version
Session Alert !! SVC 25 Automating the Application Lifecycle with Windows Azure Thursday 10:00am 515B
Sample: Handling Changes by Recycling • // Handle new role instances in this callback • // This callback is invoked one update domain at a time • // So you can avoid the complexity of updating data structures • // by just using the runtime API to recycle the role instance • // Note this should be done before the change • RoleEnvironment.Changing += (object sender, • RoleEnvironmentChangedEventArgs e) • { • e.Cancel = true; • }
Session Alert !! SVC 08 Patterns for Building Scalable and Reliable Applications with Windows Azure Wednesday 11:00am 515A
Ready For Business-Critical Applications • Billing • Consumption-based and subscription offers • SLA • Three 9s or better on compute and storage • Support • 24/7 phone support; developer forums • Microsoft Pinpoint Marketplace • Listing & discovery of applications and services • Global availability • Datacenter options in USA, Europe, and Asia
Session Alert !! SVC 54 What You Should Know About Windows Azure Platform Pricing and SLAs Wednesday 4:30pm 515A
Coca Cola Enterprises customer
CCE CoolServe 2009 Service Communications XML Gateway ERP Call Center App Get Pricing Get Articles Enterprise Service Bus Get Order Status Submit Order Master Data
Kevin Flowers Director of Enabling Technologies "In a matter of weeks, we were able to see the fruits of our efforts very rapidly." "Integrating to our existing applications, that is what we really wanted to prove out that we could do." "We will definitely leverage the Azure Platform in the future, the reason is it gives us a broad development platform, that we can really customize."
EsatSezer Senior Vice President & CIO "The resilience and reliability of this platform is some of the benefits that we are seeing." "We are feeling very confident to deploy that into a large-scale base as our customers pulls this."
Summary • Windows Azure consists of • Application hosting • Lights-out service management • Storage at massive scale • Windows Azure is designed to • Reduce total cost of ownership • Windows Azure is ready for • Business-critical applications • Complex application patterns