400 likes | 607 Views
Required Slide. SESSION CODE: ARC305. When Green Meets Cloud: Application Models for Utility Computing. Ulrich ( Uli ) Homann Chief Architect, WW Enterprise Services Microsoft Corporation. Session Objectives And Takeaways. Highlight the looming energy crisis in the data center
E N D
Required Slide SESSION CODE: ARC305 When Green Meets Cloud: Application Models for Utility Computing Ulrich (Uli) Homann Chief Architect, WW Enterprise Services Microsoft Corporation
Session Objectives And Takeaways • Highlight the looming energy crisis in the data center • Understand the application designers role in reducing energy consumption • Understand how cloud can support you in going Green
Will your Data Centers be Rated by the Government? Congress Passed Public Law 109-431 Dec 2006 EPA to study and promote IT Efficiency EPA provided response August 2007 Outcome: EPA Energy Star Program • Energy Star for Servers May 2009 release • Energy Star for DCs Jan 2010 release http://www.energystar.gov/index.cfm?c=prod_development.server_efficiency http://www.energystar.gov/ia/partners/prod_development/downloads/EPA_Datacenter_Report_Congress_Final1.pdf 3
In the US: Capacity Growth = 0.8%/yr Usage Growth = 1.1%/yr DC Growth = 15%/yr Why the Government Cares? Today in US 1.8 to 2.0% US Projections: 2020 10% 2030 30-40% 4
In the US: Capacity Growth = 0.8%/yr Usage Growth = 1.1%/yr DC Growth = 15%/yr Why the Government Cares? 5 times perf/W Today in US 1.8 to 2.0% US Projections: 2020 10% 2030 30-40% 5
All of this Drives Costs - Data Center Economics have Changed! DC Energy Belady, C., “In the Data Center, Power and Cooling Costs More than IT Equipment it Supports” Electronics Cooling Magazine (Feb 2007) 6
Where Data Center Power Goes Utility Load PUE = ------------------ = 2 IT Load Source: EYP Mission Critical Facilities Inc., New York Microsoft is focusing on all the pieces of the pie 7
“Sins” of our fathers From an application development perspective
SOYP – capacity planning methodology
Application architects – Belts-and-suspenders people?
Cloud Computing • what… Business applications delivered as a service that are always available, scale as required, provisioned just-in-time, and run on shared industry-standard hardware • why… Accelerates speed to solution and lowers the cost of IT
Cloud ComputingThe platform for the new generation of business All developers can quickly deliver highly-available, secure,and infinitely-scalable applications Rich end-user experience anywhere from any device AppModel Mainframe of the future: 1000× as powerful at a fraction of the cost Maximum efficiency on industry-standard hardware Your datacenter or ours HardwareModel Resilient to hardware and software failure 24×7 availability with “9 to 5” management “Restart, reboot, reimage, replace” OperationsModel
Microsoft Confidential Modular Data Center Technology Scalability and Sustainability Capacity ITPAC Containers Rack Servers Density and Deployment Time to Market Lower TCO Scalable Datacenter
Key data center transformation elements Approach: • Modular • As-needed reliability • As-needed maintainability • Manufacturing-oriented • Services-based
Cloud ComputingThe platform for the new generation of business All developers can quickly deliver highly-available, secure,and infinitely-scalable applications Rich end-user experience anywhere from any device AppModel Mainframe of the future: 1000× as powerful at a fraction of the cost Maximum efficiency on industry-standard hardware Your datacenter or ours HardwareModel Resilient to hardware and software failure 24×7 availability with “9 to 5” management “Restart, reboot, reimage, replace” OperationsModel
Cloud ComputingThe platform for the new generation of business All developers can quickly deliver highly-available, secure,and infinitely-scalable applications Rich end-user experience anywhere from any device AppModel Mainframe of the future: 1000× as powerful at a fraction of the cost Maximum efficiency on industry-standard hardware Your datacenter or ours HardwareModel Resilient to hardware and software failure 24×7 availability with “9 to 5” management “Restart, reboot, reimage, replace” OperationsModel
Workload Patterns Optimal for Cloud “Growing Fast“ “On and Off “ Inactivity Period Compute Compute Average Usage Usage Average Time Time • On and off workloads (e.g. batch job) • Over provisioned capacity is wasted • Time to market can be cumbersome • Successful services needs to grow/scale • Keeping up w/growth is big IT challenge • Complex lead time for deployment “Unpredictable Bursting“ “Predictable Bursting“ Compute Compute Average Usage Average Usage Time Time • Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases • Services with micro seasonality trends • Peaks due to periodic increased demand • IT complexity and wasted capacity
Cloud Compute Services (example Windows Azure) GOAL: Massive Scalability Two role types: Web Role & Worker Role Windows Azure applications are built with web roles, worker roles, or a combination of both deployed to a number of instances. Scale out – not up – by replicating worker instances as needed. Allow applications to scale user and compute processing independently. Each instance runs on its own VM (virtual machine), replicated as needed
Storage Services (example Windows Azure) GOAL: Scalable, durable utility-based storage • Windows Azure storage is an application managed by the Fabric Controller • Windows Azure applications can use native storage, MySQL within a VM, or SQL Azure • Application state is kept in storage services, so worker roles can replicate as needed • Blobs can be stored in global Windows Azure Content Delivery Network (CDN)
Refactoring your code base • Visual Studio 2010: Visualization and Model tools Componentization tries to control the complexity of software system by divide-and-conquer. It breaks the software into smaller loosely coupled components. • We want to achieve: • Define explicit and simple public API for components and reduce their coupling with other components • The ability to clean up/rewrite part of the software • Build reusable components that can be shared inside and potentially outside the product.
Make Components Concrete • Definition • Component is a piece of software that provides a well-defined set of functionalities • Define a component in codebase • Create a separate compilation unit: the ability to create a binary out of it (static lib, dll or exe) • Validate the component definition • Component sanity unit test: a test harness for the component • Make sure that link time dependency is clean/well understood. • Make sure the component is correctly defined • Make sure runtime dependency is clean • Such component sanity unit test enforces layering implicitly
Make Boundaries Concrete – Binary (native code) • Binary offers an easy mechanism to capture the public APIs of a component • The export file provides a central place where all public API change of a component can be monitored. • This allows a process to move the component boundary in the right direction. • It makes it easier to reuse the component (compared with source code sharing)
Risks - Performance • Design & Planning • Choose a boundary that’s not performance critical • Execution • Measure early, measure frequently • Set aside enough time for performance work
Model your solution Service Model <ITService> <Site> <Server Group> Simple topology view <Server> <ServerRole>
Server Role segmentation • Introduce Server Roles as part of your solution • Going from component to Services is not granular enough • Group related functionality in Server Roles • E.g. Payrolls, general ledger • Plan your Services deployment with Server Role isolation in mind • Allow the infrastructure to dynamically start and stop server roles (deployed as VM’s)
Start slow and grow in ‘scale units’ • Pete’s SharePoint order (representing max growth): • 50,000 users • 20,000 team sites • 150MB/site • Responses per second: 100 • Monitoring counters in the operational configuration and monitoring environment (SC OM 2007) trigger growth (or shrink) provisioning once the specific capacity driver hits 80% of specified value: • Growth based upon RPS (growth type A): initial size – 99 RPS; counter is set to 80 RPS • Growth based upon content db size (growth type B): initial size – 0.8 TB; counter is set to 0.7 TB
Required Slide Resources Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet • http://microsoft.com/msdn
Required Slide Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 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. 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.