O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Architecting For The Windows Azure Platform

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 18 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Quem viu também gostou (20)

Anúncio

Semelhante a Architecting For The Windows Azure Platform (20)

Mais de David Chou (20)

Anúncio

Mais recentes (20)

Architecting For The Windows Azure Platform

  1. 1. Architecting for the<br />Windows Azure Platform<br />David Chou<br />david.chou@microsoft.com<br />blogs.msdn.com/dachou<br />
  2. 2. Application Models<br />Web Hosting<br /><ul><li>Massive scale infrastructure
  3. 3. Burst & overflow capacity
  4. 4. Temporary, ad-hoc sites</li></ul>Application Hosting<br /><ul><li>Hybrid applications
  5. 5. Composite applications
  6. 6. Automated agents / jobs</li></ul>Media Hosting & Processing<br /><ul><li>CGI rendering
  7. 7. Content transcoding
  8. 8. Media streaming</li></ul>Distributed Storage<br /><ul><li>External backup and storage</li></ul>High Performance Computing<br /><ul><li>Parallel & distributed processing
  9. 9. Massive modeling & simulation
  10. 10. Advanced analytics</li></ul>Information Sharing<br /><ul><li>Reference data
  11. 11. Common data repositories
  12. 12. Knowledge discovery & mgmt</li></ul>Collaborative Processes<br /><ul><li>Multi-enterprise integration
  13. 13. B2B& e-commerce
  14. 14. Supply chain management
  15. 15. Health & life sciences
  16. 16. Domain-specific services</li></li></ul><li>Case Study<br />Background<br /><ul><li>Web-based ERP and accounting software to help mid-sized businesses automate customized business processes
  17. 17. Business needs:</li></ul>Launch a SaaSoffering which includes on demand infrastructure and billing<br />Maintain a 24/7 production environment<br />Minimize development efforts for both on-premise and SaaS offerings<br /><ul><li>Technical implementation</li></ul>Web – IIS 7, ASP.NET 3.5<br />Server – SQL Server 2005/2008, Windows Server 2003/2008<br />Tools – Visual Studio 2008, .NET Framework 3.5<br />Solution<br /><ul><li>Cloud-based SaaS deployment
  18. 18. Windows Azure
  19. 19. SQL Azure</li></ul>Benefits<br /><ul><li>Application migration completed in 3 weeks with 2 developers
  20. 20. Customers can implement solution without investing in on-premise infrastructure; can save ~$8,000 for startup costs
  21. 21. Lowered capital expenditures
  22. 22. Improved time-to-market and agility in meeting customer needs
  23. 23. More strategic use of IT resources</li></li></ul><li>Case Study<br />Background<br /><ul><li>Online service providing productivity tools to help students conduct research, write better papers, and get help on-demand
  24. 24. Technical implementation</li></ul>Client – Windows Mobile 6<br />Web – IIS 6, ASP.NET 3.5<br />Server – Windows Server 2003, SQL Server 2005<br />Services – Bing Search, Windows Live Messenger Web Toolkit<br />Tools – Visual Studio 2008, .NET Framework 3.5, .NET Compact Framework 3.5<br />Solution<br /><ul><li>Hybrid cloud application
  25. 25. Cloud-based extensions and services mash-ups with on-premise implementation
  26. 26. Windows Azure application
  27. 27. .NET Services service bus, access control, & workflows</li></ul>Benefits<br /><ul><li>$500,000 savings in dev. costs
  28. 28. 40% faster time-to-market
  29. 29. More effective development
  30. 30. Cost-effective scalability and enhanced availability</li></li></ul><li>Case Study<br />Local Storage<br />Eduify Workflows<br />FW—LB—Cache<br />Browser<br />Internet Clipping Toolbar<br />Eduify <br />Business Objects<br />ASPX Pages<br />Full Featured Javascript Editor<br />Local / Network File Folder<br />SQL Server<br />Common Services<br /> Notification <br /> Logging<br /> Security <br />JSON / AJAX/ HTTP<br />IE 6/7/8* and Firefox<br /><ul><li> Rich Web 2.0 Technologies: </li></ul>Javascript<br />Java<br />Ajax<br />CSS<br />XHTML<br />ASP.NET / CLR<br />IIS <br />Third Party<br />Mashups<br />Facebook Connect Integration<br />Bing Search Integration for Citation Check<br />
  31. 31. Case Study<br />Connected w/ Services<br />Live Presence<br />IM Integration<br />Search Citation / Plagiarism<br />Mash-up with Microsoft Services<br />On-Premise Implementation<br />Cloud-Based Extensions<br />ASP.NET<br />Certain ASPX | Workflows | Service Bus | Access Controls<br /> Business <br />Objects<br />Common <br />Services<br />Workflows<br />Service Bus<br />SQL Server<br />Local Storage<br />
  32. 32. Internet-Scale Application Architecture<br />Design<br /><ul><li>Horizontal scaling
  33. 33. Service-oriented composition
  34. 34. Eventual consistency
  35. 35. Fault tolerant (expect failures)</li></ul>Security<br /><ul><li>Claims-based authentication & access control
  36. 36. Federated identity
  37. 37. Data encryption & key mgmt.</li></ul>Management<br /><ul><li>Policy-driven automation
  38. 38. Aware of application lifecycles
  39. 39. Handle dynamic data schema and configuration changes</li></ul>Data & Content<br /><ul><li>De-normalization
  40. 40. Logical partitioning
  41. 41. Distributed in-memory cache
  42. 42. Diverse data storage options (persistent & transient, relational & unstructured, text & binary, read & write, etc.)</li></ul>Processes<br /><ul><li>Loosely coupled components
  43. 43. Parallel & distributed processing
  44. 44. Asynchronous distributed communication
  45. 45. Idempotent (handle duplicity)
  46. 46. Isolation (separation of concerns)</li></li></ul><li>Presentation<br /><ul><li>ASP.NET C#, PHP, Java
  47. 47. Distributed in-memory cache</li></ul>Internet-Scale Application Architecture<br />Services<br /><ul><li>.NET C#, Java, native code
  48. 48. Distributed in-memory cache
  49. 49. Asynchronous processes
  50. 50. Distributed parallel processes
  51. 51. Transient file storage</li></ul>Connectivity<br /><ul><li>Message queues
  52. 52. Service orchestrations
  53. 53. Identity federation
  54. 54. Claims-based access control
  55. 55. External services connectivity</li></ul>SERVICE BUS<br />ACCESS CONTROL<br />WORK<br />FLOWS<br />Storage<br /><ul><li>Relational & transactional data
  56. 56. Federated databases
  57. 57. Unstructured, de-normalized data
  58. 58. Logical partitioning
  59. 59. Persistent file & blob storage
  60. 60. Encrypted storage</li></li></ul><li>Application Patterns<br />Cloud Web Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Cloud Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application<br />Data<br />Reference Data<br />
  61. 61. Application Patterns<br />Composite Services Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  62. 62. Application Patterns<br />Cloud Agent Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  63. 63. Application Patterns<br />B2B Integration Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  64. 64. Application Patterns<br />Grid / Parallel Computing Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  65. 65. Application Patterns<br />Hybrid Enterprise Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  66. 66. Categories of Services<br />Application Services<br />Software Services<br />Platform Services<br />Infrastructure Services<br />The Microsoft Cloud<br />
  67. 67. Platform of Choice<br />
  68. 68. Sign up at the Windows Azure Platform developers’ portal<br />Windows Azure access<br />Developer tools <br />White papers<br />Sample applications<br />Plan pilot applications, proofs of concept, and architectural design sessions with Windows Azure partners<br />http://www.azure.com<br />
  69. 69. Thank you<br />david.chou@microsoft.com<br />blogs.msdn.com/dachou<br />© 2009 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.<br />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.<br />

