The Yin and Yang of Software - Presentation Transcript
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 .
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.
0 comments
Post a comment