• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
DevLink - Architecting Modern Distributed Applications
 

DevLink - Architecting Modern Distributed Applications

on

  • 2,160 views

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 ...

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.

Statistics

Views

Total Views
2,160
Views on SlideShare
2,116
Embed Views
44

Actions

Likes
1
Downloads
56
Comments
0

2 Embeds 44

http://www.notsotrivial.net 43
http://www.devlink.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • STS = secure token service

DevLink - Architecting Modern Distributed Applications 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
  • Architectural Blueprints
  • Architectural Blueprints
    File
    Fileshare, flat, page-based
    Relational
    Hosted relational database, familiar, transactional, finite
    Unstructured
    Key/value Pair, no atomicity, infinitely scalable
  • Architectural Blueprints
  • 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
  • Architectural Blueprints – Next Steps
    Step 4 – Document repeatable patterns
  • Architectural Blueprints – Next Steps
  • Architectural Blueprints – Next Steps
  • Thank you!
    Clint Edmonson
    Architect Evangelist
    Microsoft
    Email: clinted@microsoft.com
    Web: http://www.notsotrivial.net
    Twitter: @clinted