integrating with unreliable services

Post on 15-Jan-2015

88 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

I originally gave this talk at an IASA Ignite! evening. The slides were set to auto-advance after 15 seconds, which was quite exciting!

TRANSCRIPT

Integrating with unreliable services

Christopher Marsh

Integrating with services is easy...

...staying integrated is hard

A successful technical architecture

Needs a matching team architecture

Conway's law states:...organisations which design systems [...] are constrained to produce designs which

are copies of the communication structures of these organisations.

Research supporting Conway's law

Harvard Business School: http://www.hbs.edu/research/pdf/08-039.pdf

Microsoft Research: http://research.microsoft.com/apps/pubs/default.aspx?id=70535

Architect for reliabilityInsulate the application from volatile

services

Provide a suitable abstractionService Gateway

Service Access Layer

Anti Corruption Layer

Producing actual softwareImplement functionality through vertical slices

"Trench" architectureDevelop architectural view of system

Work directly with software engineers to implement

Broken down by component cmp Component Model

Application

Serv ice Gateway

Web Serv ice

Broken down by package cmp Component Model

Application

Class1Class 2

DomainEntity

Serv ice Gateway

so2so1Facade

Observable design cmp Component Model

Stuff

Break down the team

ConstraintsGateway team is service customer

ConstraintsApplication team is gateway customer

ConstraintsSeparate, dependent builds

BenefitsRecognisable architectural patterns

BenefitsClear team responsibilities

BenefitsEasier to maintain

Respect Conway's LawBuild reliable applications

Thank you!Questions?

top related