the enterprise architecture you always wanted

72
The Enterprise Architecture you always wanted has been hiding in plain sight since 1991 Jim Webber h<p://jim.webber.name Twi<er: @jimwebber

Upload: thoughtworks

Post on 07-Sep-2014

214 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: The Enterprise Architecture You Always Wanted

The  Enterprise  Architecture  you  always  wanted  has  been  hiding  in  

plain  sight  since  1991    Jim  Webber  

h<p://jim.webber.name  

Twi<er:  @jimwebber  

Page 2: The Enterprise Architecture You Always Wanted

Or:  A  Billion  TransacDons  Per  Month  Using  the  Web  for  Enterprise  Heavy  LiLing  

Jim  Webber  h<p://jim.webber.name  

Twi<er:  @jimwebber  

Page 3: The Enterprise Architecture You Always Wanted
Page 4: The Enterprise Architecture You Always Wanted

Today’s  Enterprise  Architecture  

Page 5: The Enterprise Architecture You Always Wanted
Page 6: The Enterprise Architecture You Always Wanted

“SOA:  Principles  of  Service  Design  underwent    a  thorough  technical  review  involving  over    60  reviewers  from  different  vendors,  organiza3ons,  and  professions  across  North  America,  Europe,  and  Asia.  The  book  has  been  formally  endorsed  by  members  of  major  SOA  vendors,  including  IBM,  MicrosoC,  Oracle,    BEA,  and  Intel.”  

                     -­‐-­‐  Thomas  Erl    

Page 7: The Enterprise Architecture You Always Wanted

Tomorrow’s  Enterprise  Architecture  

BPM  Services  

Business  Service  

Data  Service  

Business  Service  

Data  Service  

Data  Service  

Business  Service  

Data  Service  

Data  Service  

Page 8: The Enterprise Architecture You Always Wanted

Nirvana  Enterprise  Architecture,  or…  

BPM  Service  

Business  Service  

Business  Service  

ESB  

Basic  Service  

Basic  Service  

Basic  Service  

Basic  Service  

Basic  Service  

Business  Service  

Page 9: The Enterprise Architecture You Always Wanted

ESB  -­‐  Erroneous  SpagheU  Box?  

Enterprise  Service  Bus  

Page 10: The Enterprise Architecture You Always Wanted
Page 11: The Enterprise Architecture You Always Wanted

         

Page 12: The Enterprise Architecture You Always Wanted
Page 13: The Enterprise Architecture You Always Wanted

But  we  sDll  do  it.  

Page 14: The Enterprise Architecture You Always Wanted

Why?  

Because  it’s  “less  risky”  

Page 15: The Enterprise Architecture You Always Wanted

Why?  

Because  that’s  what  the  market  does  

Page 16: The Enterprise Architecture You Always Wanted

Why?  

Because  we  need  the  -­‐iliDes  

Page 17: The Enterprise Architecture You Always Wanted

So  let’s  talk  about  those  -­‐iliDes  

Page 18: The Enterprise Architecture You Always Wanted
Page 19: The Enterprise Architecture You Always Wanted
Page 20: The Enterprise Architecture You Always Wanted

Web

 Scale!  

Page 21: The Enterprise Architecture You Always Wanted

Trad

i'on

al  Enterprise    Security  

Page 22: The Enterprise Architecture You Always Wanted

!"#$%&'"!(

)*%%#+*(&"',*%%-$+(

.*/(0*"1-,*(2'+-,(

"*%'3",*%(

%*,3"-!4(

-$!*")*5-#"4(

%*"1-,*(

!"#$%&'"!(

)*%%#+*(&"',*%%-$+(

.*/(0*"1-,*(2'+-,(

"*%'3",*%(

%*"1-,*(

2'+-,#2(

&'-$!6!'6&'-$!(

)*%%#+*(!"#$%7*"(

%*,3"-!4(

-$!*")*5-#"4(

!"#$%&"' !"#$%&"'

()*+,-%).'!"&/#%*0'123"4'524*"6*'

)"&/#"'&24*"6*'

!%74"89"4&#0:*"8';)7'*#+4)<"#'

="4">9+;"48')"&/#%*0'&24*"6*'*23"4'

!"&/#%*0'123"4'!"#$%&"'

?@!A1#/)*B'

!%74"89"4&#0:*"8';)7'*#+4)<"#'

5+4&"-9"6:%#"')"&/#%*0'&24*"6*'*23"4'

End  to  End  Secure  Messaging  

End  to  End  Secure  ConversaDons  

Page 23: The Enterprise Architecture You Always Wanted

!"#$%&'(' !"#$%&')'

*+',$-%.$/0'120.0&3$-4'

5+'62$&4702'401820'#044$90'

:0;8043&9'

402<%10'

:0;8043&9'

402<%10'

=.0&3/>'

?2"<%.02'@A6AB'

=.0&3/>'

C2"<%.02'@A6AB'

D+'E0/'6"F0&'G+',$-%.$/0'

120.0&3$-4'

!"#$%&'()*+,"-)!"%.&#")

/0!1*%$2'3)

4+5&#()

!"#$%&'()

*+,"-)

657&8)657&8)657&8)