Notas do Editor

  • Build and deploy software quickly and easily by capitalizing on the same personnel, development tools investments, and knowledge that already power your IT organization. Use the services platform’s infrastructure to power prototyping environments for experimentation, and then launch to full-scale production as soon as your business needs it. Imagine connecting existing applications with an online database that can be shared with partners, or a service bus that enables secure B2B connectivity across firewalls.Pay as you grow and reduce costs. Pay for the services you use and reduce the capital costs associated with purchasing hardware and infrastructure. Reduce operational costs by running applications on the services platform and decrease the need for maintaining on-premises infrastructure. Increase business efficiency and agility by dynamically adding and subtracting capacity in real time. Envision building an e-commerce Web site that you can scale at the click of a mouse to meet seasonal demands or spikes in traffic based on sales and promotions. Develop a new portfolio of expertise. In these early stages of software development for the cloud, businesses will be seeking the best advice on what this means for their current and future technology investments. Stay ahead of the curve and help your customers understand what cloud computing and development means to their business today and how they can pivot and extend their investments to maximize its value tomorrow. Don’t slow down. Start projects without the hurdles of lengthy training or waiting for new infrastructure to be delivered and installed. With a broad set of services already running on Microsoft global data centers, the services platform is ready to start prototyping and testing solutions.

×