SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Traditional DC Vs Hosting - ESDS with Cloud
Traditional DC Vs Hosting - ESDS with CloudTraditional DC Vs Hosting - ESDS with Cloud
Traditional DC Vs Hosting - ESDS with Cloud
Sandesh Sonar
 

Was ist angesagt? (7)

Deliver your message! Organizing your PowerPoint and presenting to audiences
Deliver your message!  Organizing your PowerPoint and presenting to audiencesDeliver your message!  Organizing your PowerPoint and presenting to audiences
Deliver your message! Organizing your PowerPoint and presenting to audiences
 
Cloud fest 2012_jc02
Cloud fest 2012_jc02Cloud fest 2012_jc02
Cloud fest 2012_jc02
 
Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13
 
Traditional DC Vs Hosting - ESDS with Cloud
Traditional DC Vs Hosting - ESDS with CloudTraditional DC Vs Hosting - ESDS with Cloud
Traditional DC Vs Hosting - ESDS with Cloud
 
Every cloud has a silver lining
Every cloud has a silver liningEvery cloud has a silver lining
Every cloud has a silver lining
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
 
Cloud Computing -- Organizational Shift
Cloud Computing -- Organizational ShiftCloud Computing -- Organizational Shift
Cloud Computing -- Organizational Shift
 

Ähnlich wie The Yin and Yang of Software

Giga Spaces Getting Ready For The Cloud
Giga Spaces   Getting Ready For The CloudGiga Spaces   Getting Ready For The Cloud
Giga Spaces Getting Ready For The Cloud
chzesin
 
GigaSpaces - Getting Ready For The Cloud
GigaSpaces - Getting Ready For The CloudGigaSpaces - Getting Ready For The Cloud
GigaSpaces - Getting Ready For The Cloud
gigaspaces
 

Ähnlich wie The Yin and Yang of Software (20)

Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introduction to Cloud computing
Introduction to Cloud computingIntroduction to Cloud computing
Introduction to Cloud computing
 
AWS Public Sector Symposium 2014 Canberra | Putting the "Crowd" to work in th...
AWS Public Sector Symposium 2014 Canberra | Putting the "Crowd" to work in th...AWS Public Sector Symposium 2014 Canberra | Putting the "Crowd" to work in th...
AWS Public Sector Symposium 2014 Canberra | Putting the "Crowd" to work in th...
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architecture
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010
 
How to Reduce your Spend on AWS
How to Reduce your Spend on AWSHow to Reduce your Spend on AWS
How to Reduce your Spend on AWS
 
Economics of Cloud Computing (Jazoon'11)
Economics of Cloud Computing (Jazoon'11)Economics of Cloud Computing (Jazoon'11)
Economics of Cloud Computing (Jazoon'11)
 
[Jun AWS 101] Running Lean on AWS
[Jun AWS 101] Running Lean on AWS[Jun AWS 101] Running Lean on AWS
[Jun AWS 101] Running Lean on AWS
 
[Cloud Computing Day with V-Forum] Going Global on AWS
[Cloud Computing Day with V-Forum] Going Global on AWS[Cloud Computing Day with V-Forum] Going Global on AWS
[Cloud Computing Day with V-Forum] Going Global on AWS
 
Citihub IDC Event 2009 Cloud Mark Ellis
Citihub IDC Event 2009 Cloud Mark EllisCitihub IDC Event 2009 Cloud Mark Ellis
Citihub IDC Event 2009 Cloud Mark Ellis
 
Giga Spaces Getting Ready For The Cloud
Giga Spaces   Getting Ready For The CloudGiga Spaces   Getting Ready For The Cloud
Giga Spaces Getting Ready For The Cloud
 
GigaSpaces - Getting Ready For The Cloud
GigaSpaces - Getting Ready For The CloudGigaSpaces - Getting Ready For The Cloud
GigaSpaces - Getting Ready For The Cloud
 
Cloud Economics and calculating CTO - AWSome Day Zurich 112016
Cloud Economics and calculating CTO - AWSome Day Zurich 112016Cloud Economics and calculating CTO - AWSome Day Zurich 112016
Cloud Economics and calculating CTO - AWSome Day Zurich 112016
 
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo AquinoFInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
Every Cloud Has a Silver Lining
Every Cloud Has a Silver LiningEvery Cloud Has a Silver Lining
Every Cloud Has a Silver Lining
 
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWSAWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
 
Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01
 

Mehr von elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

KĂźrzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

KĂźrzlich hochgeladen (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

The Yin and Yang of Software

  • 1.
  • 2. The Yin and Yang of Software Gianpaolo Carraro gianpc@microsoft.com http://blogs.msdn.com/gianpaolo
  • 3. 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
  • 4. Trend #1 Software as a Service and Cloud computing i.e. Getting software “from the cloud”
  • 5. … “as a service” has been around for a very long time
  • 6. the problem is that you often get food like this… actually, not a big problem, unless…
  • 7. …the expectation is having food like that…
  • 8. Industry Average vs. Competitive Advantage ?
  • 9. Separating logical service from infrastructure has also been around for a long time… Service Layer: British Airways Infrastructure: British Airports Authority
  • 10. Remember users only see the service layer (BA), when infrastructure (BAA) breaks… this happens:
  • 11. 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?
  • 12. Of course, if you 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 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?)
  • 15. 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 …
  • 16. It is about which kind of risks you want to manage Up front cost vs. Long term cost Capex ($) risk vs. Supplier risk
  • 17. Business Architecture and Capability Maps • Do you know how many services you run? • Can you rank them in priority order?
  • 19. 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
  • 20. "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.
  • 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 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
  • 23. 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 .
  • 25. 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
  • 26. Displace Server Energy Consumption • Consolidation – 64bit, Virtualization • Transference – pushing the cost/use of energy and carbon footprint on a hosting agency (Microsoft ?!)
  • 27. Trend #3 Dev-signer (Designer – Developers)
  • 28. New Best Friends “XAML” “XAML”
  • 34. Mobile Application Trends Rich Client Applications Sophistication And Richness Richness gap Browser + AJAX Browser + HTML WAP
  • 35. Garmin: Non Phone Devices
  • 37. Walled Gardens Source: the economist (March 19th 2008 issue)
  • 38. 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
  • 39. Mashups: Jigsaw vs. Tangram Open Ended Closed Ended
  • 41. Multi-Core Slide 41
  • 42. 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
  • 43. 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]; } } } }
  • 45. 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
  • 46. S+S Perspectives Build Run S+S Consume Monetize
  • 47. S+S Perspectives Build Run S+S Consume Monetize
  • 48. Small and Medium Businesses
  • 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
  • 53. “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?
  • 54. 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
  • 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”
  • 59. Peak management • Excess capacity (over flow)
  • 60. 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
  • 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. Summary – Key Takeaway
  • 64. Do not hide or dismiss these new trends!
  • 65. 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.
  • 66. Š 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.