Your SlideShare is downloading. ×
0
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
Architecting For The Windows Azure Platform
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

Architecting For The Windows Azure Platform

3,227

Published on

Deck delivered at the Windows Azure World Tour

Deck delivered at the Windows Azure World Tour

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,227
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
309
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.
  • Transcript

    • 1. Architecting for the<br />Windows Azure Platform<br />David Chou<br />david.chou@microsoft.com<br />blogs.msdn.com/dachou<br />
    • 2. Application Models<br />Web Hosting<br /><ul><li>Massive scale infrastructure
    • 3. Burst & overflow capacity
    • 4. Temporary, ad-hoc sites</li></ul>Application Hosting<br /><ul><li>Hybrid applications
    • 5. Composite applications
    • 6. Automated agents / jobs</li></ul>Media Hosting & Processing<br /><ul><li>CGI rendering
    • 7. Content transcoding
    • 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. Massive modeling & simulation
    • 10. Advanced analytics</li></ul>Information Sharing<br /><ul><li>Reference data
    • 11. Common data repositories
    • 12. Knowledge discovery & mgmt</li></ul>Collaborative Processes<br /><ul><li>Multi-enterprise integration
    • 13. B2B& e-commerce
    • 14. Supply chain management
    • 15. Health & life sciences
    • 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. 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. Windows Azure
    • 19. SQL Azure</li></ul>Benefits<br /><ul><li>Application migration completed in 3 weeks with 2 developers
    • 20. Customers can implement solution without investing in on-premise infrastructure; can save ~$8,000 for startup costs
    • 21. Lowered capital expenditures
    • 22. Improved time-to-market and agility in meeting customer needs
    • 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. 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. Cloud-based extensions and services mash-ups with on-premise implementation
    • 26. Windows Azure application
    • 27. .NET Services service bus, access control, & workflows</li></ul>Benefits<br /><ul><li>$500,000 savings in dev. costs
    • 28. 40% faster time-to-market
    • 29. More effective development
    • 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. 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. Internet-Scale Application Architecture<br />Design<br /><ul><li>Horizontal scaling
    • 33. Service-oriented composition
    • 34. Eventual consistency
    • 35. Fault tolerant (expect failures)</li></ul>Security<br /><ul><li>Claims-based authentication & access control
    • 36. Federated identity
    • 37. Data encryption & key mgmt.</li></ul>Management<br /><ul><li>Policy-driven automation
    • 38. Aware of application lifecycles
    • 39. Handle dynamic data schema and configuration changes</li></ul>Data & Content<br /><ul><li>De-normalization
    • 40. Logical partitioning
    • 41. Distributed in-memory cache
    • 42. Diverse data storage options (persistent & transient, relational & unstructured, text & binary, read & write, etc.)</li></ul>Processes<br /><ul><li>Loosely coupled components
    • 43. Parallel & distributed processing
    • 44. Asynchronous distributed communication
    • 45. Idempotent (handle duplicity)
    • 46. Isolation (separation of concerns)</li></li></ul><li>Presentation<br /><ul><li>ASP.NET C#, PHP, Java
    • 47. Distributed in-memory cache</li></ul>Internet-Scale Application Architecture<br />Services<br /><ul><li>.NET C#, Java, native code
    • 48. Distributed in-memory cache
    • 49. Asynchronous processes
    • 50. Distributed parallel processes
    • 51. Transient file storage</li></ul>Connectivity<br /><ul><li>Message queues
    • 52. Service orchestrations
    • 53. Identity federation
    • 54. Claims-based access control
    • 55. External services connectivity</li></ul>SERVICE BUS<br />ACCESS CONTROL<br />WORK<br />FLOWS<br />Storage<br /><ul><li>Relational & transactional data
    • 56. Federated databases
    • 57. Unstructured, de-normalized data
    • 58. Logical partitioning
    • 59. Persistent file & blob storage
    • 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. 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. 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. 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. 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. 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. Categories of Services<br />Application Services<br />Software Services<br />Platform Services<br />Infrastructure Services<br />The Microsoft Cloud<br />
    • 67. Platform of Choice<br />
    • 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. 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 />

    ×