oredev 2008: software + services
DESCRIPTION
A view on architectural considerations and models for the emerging context of software plus services and in view of technologies such as Windows Azure.TRANSCRIPT
Mark Bloodworth, Architect, Microsoft
Marc Holmes, Architect, MicrosoftSoftware + Services
In The Beginning
“One of the key challenges for corporate IT departments, in fact, lies in making the right decisions about what to hold onto and what to let go”Nicholas Carr, The Big Switch
“This (cloud computing) is a new way, but it’s not going to replace the existing –on-premise software is not going to go away.”Paul Slakey, Google, May 2008
“…it would be shortsighted to focus only on shifting IT services away from on-premises implementations. Instead, the ability to choose how an IT service is delivered from on-premises data centers to private clouds, off-premises utilities or even the public cloud is most critical.”Gartner Cloud Computing Report Series, June 2008
Hot topics for Software plus Services
Applications
Infrastructure
Performance
Software Development
Business
Social
The pressures on architecture
Business
Social
Architecture
Architecture is growing
Scope started small
And got bigger
And bigger
And now we need to reach the whole web
If we get this wrong
Considering the zeitgeist
User Experience matters
New devices are emerging
One size does not fit all
Where should processing be done?
A picture to help remember
UX• Audiences
• Domain Devices• Form Factor
• Capability
• Multi-user
Size
• Scale
• Scope
• Importance
• IntegrationProcess
• Desktop
• Datacentre
• Cloud
• Hybrid
In search of the “Goldilocks Architecture”
An Architectural model
Client
Presentation
Application
Infrastructure
Foundation
Foundation
Client
Presentation
Application
Infrastructure
Foundation
Foundation model
Foundation
Physical
Dedicated Shared HPC
Virtual
Dedicated Shared
Infrastructure
Client
Presentation
Application
Infrastructure
Foundation
Infrastructure model
Infrastructure
Self Vendor
Application
Client
Presentation
Application
Infrastructure
Foundation
Application Services
Client
Presentation
Application
Infrastructure
Foundation
Application model
Application
Rules Processes Schema
Application Services
Identity and Access
Directory RBAC Claims
Messaging
Service Bus P2P
Storage
Traditional Relational Unstructured
Workflow
Event BasedHigh
Throughput
Presentation
Client
Presentation
Application
Infrastructure
Foundation
Presentation model
Presentation
Web
Static Dynamic Rich Streaming
API
ATOM Pub VoiceXML SIP SOAP REST RSS
Client
Client
Presentation
Application
Infrastructure
Foundation
Client model
Client
Browser
HTML RIA
Desktop
Native Office IM Gadget
Mobile
Web RIA Native SMS Speech
Embedded
Device Console
An Architectural Model Redux
Client
Browser Desktop Mobile Embedded
Application
Rules Processes Schema
Application Services
Identity Messaging Workflow Storage
Presentation
Web Programmatic
Infrastructure
Self Vendor
Foundation
Physical Virtual
Application
Rules Processes Schema
Client
Browser Desktop Mobile Embedded
Building a fictitious blog engine
Application Services
Identity Messaging Workflow Storage
Presentation
Web Programmatic
Infrastructure
Self Vendor
Foundation
Physical Virtual
Static, published web pages
REST API for posting, RSS for syndication
Web Browser (HTML + CSS) for reading
Native Desktop App for posting
Business Logic Domain model
Logins (database) for posting and comments
Workflow for comment
moderation
Database for storing posts, tags,
comments, etc.
Vendor hosting on shared, virtualised
hardware
Principles to support the model
Experiences should span devices
Federations of loosely coupled co-operating systems and loosely coupled compositions
Infrastructure and solutions should extend from server to cloud
Practical stuff to do
The Right Team
Communicate
The Right Technologies
Windows Azure
Windows Azure – an overview
Azure™ Services Platform
Inside Windows Azure
Your Applications
Supporting technologies
Back to the Architectural Model
Client
Browser Desktop Mobile Embedded
Application
Rules Processes Schema
Application Services
Identity Messaging Workflow Storage
Presentation
Web Programmatic
Infrastructure
Self Vendor
Foundation
Physical Virtual
Identify emerging Software + Services patterns
Documenting and communicating patterns
Software plus Services
:acts_as_software_plus_services
What does Software + Services mean to me?
• Cloud computing is becoming real
• Software plus Services is about choice
• Software plus Services is about the right architecture
The End
Thank you
http://remark.wordpress.com/
http://www.marcmywords.org/
http://www.microsoftpdc.com/
http://www.microsoft.com/azure/default