Real World Patterns for Cloud Computing


Published on

Real World Patterns for Cloud Computing, as presented at TechEd NA 2010.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Good morning! Welcome to ARC304, Real-World Patterns for Cloud Computing.My name is Wade Wegner, and I’m a technical evangelist with Microsoft. Joining me is Jerry Schulist, a solutions architect with the Tribune Company.Before we get started, I want to answer the questions what is the Tribune Company, and why is knowing about them relevant to our talk on real-world patterns for cloud computing.
  • Wade:Coming from Chicago, when I hear the word Tribune I immediately think of the Chicago Tribune. However, the Tribune Company is more than just the Chicago Tribune – it includes 7 other newspapers, 23 television stations, and a host of radio stations and web sites.Jerry:That’s right. The Tribune company is a large company that in addition to traditional media (like newspapers, radio, and TV) handles over 6.1 billion page views, and is supported by over 32 data centers, over 4,000 servers, and 75,000 sqft of raised floor.Wade:So, suffice to say, it’s a pretty massive company that’s been around for a long time and entrenched in many traditional forms of media.
  • And this is part of the problem, because for the past 150 years, traditional media such as newspapers …
  • … radio, and television has been a dominant – if not ONLY– source of information for consumers. Yet, in only the last few years …
  • … these traditional channels have struggled to keep up with the onslaught of digital and social media.
  • Consider the US Airways plane that landed in the Hudson river. Where did this story break? Twitter and TwitPic
  • So, how does the Tribune Company compete? To stay relevant, the Tribune Company has had to reinvent the ways it delivers information to consumers …
  • … taking an early bet on cloud computing and the Windows Azure platformJerry: Our goal is to create a repository that will bring together editorial content and contextual advertising so that it can be leveraged throughout Tribune to deliver a more compelling user experience all while reducing cost.
  • In this session we’ll focus on three scenarios that the Tribune Company faced when moving to the cloud, what worked well for them, what was challenging, and also some best practices.We’ll look at …How they leverage Windows Azure storage to store TBs and PBs of content.How they leverage Windows Azure compute for content processing.And challenges solved by scaling in the cloud.You will walk away from this session with tools, knowledge and approach that you can use in your own cloud projects.
  • To accomplish this, we’re going to look at an existing architecture used by the Tribune Company today. We’re going to walk through the solution used to …Take the rich content the Tribune has, and deploy it into Windows Azure storage.Along the way, we’re going to write instructions to Windows Azure queues, so that …… content processing worker roles can later process the data we’ve uploaded.And finally, we’re going to highlight how to scale both the storage and compute pieces of the solution.
  • In this talk, we want to show you exactly how to apply these patterns and scenarios in the real world.As we present, I’d like to challenge you to think about your own company and clients, and how you might leverage these patterns and techniques to save them money and create new efficiencies.
  • And to alleviate your fears, this session is NOT simply a customer case study. We’re going to show you real stuff and how to solve real challenges.
  • Lastly, there’s an important analogy to draw from the Tribune Company story. Just as the Tribune Company is reinventing itself to stay relevant in a new world of digital and social media, so too do we as Architects and Developers have to reinvent ourselves to stay relevant in a world of cloud computing.So ask yourself, what are YOU doing to stay relevant?
  • With that, let’s talk about storage.
  • Two interruptions:1. 2. .NET Framework 4.0
  • Follow best practices for Windows Azure storage SDKChange app.config so that you can increase parallel internet connectionsbloblClient.ParallelOperationThreadCountIncrease the BlobRequestOptions timeout valueLeverage the .NET Framework 4.0TaskParallel librariesParallel.ForEachEven the TaskParallel libraries can be tweaked to control how it parallelizes work!--Maxconnections set to 12 *’s the number of processorsblobContainer.ParallelOperationThreadCount = some numberUsed for files greater than 32 MBsDefaults to the # of CPU’s on your machineIncrease the timeout value on the BlobRequestOptionsBest practice calculation # of KBs uploading divided by KB throughput per sec
  • Questions:1. Bandwidth costs w/in the data center – none!
  • GrzegorzGogolowicz – business strategy w/in MicrosoftJerry, you have a mock of this?
  • These are transitional times for big media. Consider where the Tribune Company has come from …
  • … and where they are going as they redefine themselves for a new day of digital and doAnd this transition is not only true for the Tribune Company, as it redefinies itself in a new day of digital and social media, but also for architects and developers that are exploring new ways of leveraging the cloud.
  • Real World Patterns for Cloud Computing

    1. 1. Required Slide<br />
    2. 2. Real-World Patterns for Cloud Computing<br />Required Slide<br />SESSION CODE: ARC304<br />Wade Wegner<br />Technical Evangelist<br />Microsoft Corporation<br />Jerry Schulist<br />Solutions Architect<br />Tribune Company<br />
    3. 3. What is the Tribune Company?<br />
    4. 4.
    5. 5.
    6. 6.
    7. 7.
    8. 8.
    9. 9.
    10. 10. Three Key Scenarios<br /> 1. Storage<br /> 2. Compute<br /> 3. Scale<br /> Tools, Knowledge, Approach<br />
    11. 11. What will we look at?<br />4<br />2<br />Image Processor (Queue)<br />Content Ingestion Services<br />3<br />1<br />Image Processor(Worker Role)<br />Content(Blob Storage)<br />
    12. 12. So what?<br />
    13. 13. Not just a case study<br />
    14. 14. YOU!<br />:<br />
    15. 15. Three Key Scenarios<br /> 1. Storage<br /> 2. Compute<br /> 3. Scale<br />
    16. 16. Uploading Content<br />
    17. 17. Things to consider<br />Data management today<br />Is it really infinite?<br />Code-near and code-far scenarios<br />Relational data?<br />
    18. 18. Challenges<br /> 1. Running out of disk space<br /> 2. Handling archived digital content<br /> 3. Data stored across multiple datacenters<br />
    19. 19. Blob storage<br />Image Processor (Queue)<br />Content Ingestion Services<br />1<br />Image Processor(Worker Role)<br />Content(Blob Storage)<br />
    20. 20. Leveraging Windows Azure Storage<br />Uploading massive amounts of content into Windows Azure blobs.<br />DEMO<br />
    21. 21. Key Takeaways<br /> 1. Consolidate content in Windows Azure storage <br /> 2. Windows Azure Storage SDK best practices<br /> 3. Leverage the .NET Framework 4.0 <br />
    22. 22. Abstracting Work with Queues<br />
    23. 23. Things to consider<br />Loosely coupled and scalable solutions<br />Reliable storage and delivery of messages<br />Idempotency<br />8KBs per message; up to 100TBs<br />
    24. 24. Challenges<br /> 1. Need to process content<br /> 2. Independent of upload<br /> 3. Blobs aren’t the best for writing instructions<br />
    25. 25. Queues<br />2<br />Image Processor (Queue)<br />Content Ingestion Services<br />1<br />Image Processor(Worker Role)<br />Content(Blob Storage)<br />
    26. 26. Leveraging Windows Azure Storage<br />Using Queues to store instructions for content processing.<br />DEMO<br />
    27. 27. Key Takeaways<br /> 1. Use Windows Azure queues to decouple<br /> 2. Include all data relevant to work in message<br /> 3. Idempotent<br />
    28. 28. Three Key Scenarios<br /> 1. Storage<br /> 2. Compute<br /> 3. Scale<br />
    29. 29. Content Processing with Worker Roles<br />
    30. 30. Things to consider<br />Web Roles verses Worker Roles<br />Decoupling with Windows Azure Queues<br />
    31. 31. Challenges<br /> 1. Require multiple versions of content<br /> 2. JIT content processing is slow and expensive<br /> 3. Cost<br />
    32. 32. Worker Role<br />2<br />Image Processor (Queue)<br />Content Ingestion Services<br />3<br />1<br />Image Processor(Worker Role)<br />Content(Blob Storage)<br />
    33. 33. Leveraging Windows Azure Compute<br />Processing content with Windows Azure Worker Roles<br />DEMO<br />
    34. 34. Key Takeaways<br /> 1. Use worker roles for long running processes <br /> 2. Process ahead of time<br /> 3. Handle exceptions to prevent role recycling<br />
    35. 35. Three Key Scenarios<br /> 1. Storage<br /> 2. Compute<br /> 3. Scale<br />
    36. 36. Scaling Storage Accounts<br />
    37. 37. Things to consider<br />Isn’t scale automatic?<br />What does elastic scale actually mean?<br />Multiple storage accounts?<br />Multiple queues?<br />
    38. 38. Challenges<br /> 1. Storage account limitation of 100 Terabytes<br /> 2. Handle this challenge in a supportable fashion<br />
    39. 39. Worker Role<br />4<br />2<br />Image Processor (Queue)<br />Content Ingestion Services<br />3<br />1<br />Image Processor(Worker Role)<br />Content(Blob Storage)<br />
    40. 40. Scaling in Windows Azure<br />A round robin approach to elastic scale in Windows Azure storage<br />DEMO<br />
    41. 41. Key Takeaways<br /> 1. Multiple storage accounts<br /> 2. Round robin through accounts<br /> 3. Only pay for what you use<br />
    42. 42. Scaling Windows Azure roles<br />
    43. 43. Things to consider<br />Isn’t scale automatic?<br />What ways exist to scale?<br />Cost<br />
    44. 44. Challenges<br /> 1. Determine the number of roles required<br /> 2. Auto-scale<br />
    45. 45. Scaling in Windows Azure<br />An approach to implementing auto-scale in Windows Azure<br />DEMO<br />
    46. 46. Key Takeaways<br /> 1. Determine how to scale – queue or performance<br /> 2. Scaling service independent of application<br /> 3. Pay for what you use; scale wisely<br />
    47. 47.
    48. 48.
    49. 49. Next Steps<br /> 1. Consider the impact that cloud computing will have<br /> on you, your company, and your customers<br /> 2. Explore the three scenarios we presented and<br />how they impact you<br /> 3. Take advantage of TechEd, product teams, and<br />each other<br />
    50. 50. Resources<br />Required Slide<br />Learning<br />Sessions On-Demand & Community<br />Microsoft Certification & Training Resources<br /><br /><br />Resources for IT Professionals<br />Resources for Developers<br /><br /><br />
    51. 51. Required Slide<br />Complete an evaluation on CommNet and enter to win!<br />
    52. 52. Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st<br /><br /> <br />You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year<br />
    53. 53. © 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.<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 />