Distributed Systems Design

50 %
50 %
Information about Distributed Systems Design
Technology

Published on February 28, 2014

Author: DennisvanderStelt

Source: slideshare.net

Description

Distributed Systems Design presentation as presented at Blaak Selectie on February 27th.

DISTRIBUTED SYSTEMS DESIGN brains might melt… mine did! @dvdstelt #blaak Dennis van der Stelt Software Architect http://dennis.bloggingabout.net/ dennis@bloggingabout.net NServiceBus Community Champ Dennis van der Stelt

slide heb ik er zelf tussen gezet voor kudos richting mark & sandra! ;-) Dennis van der Stelt

Dennis van der Stelt

AGENDA Dennis van der Stelt

“You know nothing, Jon Snow” Dennis van der Stelt

Dennis van der Stelt

8 fallacies distribute d Deutsch computin Gosling g Dennis van der Stelt

11 fallacies distribute Neward d computin g Dennis van der Stelt

why all the layers? Separation of concerns Flexibility & Reusability Scalability Dennis van der Stelt

monolithic A monolithic design is characterized by such tight coupling among modules that they really have no independent existence. Dennis van der Stelt

Which layer has the worst coupling? question

Dennis van der Stelt

reduce coupling

coupling aspects Platform Temporal Spatial Dennis van der Stelt

PLATFORM Also known as ‘interoperability’ http, json, xml, xsd, etc… Dennis van der Stelt

TEMPORAL Store Front End Shipping Service Dennis van der Stelt

TEMPORAL Store Front End Shipping Service Dennis van der Stelt

TEMPORAL Store Front End Order Queue Shipping Service Dennis van der Stelt

TEMPORAL Store Front End Order Queue Shipping Service Dennis van der Stelt

TEMPORAL Store Front End Order Queue Shipping Service Dennis van der Stelt

SPATIAL Dennis van der Stelt

SPATIAL .net application .net application ShipOrder AssignTask Dennis van der Stelt

Messaging  Reduces spatial coupling  XML for platform coupling  Asynchronous for temporal coupling Dennis van der Stelt

Messaging demo

PERFORMANCE RPC versus Messaging Dennis van der Stelt

service oriented architecture Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Tenets  services are autonomous of service orientation boundaries are explicit share schema & contract, not class & type compatibility is based on policy Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

SERVICE ORIENTATION AT RUNTIME Dennis van der Stelt

Don’t do request/reply Dennis van der Stelt

Dennis van der Stelt

Don’t do request/reply Dennis van der Stelt

publish events Dennis van der Stelt

PUBLISH EVENTS Save event status locally Save event status locally Customer Disabled Subscribe to customer status updates Unpaid Invoices Subscribe invoice updates Retrieve companies Dennis van der Stelt

what is the best pizza?

TEMPORAL COUPLING Synchronous communication Place new order DoesCompanyHaveCredit(companyId) Company Order accepted Dennis van der Stelt

TEMPORAL COUPLING Asynchronous communication Place new order DoesCompanyHaveCredit(companyId) GotData? GotData? :) GotData? Order accepted Dennis van der Stelt

TEMPORAL COUPLING Event Driven Communication Publish CompanyHasCredit status Store data Place new order Order accepted Dennis van der Stelt

A service is the technical authority of a specific business capability Dennis van der Stelt

SOA & EDA Dennis van der Stelt

the ui is more than meets the eye Dennis van der Stelt

WHO OWNS THIS SCREEN? Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Dennis van der Stelt

Now that is a tasty idea Dennis van der Stelt

WTF? Dennis van der Stelt

Service Business Component Business Component Dennis van der Stelt

strategic customer regular customer Sales Service Ordering Warehouse Service Shipping Product Service Products Dennis van der Stelt

strategic customer regular customer Sales Service Ordering Warehouse Service Shipping Product Service Products Dennis van der Stelt

strategic customer regular customer Sales Service Ordering Regular Customers ? Strategic Customers Warehouse Service Shipping Product Service Products Dennis van der Stelt

strategic customer regular customer Sales Service Ordering subscribe Regular Customers Strategic Customers Warehouse Service Shipping Product Service Products Dennis van der Stelt

strategic customer regular customer Sales Service Ordering publish Regular Customers Strategic Customers Warehouse Service Shipping Product Service Products Dennis van der Stelt

strategic customer regular customer Sales Service Ordering Warehouse Service Shipping Product Service Products Dennis van der Stelt

ARCHITECTURAL STYLES Sales Service Ordering 3 Tier Warehouse Service Shipping CQRS & Event Sourcing Product Service Products CRUD Dennis van der Stelt

Dennis van der Stelt

A service is the technical authority of a specific business capability If you share data over services you likely have your boundaries wrong Dennis van der Stelt

race conditions do not exist

system that never goes down Dennis van der Stelt

juniors building to scale Dennis van der Stelt

Dennis van der Stelt

SOA is business agility

find me. http://dennis.bloggingabout.net dvdstelt@outlook.com Dennis van der Stelt

Add a comment

Related presentations

Related pages

Distributed Systems: Concepts and Design: Amazon.de ...

Distributed Systems: Concepts and Design: Amazon.de: George Coulouris, Jean Dollimore, Tim Kindberg: Fremdsprachige Bücher
Read more

Introduction to Distributed System Design - Google Code ...

Failure is the defining difference between distributed and local programming, so you have to design distributed systems with the expectation of failure.
Read more

Distributed Systems: Concepts and Design (5th Edition ...

Distributed Systems: Concepts and Design (5th Edition) [George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair] on Amazon.com. *FREE* shipping on ...
Read more

Distributed operating system - Wikipedia, the free ...

A distributed operating system is a software over a collection of independent, networked, communicating, and physically separate computational nodes. [1]
Read more

protocols - How to design and verify distributed systems ...

I learned a lot by looking at what is published about really huge web-based plattforms, and especially how their systems evolved over time to meet their ...
Read more

Distributed Systems | Concepts and Design, Fifth Edition

New to the fifth edition. New chapters: Indirect Communication: Covering group communication, publish-subscribe and case studies on JavaSpaces, JMS ...
Read more

Designing Distributed Systems - The Artima Developer Community

Designing Distributed Systems A Conversation with Ken Arnold, ... When you design distributed systems, you have to say, "Failure happens all the time."
Read more

Chapter 1: Distributed Systems: What is a distributed system?

Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju . ... Distributed Systems, Concepts and Design; Addison-Wesley 2005
Read more

Overview of Distributed System Designers

In Visual Studio Team System Architecture Edition, Distributed System Designers are an integrated set of graphical designers that help application ...
Read more

Distributed System Design Suite

Design and Architecture Distributed System Design Suite. Distributed System Design Suite. Distributed System Design Suite. Building a DSL for an Existing ...
Read more