The Yin and Yang of Software




Gianpaolo Carraro
gianpc@microsoft.com
http://blogs.msdn.com/gianpaolo
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
Trend #1
Software as a Service and Cloud computing
i.e. Getting software “from the cloud”
… “as a service” has been around for a very long time
the problem is that you often get food like this…




actually, not a big problem, unless…
…the expectation is having food like that…
Industry Average vs. Competitive Advantage ?
Separating logical service from infrastructure has
      also been around for a long time…




                          Service Layer: British Airways




                          Infrastructure: British Airports Authority
Remember users only see the service layer (BA), when
infrastructure (BAA) breaks… this happens:
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?
Of course, if you can afford it, you can always decide to
reduce external dependencies and opt for “more control”
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?
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?)
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
       …
It is about which kind of risks you want to manage




                                     Up front cost vs. Long term cost

Capex ($) risk vs. Supplier risk
Business Architecture and Capability Maps

• Do you know how many services you run?
• Can you rank them in priority order?
Trend #2
Massive Data Centers
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
http://www.datacenterknowledge.com/archives/2008/Apr/01/microsoft_embraces_data_center_containers.html
"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.
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)
“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
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 .
Sustainability
• Regulations
• Carbon Tax
• PR / Image
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
Displace Server Energy Consumption


• Consolidation
  – 64bit, Virtualization

• Transference
  – pushing the cost/use of energy and carbon
    footprint on a hosting agency (Microsoft ?!)
Trend #3
Dev-signer (Designer – Developers)
New Best Friends
                            “XAML”
“XAML”
Trend #4
• Devices
Media and Video
Information
Retail
Social Networking
Mobile Application Trends

                                                      Rich Client Applications
Sophistication And Richness




                                 Richness gap




                                                                             Browser + AJAX


                                                             Browser + HTML


                                                WAP
Garmin: Non Phone Devices
Trend #5
• Open Web
Walled Gardens




Source: the economist (March 19th 2008 issue)
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
Mashups: Jigsaw vs. Tangram



                      Open
                      Ended
 Closed
 Ended
Trend #6
• Multi-core
Multi-Core




             Slide 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
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];
            }
        }
    }
}
Matrix multiplication (ThreadPool)
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 http://msdn.com/concurrency
S+S Perspectives

 Build         Run

         S+S

Consume    Monetize
S+S Perspectives

 Build         Run

         S+S

Consume    Monetize
Small and Medium Businesses
100‟000 x 1 != 1 x 100‟000
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
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
Emerging Patterns
“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?
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
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!
S+S Perspectives

 Build         Run

         S+S

Consume    Monetize
S+S Architecture: Consume

                 • Integration Architecture
                    – SSO
                    – Unified Management
                    – “Many to 1 consumption”
                 • Composition Architecture
“Extended” SOA
 Global Bank        – “enterprise mashups”
Emerging Patterns
Peak management
• Excess capacity (over flow)
Consumerization of IT


Keeping our infrastructure 'in the cloud' and our costs close
to the ground
http://edjez.instedd.org/2008/03/keeping-our-infrastructure-cloud-and.html
Microsoft Software + Services Platform
                                                3rd Party
   Live Services          Online Services    Apps & Solutions




                   Building Block Services




   Datacenters           Computers           Networks
Microsoft Services Offerings


                           Platform


                                  Streaming




                       Services
Summary – Key Takeaway
Do not hide or dismiss these new trends!
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.
© 2007 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

