1 / 35

Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation

Designing, Building, and Deploying Windows Azure applications. Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation. Agenda. Quick Introduction to Windows Azure. What is the cloud?. On-demand , scalable, multi-tenant, self-service compute resources.

akiva
Download Presentation

Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Designing, Building, and Deploying Windows Azure applications Ricardo VillalobosWindows Azure Architect EvangelistMicrosoft Corporation

  2. Agenda

  3. Quick Introduction to Windows Azure

  4. What is the cloud? On-demand, scalable, multi-tenant, self-service compute resources

  5. Allocating Resources: The Traditional View IT CAPACITY Load forecast Undersupply TIME Oversupply Oversupply Initial investment Allocated IT resources Actual load

  6. Allocating Resources: The Cloud View IT CAPACITY Load forecast TIME No undersupply Less oversupply Less oversupply Lower initial investment Allocated IT resources Actual load

  7. Cloud Services Infrastructure-as-a-Service “SaaS” “PaaS” “IaaS” Platform-as-a-Service Software-as-a-Service consume build host

  8. Cloud Computing Taxonomy The Windows Azure platform fits here IaaS Traditional IT SaaS PaaS You manage Applications Applications Applications Applications Data Data Data Data You manage Runtime Runtime Runtime Runtime Managed by vendor Security, Clustering Security, Clustering Security, Clustering Security, Clustering You manage Managed by vendor O/S O/S O/S O/S Managed by vendor Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking Control + Cost Efficiency + Savings

  9. Windows Azure Platform Data Centers North America Region Europe Region Asia Pacific Region N. Europe N. Central – U.S. W. Europe S. Central – U.S. E. Asia S.E. Asia • 6 datacenters across 3 continents Simply select your data center of choice when deploying an application

  10. Introducing the Windows Azure Platform • Developer Experience • Use existing skills and tools. Relational data Compute Storage Management CDN Connectivity Access control Data Sync

  11. Windows Azure: Compute An application consists of one or more roles • A running application executes multiple instances of each role • The fabric manages role instances ROLE OPTIONS • VM ROLE • WORKER ROLE • WEB ROLE • Designed to handle Web requests • ASP.NET • WCF • Fast CGI + PHP • … • Accepts input via HTTP/HTTPS • Designed for arbitrary tasks • Accepts input via: • HTTP/HTTPS • Any TCP Port • The role is the VM. Suitable for: • Long running application installations. • Application installations requiring manual interaction. • You configure and maintain the OS.

  12. Windows Azure: Storage • TABLES • Table = group of entities • Entity = name/value pairs • Partitioned by key • Scales to billions of entities • Not a relational DBMS • BLOBS • Large binary storage • Stored in container • Unlimited containers • Deliverable through content delivery network (CDN) • DRIVES • NTFS VHD mounted into Compute instance • Read/Write 1:1 • Read only 1:N • Backed by blob • QUEUES • Simple message queue • Not transactional • Read at least once • Delete to remove message, otherwise is returned to queue

  13. Windows Azure: Storage Scalable storage in the cloud • 100 terabytes per Storage account • Auto-scale to meet massive volume and throughput Various storage types • Tables • Blobs • Queues • Drives Accessible via RESTful Web services • Access from Windows Azure applications • Access from anywhere via internet

  14. SQL Azure Database 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

  15. Windows Azure AppFabric: Service Bus SERVICE BUS • Exchange messages between loosely coupled applications • Network send/receive from any internet connected device • Traverse NAT/Firewall • Message buffering for loosely connected applications Send Receive Receive Send APP 1 APP 2

  16. Windows Azure AppFabric: Access Control Provide abstraction for federatedclaims-basedauthentication. Simplify and automate complex authorizationschema requests. Easily establish secure trust relationship. • Data and Applications • Applications or Users

  17. Cloud Computing Patterns “Growing Fast“ “On and Off “ Inactivity Period Compute Compute Average Usage Usage Average Time Time • On & off workloads (e.g. batch job) • Over provisioned capacity is wasted • Time to market can be cumbersome • Successful services needs to grow/scale • Keeping up w/ growth is big IT challenge • Cannot provision hardware fast enough “Unpredictable Bursting“ “Predictable Bursting“ Compute Compute Average Usage Average Usage Time Time • Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases • Services with micro seasonality trends • Peaks due to periodic increased demand • IT complexity and wasted capacity

  18. Designing Windows AzureApplications

  19. Basic Design Principles for the Cloud • Scaling-out instead of Scaling-up (Design for failure) Vs …….

  20. Basic Design Principles • Decouple components using Async Patterns. Domain Objects Service Layer Presentation Layer DTO Business Layer Storage Data Layer ORM

  21. Basic Design Principles UI • Decouple components using Async Patterns. Queries Commands Queue Caching Middle Tier (Business Layer, Data Layer) Events Queue ORM Model Translation Storage Other subscribers

  22. Why Use Asynchronous Patterns? • Improve apparent responsiveness • Perform long running work in background • Return immediately to the client • Absorb spikes in load

  23. Building Windows AzureApplications

  24. Windows Azure Platform Development Prerequisites for .Net apps • Windows Azure Tools for Microsoft Visual Studio (Version 1.4) • http://www.microsoft.com/download/en/details.aspx?id=26940 • Follow instructions on Microsoft downloads page • Microsoft Windows 7, Windows Server 2008, Windows Server 2008 R2. • Microsoft Visual Studio Professional 2010 (or above) or Express. • Enable IIS7 with ASP.NET and WCF HTTP activation. • Windows Azure SDK 1.4 (March 2011 edition) • Recommended: Windows Azure AppFabric SDK v1.0

  25. DEMO

  26. 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

  27. Simple ASP.NET app Visual Studio 2010 Roles & instances are models in XML config Local F5 debugging Deployed to the cloud Switched from staging to production Environments to run your apps Machines, rack space, switches, connectivity Automated deployment & configuration Isolation, redundancy, load balancing Abstraction & Flexibility Demo Recap What you saw… What Azure provided

  28. Guestbook Sample Application Storage Web Role Worker Role Web Role Worker Role Worker Role Worker Role Blob Container LB LB Queue Table

  29. Guestbook Sample Application User uploads large image file Image inserted into blog storage Message placed on queue including BLOB URI and metadata Worker role is polling queue. Reads message from queue Worker role processes message, reads from BLOB storage, generates thumbnail Thumbnail and metadata stored in Table storage Message deleted from queue

  30. Deployment options • Create and deploy Azure Package manually. • Deploy from Visual Studio using Certificates. • Command Line and PowerShell. • Built using the Service Management API.

  31. Monitoring / Debugging Options • Enable Remote Desktop. • Enable Intellitrace (only for .Net 4.0 Azure apps and VS2010 Ultimate). • Enable / Use Windows Azure Diagnostics.

  32. Windows Azure Platform Consumption Prices • BUSINESS EDITION • COMPUTE • STORAGE • WEB EDITION Per GB stored and transactions Per service hour Starting at $9.99/month(1 GB or 5 GB DB) Per database/month Starting at $99.99/month(10-50 GB DB) Per database/month Starting at $0.12/hour (Variable instance sizes) $0.15 GB/month $0.01/10k transactions • ACCESS CONTROL • SERVICE BUS $3.99/month per connection $1.99/100k transactions Per message operation Per connection/month • Windows Azure AppFabric • Bandwidth • All prices shown in USD; • international prices are available • In • Out $0.15/GB Americas/Europe $0.45/GB Asia/Pacific $0.10/GB Americas/Europe $0.30/GB Asia/Pacific Per GB Per GB

  33. Windows Azure Instance Sizes • Variable instance sizes to handle workloads of any size • Small • Medium • Large • X-Large $0.12 $0.24 $0.48 $0.96 Per service hour Per service hour Per service hour Per service hour • Unit of Compute Defined • Equivalent compute capacity of a 1.6Ghz processor (on 64-bit platform) • X-Large • Large • Medium • Small 8 x 1.6Ghz 4 x 1.6Ghz 2 x 1.6Ghz 1 x 1.6Ghz (high IO) (high IO) (high IO) (moderate IO) 14 GB memory 7.0 GB memory 3.5 GB memory 1.75 GB memory 2000 GB (instance storage) 1000 GB storage (instance storage) 500 GB storage (instance storage) 250 GB storage (instance storage)

  34. Monthly Service Level Agreements • Windows Azure Compute • connectivity • Windows Azure Compute instance monitoring • Windows Azure Storage • availability • SQL Azure Database • availability • Service Bus and Access Control availability • Service bus and access control endpoints will have external connectivity • Message operation requests processed successfully • Storage service will be available/ reachable (connectivity) • Your storage requests will be processed successfully • Database is connected to the internet gateway • All databases will be continuously monitored • All running instances will be continuously monitored • If instance is not running, we will detect and initiate corrective action • Your service is connected and reachable via the internet • Internet-facing roles will have external connectivity • >99.9% • >99.9% • >99.9% • >99.95% • >99.9%

  35. © 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.

More Related