Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Yin and Yang of Software


Published on

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

  • Be the first to like this

The Yin and Yang of Software

  1. 1. The Yin and Yang of Software Gianpaolo Carraro
  2. 2. Agenda and Goals Better understand: the software services evolution in general New or increasingly relevant trends Discuss Impact of those for Enterprise IT and ISVs Present Microsoft software + services strategy Note: This session is more conceptual Eugenio‟s session will be more pragmatic
  3. 3. Trend #1 Software as a Service and Cloud computing i.e. Getting software “from the cloud”
  4. 4. … “as a service” has been around for a very long time
  5. 5. the problem is that you often get food like this… actually, not a big problem, unless…
  6. 6. …the expectation is having food like that…
  7. 7. Industry Average vs. Competitive Advantage ?
  8. 8. Separating logical service from infrastructure has also been around for a long time… Service Layer: British Airways Infrastructure: British Airports Authority
  9. 9. Remember users only see the service layer (BA), when infrastructure (BAA) breaks… this happens:
  10. 10. And although it is the infrastructure (BAA) that broke the service layer (BA) pays the high price… • Customer dissatisfaction -> increases churn • Out of pocket expenses reimbursing: – £100 Hotel – £50 Transportation – £25 Food • £175 x 20‟000 people is a lot of £ (3.5Million) • Did British Airport Authority provide an SLA? • Where there penalties for non honoring the SLA?
  11. 11. Of course, if you can afford it, you can always decide to reduce external dependencies and opt for “more control”
  12. 12. Wait a second… am I in the wrong room? I am a software architect, why are you telling me all this, what is the point with Software?
  13. 13. Because… • SaaS and Cloud computing is all about delivering and consuming services and SLAs • Most of the concepts discussed before are valid • At (very high) level: – SaaS is about: Delivering (software) services (with SLA?) – SOA is about: Consuming (software) services (with SLA?)
  14. 14. Do it yourself vs. “as a service” ? More Control (usually) Lower Cost Do It Yourself Use the service Considerations: What is the SLA of “the service” Is it Core competencies vs. Commodity Compliance …
  15. 15. It is about which kind of risks you want to manage Up front cost vs. Long term cost Capex ($) risk vs. Supplier risk
  16. 16. Business Architecture and Capability Maps • Do you know how many services you run? • Can you rank them in priority order?
  17. 17. Trend #2 Massive Data Centers
  18. 18. Microsoft Data Center in Chicago Cost: $500 million Size: 500,000 square foot facility (10 football fields) Container-based FYI: Microsoft Averages the deployment of 10000 new servers each month
  19. 19. "I think there is a world market for about five computers" — Remark attributed to Thomas J. Watson (Chairman of the Board of International Business Machines), 1943.
  20. 20. Flash Disk SATA Disks 40X Cheaper per GB (2007) SATA SCSI Flash DRAM 2007 Disk Disk GB/$ 3.33 0.50 0.08 0.01 IOPS/GB 0.2 4 200 5,000,000 GB/Watt 50 5 100 0.5 Flash Is COOL! Current Trends Show Price Crossover in 2012 or so… 2010: 128GB Flash disk for $40 (SATA = Flash)
  21. 21. “The software industry is changing by the minute. This once-ethereal, all-intellectual property business is starting to seem like old industry, where advantage will come from physical assets and capital spending.” – Fortune
  22. 22. Energy Consumption • In 2006, U.S. data centers consumed ~61 billion kWh of energy • ~1.5% of the total electricity consumed in the U.S. that year •total cost of electricity was $4.5 billion •more than the electricity consumed by all color televisions in U.S. • equal to consumption of ~5.8 million average U.S. households •If the status quo continues, by 2011: • data centers will consume 100 billion kWh of energy • at a total annual cost of $7.4 billion. • requiring construction of 10 additional power plants • As an Industry Segment, Data Centers are the fastest growing Energy Segment in the US .
  23. 23. Sustainability • Regulations • Carbon Tax • PR / Image
  24. 24. To Datacenter or not to Datacenter? That is the question  Increased Regulation on the Horizon  Department of Energy – Data Centers fastest growing Energy Segment in the United States  EPA has just completed a report to Congress on Data Center power usage and consumption  Difficult to find operational expertise  Data Center Capital expense becoming a barrier for many companies
  25. 25. Displace Server Energy Consumption • Consolidation – 64bit, Virtualization • Transference – pushing the cost/use of energy and carbon footprint on a hosting agency (Microsoft ?!)
  26. 26. Trend #3 Dev-signer (Designer – Developers)
  27. 27. New Best Friends “XAML” “XAML”
  28. 28. Trend #4 • Devices
  29. 29. Media and Video
  30. 30. Information
  31. 31. Retail
  32. 32. Social Networking
  33. 33. Mobile Application Trends Rich Client Applications Sophistication And Richness Richness gap Browser + AJAX Browser + HTML WAP
  34. 34. Garmin: Non Phone Devices
  35. 35. Trend #5 • Open Web
  36. 36. Walled Gardens Source: the economist (March 19th 2008 issue)
  37. 37. APIs, Protocols and Semantic Markup The Yin and Yang of Software by Gianpaolo Carraro <item> <title>The Yin and Yang of Software</title> <speaker> Gianpaolo Carraro</speaker> </item> REST, ATOM, HTTP GET/POST… Declarative languages: XAML
  38. 38. Mashups: Jigsaw vs. Tangram Open Ended Closed Ended
  39. 39. Trend #6 • Multi-core
  40. 40. Multi-Core Slide 41
  41. 41. Single-Cores Won’t Get Much Faster! Spread the work across many processors A bit faster sequential processing will cost you a lot! If you can parallelize your application MUCH cheaper Slide 42
  42. 42. Matrix multiplication (sequential) void MultiplyMatrices(int size, double[,] m1, double[,] m2, double[,] result) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } } }
  43. 43. Matrix multiplication (ThreadPool)
  44. 44. Matrix multiplication (Parallel Extensions) void MultiplyMatrices(int size, double[,] m1, double[,] m2, double[,] result) { Parallel.For(0, size, i => { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } }); } Parallel Extensions to the .NET Framework
  45. 45. S+S Perspectives Build Run S+S Consume Monetize
  46. 46. S+S Perspectives Build Run S+S Consume Monetize
  47. 47. Small and Medium Businesses
  48. 48. 100‟000 x 1 != 1 x 100‟000
  49. 49. S+S Common Pattern #1 Client Server Service Rich User Experiences “Back end as a service” Taking advantage of •Disconnected experience •Multitenancy vs. Isolation „cloud‟ building blocks •Smart Client •Metadata Driven Customization •Latency •Office as UI •Performance •SLAs •Self Service / Try before you buy
  50. 50. S+S Common Pattern #2: Attached Services • XBOX -> XBOX Live • Office -> Office Live Workspaces • Exchange -> Exchange Hosted Services • Leverage the installed based • New revenue streams – little re-architecting of original application
  51. 51. Emerging Patterns
  52. 52. “Hope for the best” architecture ?! Redundancy is very costly 2 bandwidth providers Is the bandwidth coming from 2 separate fibers loops 2 power suppliers (grid, diesel) is diesel coming from 2 oil distributors are the diesel distributors sourcing from 2 oil countries … Faulty service is very costly Lower sat, churn, SLA penalties Which one of the two above is more costly? How many fault/year makes faulty more expensive than fully redundant?
  53. 53. It‟s OK to be wrong and/or down Business involves apologizing… It’s OK to take advantage of that! Compare the cost of the apology versus the cost of being always right Slide 54
  54. 54. Not for Everything… Just for Most! Very Expensive Apologies… • Some “Guesses” Are Very Expensive to Get Wrong • I don‟t want apologies on my flight back to USA It is a Business Decision!
  55. 55. S+S Perspectives Build Run S+S Consume Monetize
  56. 56. S+S Architecture: Consume • Integration Architecture – SSO – Unified Management – “Many to 1 consumption” • Composition Architecture “Extended” SOA Global Bank – “enterprise mashups”
  57. 57. Emerging Patterns
  58. 58. Peak management • Excess capacity (over flow)
  59. 59. Consumerization of IT Keeping our infrastructure 'in the cloud' and our costs close to the ground
  60. 60. Microsoft Software + Services Platform 3rd Party Live Services Online Services Apps & Solutions Building Block Services Datacenters Computers Networks
  61. 61. Microsoft Services Offerings Platform Streaming Services
  62. 62. Summary – Key Takeaway
  63. 63. Do not hide or dismiss these new trends!
  64. 64. The future is a combination of local software and Internet services interacting with one another. Software makes services better and services make software better. We describe this evolutionary path in our industry as Software + Services.
  65. 65. © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.