!"#$%&'()*+,"-)!"%.&#")

/0!1*%$2'3)

4+5&#()

!"#$%&'()

*+,"-)

657&8)657&8)657&8)

!"#$%&'()*+,"-)!"%.&#")

/0!1*%$2'3)

4+5&#()

!"#$%&'()

*+,"-)

657&8)657&8)657&8)

Security  Tokens  and  claims  

FederaDng  access  with  tokens  

Page 24: The Enterprise Architecture You Always Wanted
Page 25: The Enterprise Architecture You Always Wanted

…you  wouldn’t  use  it  at  home!  

Page 26: The Enterprise Architecture You Always Wanted
Page 27: The Enterprise Architecture You Always Wanted

!"#$%&"' !"#$%&"'

(#")*"'+",-".&"'

!",-".&"'&#")*"/'

0&12'!",34'56375'

8"++)9"2'!",34':'5'

8"++)9"2'!",34':'3'

8"++)9"2'!",34':'3';'5'

<"+"./2'!",34':'32'0&1'<",-"+*"/'

!",-".&"'0&12'56'3'

=./'

Page 28: The Enterprise Architecture You Always Wanted
Page 29: The Enterprise Architecture You Always Wanted

!"#$%&"'

(#)*+)&,-*'&-*(".('

!"#$%&"' !"#$%&"'

/0%"*(')110%&),-*'2#)*+)&,-*'

&--#3%*)(-#'

2#)*+)&,-*'&-*(#-0'4"++)5"+'

67+%*"++'&-41-*"*('%*("#)&,-*+'

Bottleneck

No trustCrash recovery?

Denial of Service

Page 30: The Enterprise Architecture You Always Wanted
Page 31: The Enterprise Architecture You Always Wanted

<?xml version="1.0" encoding="UTF-8"?> <definitions name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<message name="SayHelloRequest"> <part name="firstName" type="xsd:string"/> </message> <message name="SayHelloResponse"> <part name="greeting" type="xsd:string"/> </message>

<portType name="Hello_PortType"> <operation name="sayHello"> <input message="tns:SayHelloRequest"/> <output message="tns:SayHelloResponse"/> </operation> </portType>

<binding name="Hello_Binding" type="tns:Hello_PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="sayHello"> <soap:operation soapAction="sayHello"/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded"/> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded"/> </output> </operation> </binding>

<service name="Hello_Service"> <documentation>WSDL File for HelloService</documentation> <port binding="tns:Hello_Binding" name="Hello_Port"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions> Hello  W

orld!  

Page 32: The Enterprise Architecture You Always Wanted

The  Web  is  a  coordina'on  pla<orm  Status  cod

es   Verbs  

Med

ia  

Type

s  

Page 33: The Enterprise Architecture You Always Wanted
Page 34: The Enterprise Architecture You Always Wanted

A  Case  Study  

Client  •  UK-­‐based  telecoms  service  provider  •  Global  customers  (no  easy  downDme)  Problem  •  Scalability  and  system  resilience  issues  •  Huge  growth  curve  to  from  a  million  to  a  billion  messages  per  month  

•  Costs  

Page 35: The Enterprise Architecture You Always Wanted

Plaaorm  Architecture  

CarrierCarrierCarrierCarrier

Gateway

Voice to Text

Algorithms

Integration Database

Post Processing

Shared Filesystem

Bottleneck Nightmare! Where’s my file gone?

Shoehorn it in that other

program

Fix things up here

Page 36: The Enterprise Architecture You Always Wanted
Page 37: The Enterprise Architecture You Always Wanted

The  £10  Million  SoluDon  

CarrierCarrierCarrierCarrier

Gateway

Voice to Text

Algorithms

“Queue”Database

Post Processing

Shared Filesystem

Enterprise Service Bus

*

*  SoluDon  does  not  include  actual  implementaDon  

Page 38: The Enterprise Architecture You Always Wanted
Page 39: The Enterprise Architecture You Always Wanted

ThoughtWorks  was  given  the  output  from  a  previous  enterprise  consultancy…  

…and  told  to  “do  that,  but  cheaper”  

Page 40: The Enterprise Architecture You Always Wanted
Page 41: The Enterprise Architecture You Always Wanted

Think  differently!  

(or  even  just  stop  and  think)  

Page 42: The Enterprise Architecture You Always Wanted

Architecture is still important

Page 43: The Enterprise Architecture You Always Wanted

Agile  EA:  PrioriDse  Service  Delivery  

CarrierCarrierCarrierCarrier

Gateway

Voice to Text

Algorithms

Integration Database

Post Processing

Shared Filesystem

Start by fixing storage

Page 44: The Enterprise Architecture You Always Wanted
Page 45: The Enterprise Architecture You Always Wanted
Page 46: The Enterprise Architecture You Always Wanted
Page 47: The Enterprise Architecture You Always Wanted
Page 48: The Enterprise Architecture You Always Wanted

Storage  Manager  Project  Delivery  

Small  team  

3  Week  Incep'on  

14  itera'ons  

Java  solu'on  

Performance  tes'ng  throughout  –  See  Jones  and  Kua  paper,  Agile  2009  

Con'nuously  built  and  deployed  for  tes'ng  

Page 49: The Enterprise Architecture You Always Wanted

Web-­‐friendly  Architecture  (mostly  wallet-­‐friendly  too!)  

Storage Manager

Jboss/Tomcat

GPFS SAN

Cacheable!

Optimised disk access!

Optimised server config

Free!

Encapsulates storage detail!

Fast!

Spend £ on the right

Infrastructure

Page 50: The Enterprise Architecture You Always Wanted
Page 51: The Enterprise Architecture You Always Wanted
Page 52: The Enterprise Architecture You Always Wanted

What  is  going  on  here?  

What  is  going  on  with  these  peaks?  

Page 53: The Enterprise Architecture You Always Wanted

Hypothesis  

Directories  are  becoming  full,  slowing  random  access  to  files  

Page 54: The Enterprise Architecture You Always Wanted

PredicDon  

A  single  directory  will  result  in  linearly  degrading  performance  

Page 55: The Enterprise Architecture You Always Wanted
Page 56: The Enterprise Architecture You Always Wanted

Outcome  

Adapt  the  directory  structure  to  take  advantage  of  the  underlying  file  

system  

Page 57: The Enterprise Architecture You Always Wanted

Improving  Enterprise  Architecture  

CarrierCarrierCarrierCarrier Gateway

Voice to Text

Algorithms

Integration Database

Post Processing

Storage Manager

Reduced Load

Just shoehorn it in that

other program

“She’ll be right”

Scalable!

Page 58: The Enterprise Architecture You Always Wanted

Storage  Manager  Benefits  

•  Immediate  reduced  load  on  integraDon  database  

•  Enabled  removal  of  code  from  systems  

•  Delivered  business  value  by  keeping  customers  happy  

•  “The  best  soLware  we  have  ever  deployed”  – OperaDons  director   I’ll  come  back  to  this  

Page 59: The Enterprise Architecture You Always Wanted

What’s  wrong  with  this  picture?  

Voice to Text

Algorithms!

Storage Manager!

Just shoehorn it in that

other program!

Scalable!!

Page 60: The Enterprise Architecture You Always Wanted

What  if…  

We  took  our  inspiraDon  from  successful  Web-­‐scale  companies?  

Page 61: The Enterprise Architecture You Always Wanted

What  if…  

And  took  the  Dme  to  understand  our  SLAs?  

Page 62: The Enterprise Architecture You Always Wanted

What  if…  

And  picked  the  right  technology  soluDon?  

Not  just  the  one  we’re  being  sold?  

Page 63: The Enterprise Architecture You Always Wanted

What  if…  

We  built  a  scalable  compute  plaaorm?  

Page 64: The Enterprise Architecture You Always Wanted
Page 65: The Enterprise Architecture You Always Wanted

Grid  Project  Delivery  

Larger  team  

3.5  Week  Incep'on  

18  itera'ons  

Java  solu'on  

Performance  tes'ng  throughout  

Con'nuously  built  and  deployed  for  tes'ng  

Page 66: The Enterprise Architecture You Always Wanted

Web-­‐friendly  Architecture  (very  wallet-­‐friendly!)  

Grid Manager

Embedded Jetty

Grid Manager

Embedded Jetty

Grid Manager

Embedded Jetty

Grid Manager

Embedded Jetty

Grid Manager

Embedded Jetty

ASR ASR ASR ASR

Grid Pipeline

ASR ASR ASR ASR

Grid Pipeline

Just HTTP

Fault Tolerant

Fault Tolerant

Just HTTP

Sustainable container for business logic

£0Software

Infrastructure

Page 67: The Enterprise Architecture You Always Wanted

Improving  Enterprise  Architecture  

CarrierCarrierCarrierCarrier Gateway

Grid

Integration Database

Post Processing

Storage Manager

Massively Reduced Load

“She’ll be right”

Scalable!

Scalable, sustainable!

Scalable Processing Platform

Page 68: The Enterprise Architecture You Always Wanted

Grid  Benefits  

•  Scalable,  resilient  plaaorm  •  Aligned  with  business  goals  •  Further  reduced  load  on  integraDon  database  •  Set  architectural  pa<erns  •  Deliver  business  value  by  processing  more  messages  at  lower  cost  than  ever  before  

•  “The  best  soLware  we  have  ever  deployed”  – OperaDons  director   Be<er  every  Dme!  

Page 69: The Enterprise Architecture You Always Wanted

£10,000,000Up-Front Cost of Bus Architecture

Page 70: The Enterprise Architecture You Always Wanted

£1,000,000Actual Cost of Completed Project

Page 71: The Enterprise Architecture You Always Wanted

£0Cost of Middleware

Page 72: The Enterprise Architecture You Always Wanted

The  Web  works  

And  its  economies  of  scale  eclipse  your  vendors’