DevLink - Architecting Modern Distributed Applications - Presentation Transcript
Architecting Modern Distributed Applications Clint Edmonson Architect Evangelist Microsoft Email: clinted@microsoft.com Web: http://www.notsotrivial.net Twitter: @clinted
Industry Trends
Industry Trends Trend 1: Service Oriented Architecture (SOA)
Industry Trends
Industry Trends Trend 2: Software as a Service (SaaS)
Industry Trends
Industry Trends Trend 3: Web 2.0
Industry Trends
Industry Trends Trend 4: Rich Internet Applications (RIA)
Industry Trends
Industry Trends Trend 5: Cloud Computing
Industry Trends
Industry Trends SOA: Service Oriented Architecture RIA: Rich Internet Applications Interop, Reuse and Agility User Experience Software + Services Web 2.0 SaaS: Software as a Service SocialNetwork Effect Flexible pricing and delivery Cloud Computing Service Utility & Scale
Heads in the Cloud, Feet on the Ground
Heads in the Cloud, Feet on the Ground When it comes to running applications, organizations today face a tension between control and economy of scale Control High Low Economy of Scale Low High
Application runs on-premise Buy my own hardware, and manage my own data center Heads in the Cloud, Feet on the Ground Application runs at a hoster Pay someone to host my application using hardware that I specify Application runs using cloud platform Pay someone to host my application without specifying the hardware (they promise to be “infinitely” scalable) Application is supplied by a vendor Pay for someone’s hosted application. Don’t care about the hardware, as long as it works. Control High Low Economy of Scale Low High
Heads in the Cloud, Feet on the Ground Buy Build vs. Buy Tension between build vs. buy Build
“Packaged” Application An application that I buy “off the shelf” and run myself Heads in the Cloud, Feet on the Ground Hosted “Packaged” An application that I buy “off the shelf” and then run at a hoster “Packaged” using cloud An application that I buy “off the shelf”, that is hosted using cloud platform “Software as a Service” A hosted application that I buy from a vendor Buy Build vs. Buy “Home Built” Application An application that I develop and run myself Hosted “Home Built” An application that I develop myself, but run at a hoster “Home Built” using cloud An application that I develop myself, that is hosted using cloud platform “Platform as a Service” A vendor hosted development and runtime environment Build
“Packaged” Application Big Pharmaceutical Example Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP “Too costly to run this myself, but I’ve made too many customizations” CRM Email “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” HR System Molecule Research Clinical Trial
“Packaged” Application Big Pharmaceutical Example Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP CRM “CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these” Email “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” HR System Molecule Research Clinical Trial
Big Pharmaceutical Example “Packaged” Application Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP CRM Email “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” “I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” HR System “…but due to regulatory issues, I cannot store my HR data off-premise” Molecule Research Clinical Trial
“Packaged” Application Big Pharmaceutical Example Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP CRM Email HR System “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” “I wish I had access to cheaper compute and storage when I need it” Molecule Research Clinical Trial
“Packaged” Application Big Pharmaceutical Example Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP CRM Email HR System “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” Molecule Research “THIS is where I want to spend my IT resources – I’m going to double down on this application!” Clinical Trial
Architectural Blueprints
Architectural Blueprints
Architectural Blueprints Physical, Dedicated Single service on dedicated hardware Physical, Shared Multiple services sharing same hardware Physical, HPC Physical hardware supporting HPC scenario Virtual, Single Single instance virtual image Virtual, Shared Multiple instance virtual image
Architectural Blueprints Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
Architectural Blueprints
Architectural Blueprints Authentication Username / Password or claims based Role Based Authorization Role-checking and authorization
Architectural Blueprints
Architectural Blueprints Event Based Triggered based on events (e.g. document upload) High Throughput Low latency, high volume (e.g. trading confirmations)
Architectural Blueprints
Architectural Blueprints
Architectural Blueprints Search Text Search, Image Search, Indexing Content Management Indexing, Retrieval, Conflict Management Social Social Graphs, Profiles
Architectural Blueprints
Architectural Blueprints Transaction Pay for each transaction Subscription Pay per month/period Licensing Pay per user/machine Advertising Advert funded model
Architectural Blueprints
Architectural Blueprints Service Composition Composition, brokering results, aggregation Line of Business Integration Service wrapping of mainframe and other LOB applications
Architectural Blueprints
Architectural Blueprints Business Logic (Rules) Entities (Schema) Workflow (Process)
Architectural Blueprints
Architectural Blueprints Static Static content, HTML etc Dynamic Asynchronous interaction, AJAX etc. RIA Rich Internet Applications, high visuals, limited offline support Streaming Optimized for content delivery, videos etc.
Architectural Blueprints
Architectural Blueprints RSS Syndication services for subscriptions REST CRUD access to services via HTML Web Services SOAP based, WS-I compliant, WS-*
Architectural Blueprints VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
Architectural Blueprints
Architectural Blueprints
Architectural Blueprints Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine Gadgets Locally installed, desktop based Instant Messaging Locally installed Instant Messaging client
Architectural Blueprints
Architectural Blueprints Speech Speech enabled interface SMS / IM Text messaging and IM using Mobile Device Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine
Architectural Blueprints
Architectural Blueprints Devices Dedicated devices Consoles Games Consoles
Architectural Blueprints
Architectural Trends
Architectural Trends How can we analyze our architectures using these layers and components?
Static Web Site, On Premise
Static Web Site, On Premise (Add Content Mgt)
Static Web Site, On Premise (Add Search/Social)
Static Web Site, On Premise (Add Ad Service)
Static Web Site, On Premise (Move to Hoster)
Static Web Site, On Premise (Add AJAX)
Static Web Site, On Premise (Add Mobile RSS)
Architectural Trends How about the trends we talked about earlier?
Architectural Trends Trend 1: Service Oriented Architecture (SOA)
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Architectural Trends Trend 2: Software as a Service (SaaS)
Trend 2: SaaS – Web Based SaaS Provider
Trend 2: SaaS – Web Based SaaS Provider
Trend 2: SaaS – Web Based SaaS Provider
Architectural Trends Trend 3: Web 2.0
Trend 3: Web 2.0 – Social Networking Site
Trend 3: Web 2.0 – Social Networking Site
Architectural Trends Trend 4: Rich Internet Applications
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Architectural Trends Trend 5: Cloud Computing
Trend 5: Cloud Computing – Backup Provider
Trend 5: Cloud Computing – Backup Provider
Trend 5: Cloud Computing – Backup Provider
Architectural Trends How about Microsoft’s own products?
Windows Live Mesh CTP (Current, Primary)
Exchange Lifecycle (Exchange 4.0, Outlook 97) RPC JET Database
Exchange Lifecycle (Exchange 5.0, Outlook 97) RPC Active Directory JET Database
Exchange Lifecycle (Exchange 5.0 SP1, Outlook XP) OWA RPC Active Directory JET Database
Exchange Lifecycle (Exchange 2003, Outlook 2003) OWA RPC over HTTPS Active Directory JET Database
Exchange Lifecycle (Exchange 2007, Outlook 2007) OWA Active Directory JET Database
Exchange Lifecycle (Hosted Exchange, Outlook 2007) OWA Active Directory JET Database
Architectural Challenges
“Packaged” Application Big Pharmaceutical Example Hosted “Packaged” “Packaged” using cloud “Software as a Service” ERP CRM Email HR System “Home Built” Application Hosted “Home Built” “Home Built” using cloud “Platform as a Service” Molecule Research Clinical Trial
Architectural Challenges Challenge 1 - Identity
Challenge 1 - Identity
Challenge 1 - Identity
Challenge 1 - Identity
Accessing Hosted Assets with Internal Credentials
AuthN and AuthZ across FW
Credential Storage
Challenge 1 - Identity
Issuing Authority
Relying Party
Authentication Assurance
STS-I STS-R
“A Cloudy World” Example Clinical trial patients employees IT STS (big pharma instance in purple) Hosted ERP @ Hoster Directory The “Cloud” (big pharma data in purple) Management CRM Online Big Pharma “on premise” Firewall Cloud Storage STS Relay Cloud Compute Clinical trial software Internet Service Bus (Connectivity) Internet Service Bus (Identity) (new molecule research in purple) Cloud Platform
Architectural Challenges Challenge 2 – Data
Challenge 2 - Data
Challenge 2 - Data
Import and Export of Data
Privacy of External Data
Reporting and Analytics
Database of Record
Architectural Challenges Challenge 3 – Management
Challenge 3 - Management
Challenge 3 - Management
Holistic View of Application?
Integration into existing System Management solutions?
Contracts and SLAs
Architectural Blueprints – Next Steps
Architectural Blueprints – Next Steps Step 1 – Use the “blueprints” to decompose and recompose existing applications
Architectural Blueprints – Next Steps Step 2 – Get the right people involved
Architectural Blueprints – Next Steps Solutions Architect and Development Team (inc. Designer) Solutions Architect and Development Team (inc. Web Design) Solutions Architect and Development Team Enterprise Architect and CIO Data Center Operations Solutions and Infrastructure Architect Infrastructure Architect / Data Center Operations
Architectural Blueprints – Next Steps Step 3 – Understand the Technology Mappings
Architectural Blueprints – Next Steps XBOX 360 Win Embed .NET CF IE Windows Mobile Office WPF Windows OC IIS SL Streaming WCF .NET Framework BizTalk MOSS BTS Adapters MOSS BDC Ad Center .NET Framework 3rd Party IIS SQL Server SSDS AD / ADFS ILM BizTalk / BizTalk.Net Mesh CTP Windows WF MOSS Windows WF BizTalk Server Windows Server WS HPC Windows Server Hyper-V
In this session, we will survey the modern architec more
In this session, we will survey the modern architecture landscape from the ground up, including infrastructure, application, and client solution choices. We'll discuss how current industry trends are shaping our architectures and present an innovative architecture mapping technique for analyzing our customer's needs and aligning them to today's technologies and solution patterns. less
0 comments
Post a comment