The Yin and Yang of Software

  • 2.
    The Yin andYang of Software Gianpaolo Carraro gianpc@microsoft.com http://blogs.msdn.com/gianpaolo
  • 3.
    Agenda and Goals Betterunderstand: 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
  • 4.
    Trend #1 Software asa Service and Cloud computing i.e. Getting software “from the cloud”
  • 5.
    … “as aservice” has been around for a very long time
  • 6.
    the problem isthat you often get food like this… actually, not a big problem, unless…
  • 7.
    …the expectation ishaving food like that…
  • 8.
    Industry Average vs.Competitive Advantage ?
  • 9.
    Separating logical servicefrom infrastructure has also been around for a long time… Service Layer: British Airways Infrastructure: British Airports Authority
  • 10.
    Remember users onlysee the service layer (BA), when infrastructure (BAA) breaks… this happens:
  • 11.
    And although itis 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?
  • 12.
    Of course, ifyou can afford it, you can always decide to reduce external dependencies and opt for “more control”
  • 13.
    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?
  • 14.
    Because… • SaaS andCloud 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?)
  • 15.
    Do it yourselfvs. “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 …
  • 16.
    It is aboutwhich kind of risks you want to manage Up front cost vs. Long term cost Capex ($) risk vs. Supplier risk
  • 17.
    Business Architecture andCapability Maps • Do you know how many services you run? • Can you rank them in priority order?
  • 18.
  • 19.
    Microsoft Data Centerin 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 http://www.datacenterknowledge.com/archives/2008/Apr/01/microsoft_embraces_data_center_containers.html
  • 20.
    "I think thereis a world market for about five computers" — Remark attributed to Thomas J. Watson (Chairman of the Board of International Business Machines), 1943.
  • 21.
    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)
  • 22.
    “The software industryis 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
  • 23.
    Energy Consumption • In2006, 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 .
  • 24.
  • 25.
    To Datacenter ornot 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
  • 26.
    Displace Server EnergyConsumption • Consolidation – 64bit, Virtualization • Transference – pushing the cost/use of energy and carbon footprint on a hosting agency (Microsoft ?!)
  • 27.
  • 28.
    New Best Friends “XAML” “XAML”
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
    Mobile Application Trends Rich Client Applications Sophistication And Richness Richness gap Browser + AJAX Browser + HTML WAP
  • 35.
  • 36.
  • 37.
    Walled Gardens Source: theeconomist (March 19th 2008 issue)
  • 38.
    APIs, Protocols andSemantic 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
  • 39.
    Mashups: Jigsaw vs.Tangram Open Ended Closed Ended
  • 40.
  • 41.
    Multi-Core Slide 41
  • 42.
    Single-Cores Won’t GetMuch 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
  • 43.
    Matrix multiplication (sequential) voidMultiplyMatrices(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]; } } } }
  • 44.
  • 45.
    Matrix multiplication (ParallelExtensions) 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 http://msdn.com/concurrency
  • 46.
    S+S Perspectives Build Run S+S Consume Monetize
  • 47.
    S+S Perspectives Build Run S+S Consume Monetize
  • 48.
    Small and MediumBusinesses
  • 49.
    100‟000 x 1!= 1 x 100‟000
  • 50.
    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
  • 51.
    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
  • 52.
  • 53.
    “Hope for thebest” 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?
  • 54.
    It‟s OK tobe 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
  • 55.
    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!
  • 56.
    S+S Perspectives Build Run S+S Consume Monetize
  • 57.
    S+S Architecture: Consume • Integration Architecture – SSO – Unified Management – “Many to 1 consumption” • Composition Architecture “Extended” SOA Global Bank – “enterprise mashups”
  • 58.
  • 59.
    Peak management • Excesscapacity (over flow)
  • 60.
    Consumerization of IT Keepingour infrastructure 'in the cloud' and our costs close to the ground http://edjez.instedd.org/2008/03/keeping-our-infrastructure-cloud-and.html
  • 61.
    Microsoft Software +Services Platform 3rd Party Live Services Online Services Apps & Solutions Building Block Services Datacenters Computers Networks
  • 62.
    Microsoft Services Offerings Platform Streaming Services
  • 63.
  • 64.
    Do not hideor dismiss these new trends!
  • 65.
    The future isa 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.
  • 66.
    © 2007 MicrosoftCorporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.