architecting solutions leveraging the cloud

Download Architecting Solutions Leveraging The Cloud

Post on 18-Oct-2014




5 download

Embed Size (px)


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


Architecting Solutions Leveraging the Cloud

Architecting Solutions Leveraging the CloudDavid

Application ModelsWeb HostingMassive scale infrastructureBurst & overflow capacityTemporary, ad-hoc sitesApplication HostingHybrid applicationsComposite applicationsAutomated agents / jobsMedia Hosting & ProcessingCGI renderingContent transcodingMedia streamingDistributed StorageExternal backup and storageHigh Performance ComputingParallel & distributed processingMassive modeling & simulationAdvanced analyticsInformation SharingReference dataCommon data repositoriesKnowledge discovery & mgmtCollaborative ProcessesMulti-enterprise integrationB2B & e-commerceSupply chain managementHealth & life sciencesDomain-specific servicesCase, established 1995; vehicle data aggregation and publication service provider14M UU/monthMultiple physical data centers

SolutionCloud-based overflow capacityWindows Azure Web RoleSQL Azure databaseBenefits~$100,000 savings / year in hosting costs aloneRetire failover data center (27 Web servers & 9 SQL Servers)3.9T feed actions/day+300M active users>1B chat mesgs/day100M search queries/day>6B minutes spent/day (ranked #2 on Internet)

+20B photos, +2B/month growth600,000 photos served / sec25TB log data / day processed thru Scribe120M queries /sec on memcacheScaling the relational data:Keeps data normalized, randomly distributed, accessed at high volumesUses shared nothing architecture

Source: John Rothschild, VP of Technology, Facebook15Internet-Scale Application ArchitectureDesignHorizontal scalingService-oriented compositionEventual consistencyFault tolerant (expect failures)SecurityClaims-based authentication & access controlFederated identityData encryption & key mgmt.ManagementPolicy-driven automation Aware of application lifecyclesHandle dynamic data schema and configuration changesData & ContentDe-normalizationLogical partitioningDistributed in-memory cacheDiverse data storage options (persistent & transient, relational & unstructured, text & binary, read & write, etc.)ProcessesLoosely coupled componentsParallel & distributed processingAsynchronous distributed communicationIdempotent (handle duplicity)Isolation (separation of concerns) you 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.