Architecting Solutions Leveraging The Cloud

  • 2,043 views
Uploaded on

Discussion on how to design next-generation applications leveraging cloud platforms. Deck delivered at the 2009Q4 Microsoft Architect Council events

Discussion on how to design next-generation applications leveraging cloud platforms. Deck delivered at the 2009Q4 Microsoft Architect Council events

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,043
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
207
Comments
0
Likes
4

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
  • Source: Jeffrey Dean and Sanjay Ghemawat, Google
  • Source: John Rothschild, VP of Technology, Facebook

Transcript

  • 1. Architecting Solutions Leveraging the Cloud
    David Chou
    david.chou@microsoft.com
    blogs.msdn.com/dachou
  • 2. Application Models
    Web Hosting
    • Massive scale infrastructure
    • 3. Burst & overflow capacity
    • 4. Temporary, ad-hoc sites
    Application Hosting
    • Hybrid applications
    • 5. Composite applications
    • 6. Automated agents / jobs
    Media Hosting & Processing
    • CGI rendering
    • 7. Content transcoding
    • 8. Media streaming
    Distributed Storage
    • External backup and storage
    High Performance Computing
    • Parallel & distributed processing
    • 9. Massive modeling & simulation
    • 10. Advanced analytics
    Information Sharing
    • Reference data
    • 11. Common data repositories
    • 12. Knowledge discovery & mgmt
    Collaborative Processes
    • Multi-enterprise integration
    • 13. B2B& e-commerce
    • 14. Supply chain management
    • 15. Health & life sciences
    • 16. Domain-specific services
  • Case Study
    About
    • kbb.com, established 1995; vehicle data aggregation and publication service provider
    • 17. 14M UU/month
    • 18. Multiple physical data centers
    Solution
    • Cloud-based overflow capacity
    • 19. Windows Azure Web Role
    • 20. SQL Azure database
    Benefits
    • ~$100,000 savings / year in hosting costs alone
    • 21. Retire failover data center (27 Web servers & 9 SQL Servers)
    • 22. <1% code changes needed for application compatibility
    • 23. 6 weeks down to 6 minutes to add server capacity
  • Case Study
    About
    • Legacy call-center application for order processing and fulfillment
    • 24. On-premise systems integration with ERP and master data management
    Solution
    • Cloud-based Web-enablement of on-premise assets
    • 25. Windows Azure Web Role
    • 26. Web services integration via on-premise ESB endpoints
    Benefits
    • “In a matter of weeks, we were able to see the fruits of our efforts very rapidly.“ – Kevin Flowers, Dir. Enabling Technologies
    • 27. “The resilience and reliability of this platform is some of the benefits that we are seeing.” – EsatSezer, SVP & CIO
  • Case Study
    About
    • Complex Monte Carlo simulations to calculate financial risks
    • 28. Daily risk analysis load equivalent to processing 4 trillion US Stocks
    • 29. Existing on-premise HPC implementation
    Solution
    • Massively scalable compute leveraging cloud capacity
    • 30. Deployed on 2K Windows Azure instances; 10K+ in 2010
    • 31. Windows Azure Worker Role
    • 32. Windows Azure Blob and Queue
    • 33. AppFabric Service Bus
    Benefits
    • Elastic scaling to effectively meet customer demands
    • 34. Turning elements of its peak load infrastructure from a fixed cost to a variable cost
  • Case Study
    About
    • Web-based ERP and accounting software to help mid-sized businesses automate customized business processes
    • 35. Business needs:
    Launch a SaaSoffering which includes on demand infrastructure and billing
    Maintain a 24/7 production environment
    Minimize development efforts for both on-premise and SaaS offerings
    • Technical implementation
    Web – IIS 7, ASP.NET 3.5
    Server – SQL Server 2005/2008, Windows Server 2003/2008
    Tools – Visual Studio 2008, .NET Framework 3.5
    Solution
    • Cloud-based SaaS deployment
    • 36. Windows Azure
    • 37. SQL Azure
    Benefits
    • Application migration completed in 3 weeks with 2 developers
    • 38. Customers can implement solution without investing in on-premise infrastructure; can save ~$8,000 for startup costs
  • Case Study
    About
    • Online service providing productivity tools to help students conduct research, write better papers, and get help on-demand
    • 39. Technical implementation
    Client – Windows Mobile 6
    Web – IIS 6, ASP.NET 3.5
    Server – Windows Server 2003, SQL Server 2005
    Services – Bing Search, Windows Live Messenger Web Toolkit
    Tools – Visual Studio 2008, .NET Framework 3.5, .NET Compact Framework 3.5
    Solution
    • Hybrid cloud application
    • 40. Cloud-based extensions and services mash-ups with on-premise implementation
    • 41. Windows Azure application
    • 42. .NET Services service bus, access control, & workflows
    Benefits
    • $500,000 savings in dev. costs
    • 43. 40% faster time-to-market
    • 44. More effective development
    • 45. Cost-effective scalability and enhanced availability
  • Application Patterns
    Cloud Web Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Cloud Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application
    Data
    Reference Data
  • 46. Application Patterns
    Composite Services Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application Data
    Reference Data
  • 47. Application Patterns
    Cloud Agent Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application Data
    Reference Data
  • 48. Application Patterns
    B2B Integration Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application Data
    Reference Data
  • 49. Application Patterns
    Grid / Parallel Computing Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application Data
    Reference Data
  • 50. Application Patterns
    Hybrid Enterprise Application
    User
    Silverlight
    Application
    Web Browser
    Mobile
    Browser
    WPF
    Application
    ASP.NET
    (Web Role)
    Web Svc
    (Web Role)
    Jobs
    (Worker Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Private Cloud
    Public Services
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    ASP.NET
    (Web Role)
    Enterprise Application
    Application
    Service
    Enterprise Web Svc
    Data
    Service
    Table Storage
    Service
    Blob Storage
    Service
    Queue
    Service
    Enterprise Data
    Storage
    Service
    Identity
    Service
    Enterprise Identity
    Service Bus
    Access Control Service
    Workflow
    Service
    User
    Data
    Application Data
    Reference Data
  • 51. Internet-Scale Application
    2007 stats:
    +20 petabytes of data processed / day by +100K MapReduce jobs
    1 petabyte sort took ~6 hours on ~4K servers replicated onto ~48K disks
    +200 GFS clusters, each at 1-5K nodes, handling +5 petabytes of storage
    ~40 GB/sec aggregate read/write throughput across the cluster
    +500 servers for each search query &lt; 500ms
    Scaling the process:
    MapReduce: parallel processing framework
    BigTable: structured hash database
    Google File System: massively scalable distributed storage
  • 52. Internet-Scale Application
    2009 stats:
    +200B pageviews/month
    &gt;3.9T feed actions/day
    +300M active users
    &gt;1B chat mesgs/day
    100M search queries/day
    &gt;6B minutes spent/day (ranked #2 on Internet)
    +20B photos, +2B/month growth
    600,000 photos served / sec
    25TB log data / day processed thru Scribe
    120M queries /sec on memcache
    Scaling the “relational” data:
    Keeps data normalized, randomly distributed, accessed at high volumes
    Uses “shared nothing” architecture
  • 53. Internet-Scale Application Architecture
    Design
    • Horizontal scaling
    • 54. Service-oriented composition
    • 55. Eventual consistency
    • 56. Fault tolerant (expect failures)
    Security
    • Claims-based authentication & access control
    • 57. Federated identity
    • 58. Data encryption & key mgmt.
    Management
    • Policy-driven automation
    • 59. Aware of application lifecycles
    • 60. Handle dynamic data schema and configuration changes
    Data & Content
    • De-normalization
    • 61. Logical partitioning
    • 62. Distributed in-memory cache
    • 63. Diverse data storage options (persistent & transient, relational & unstructured, text & binary, read & write, etc.)
    Processes
    • Loosely coupled components
    • 64. Parallel & distributed processing
    • 65. Asynchronous distributed communication
    • 66. Idempotent (handle duplicity)
    • 67. Isolation (separation of concerns)
  • Thank you
    david.chou@microsoft.com
    blogs.msdn.com/dachou
    © 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.
    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.