The	
  Enterprise	
  Architecture	
  you	
  
always	
  wanted	
  has	
  been	
  hiding	
  in	
  
plain	
  sight	
  since	
...
Or:	
  A	
  Billion	
  TransacDons	
  Per	
  Month	
  
Using	
  the	
  Web	
  for	
  Enterprise	
  Heavy	
  LiLing	
  
Jim...
Today’s	
  Enterprise	
  Architecture	
  
“SOA:	
  Principles	
  of	
  Service	
  Design	
  underwent	
  	
  
a	
  thorough	
  technical	
  review	
  involving	
  o...
Tomorrow’s	
  Enterprise	
  Architecture	
  
BPM	
  
Services	
  
Business	
  
Service	
  
Data	
  
Service	
  

Business	...
Nirvana	
  Enterprise	
  Architecture,	
  or…	
  
BPM	
  
Service	
  

Business	
  
Service	
  

Business	
  
Service	
  
...
ESB	
  -­‐	
  Erroneous	
  SpagheU	
  Box?	
  
Enterprise	
  Service	
  Bus	
  
 	
  	
  	
  	
  
But	
  we	
  sDll	
  do	
  it.	
  
Why?	
  
Because	
  it’s	
  “less	
  risky”	
  
Why?	
  
Because	
  that’s	
  what	
  the	
  market	
  does	
  
Why?	
  
Because	
  we	
  need	
  the	
  -­‐iliDes	
  
So	
  let’s	
  talk	
  about	
  those	
  -­‐iliDes	
  
Web	
  Scale!	
  
Tradi'onal	
  Enterprise	
  	
  Security	
  
%*"1-,*(

%*"1-,*(

"*%'3",*%(

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

End	
  to	
  End	
  Secure	
  
Messaging	
  

"*%'3",*%(
%*,3"-!4(
-$!...
!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)

!"#$%&'()*+,"-)!"%.&#")
/0!1*%$2'3)

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

4+5&#()

!"#$%&'()
*+,"-)
657&...
…you	
  
wouldn’t	
  
use	
  it	
  at	
  
home!	
  
(#")*"'+",-".&"'
!",-".&"'&#")*"/'
8"++)9"2'!",34':'5'

8"++)9"2'!",34':'3'
!"#$%&"'

!"#$%&"'
8"++)9"2'!",34':'3';'5'
0&1...
Bottleneck	

2#)*+)&,-*'
&--#3%*)(-#'

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

Crash
recovery?	

No trust	

Denial of
Service	

!"#$%&"'

!"#$...
<message name="SayHelloRequest">
<part name="firstName" type="xsd:string"/>
</message>
<message name="SayHelloResponse">
<...
Verbs	
  

Media	
  
Types	
  

	
  
Status	
  codes

The	
  Web	
  is	
  a	
  coordina'on	
  pla<orm	
  
A	
  Case	
  Study	
  
Client	
  
•  UK-­‐based	
  telecoms	
  service	
  provider	
  
•  Global	
  customers	
  (no	
  ea...
Plaaorm	
  Architecture	
  

Carrier	
Carrier	
Carrier	
Carrier	

Bottleneck	

Gateway	

Nightmare!	

Integration
Database...
*
The	
  £10	
  Million	
  SoluDon	
  

“Queue”	
Database	

Gateway	

Carrier	
Carrier	
Carrier	
Carrier	

Shared
Filesyst...
ThoughtWorks	
  was	
  given	
  the	
  output	
  from	
  a	
  
previous	
  enterprise	
  consultancy…	
  
…and	
  told	
  ...
Think	
  
differently!	
  
(or	
  even	
  just	
  stop	
  and	
  think)	
  
Architecture is still important
Agile	
  EA:	
  PrioriDse	
  Service	
  Delivery	
  
Start by
fixing
storage	

Carrier	
Carrier	
Carrier	
Carrier	

Gatewa...
Storage	
  Manager	
  Project	
  Delivery	
  
Small	
  team	
  

Java	
  solu'on	
  

3	
  Week	
  Incep'on	
  

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

Encapsulates
storage
detail!	
Fast!	
Free!	
...
What	
  is	
  going	
  on	
  
with	
  these	
  peaks?	
  
here?	
  
Hypothesis	
  
Directories	
  are	
  becoming	
  full,	
  slowing	
  
random	
  access	
  to	
  files	
  
PredicDon	
  
A	
  single	
  directory	
  will	
  result	
  in	
  
linearly	
  degrading	
  performance	
  
Outcome	
  
Adapt	
  the	
  directory	
  structure	
  to	
  take	
  
advantage	
  of	
  the	
  underlying	
  file	
  
syste...
Improving	
  Enterprise	
  Architecture	
  

Carrier	
Carrier	
Carrier	
Carrier	

Reduced
Load	

Gateway	

Integration
Dat...
Storage	
  Manager	
  Benefits	
  
•  Immediate	
  reduced	
  load	
  on	
  integraDon	
  
database	
  
•  Enabled	
  remov...
What ’s	
  wrong	
  w
it

h	
  this	
  picture?	
  

Scalable!!

Storage
Manager!

Voice to
Text
Algorithms!
Just shoehorn...
What	
  if…	
  
We	
  took	
  our	
  inspiraDon	
  from	
  
successful	
  Web-­‐scale	
  companies?	
  
What	
  if…	
  
And	
  took	
  the	
  Dme	
  to	
  understand	
  our	
  
SLAs?	
  
What	
  if…	
  
And	
  picked	
  the	
  right	
  technology	
  
soluDon?	
  
Not	
  just	
  the	
  one	
  we’re	
  being	
...
What	
  if…	
  
We	
  built	
  a	
  scalable	
  compute	
  
plaaorm?	
  
Grid	
  Project	
  Delivery	
  
Larger	
  team	
  

Java	
  solu'on	
  

3.5	
  Week	
  Incep'on	
  

Performance	
  tes'n...
Web-­‐friendly	
  Architecture	
  
(very	
  wallet-­‐friendly!)	
  

Fault
Tolerant	

ASR	

ASR	

ASR	

ASR	

Fault
Tolera...
Improving	
  Enterprise	
  Architecture	
  
Scalable Processing Platform	

Carrier	
Carrier	
Carrier	
Carrier	

Massively
...
Grid	
  Benefits	
  
• 
• 
• 
• 
• 

Scalable,	
  resilient	
  plaaorm	
  
Aligned	
  with	
  business	
  goals	
  
Further...
£10,000,000	
Up-Front Cost of Bus Architecture
£1,000,000	
Actual Cost of Completed Project
£0	
Cost of Middleware
The	
  Web	
  works	
  
And	
  its	
  economies	
  
of	
  scale	
  eclipse	
  
your	
  vendors’	
  
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
Upcoming SlideShare
Loading in …5
×

The Enterprise Architecture You Always Wanted

851 views

Published on

  • How come there are no comments on this slide share. I heard Jim's webinar in 2010 and has immensely influenced my thoughts on how an architecture should be. I came back looking for this webinar and found it here. This deck must be discussed in every nook-and-corner of architectural streets. Anyone have idea, where can I find the audio for this webinar?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

The Enterprise Architecture You Always Wanted

  1. 1. The  Enterprise  Architecture  you   always  wanted  has  been  hiding  in   plain  sight  since  1991     Jim  Webber   h<p://jim.webber.name   Twi<er:  @jimwebber  
  2. 2. Or:  A  Billion  TransacDons  Per  Month   Using  the  Web  for  Enterprise  Heavy  LiLing   Jim  Webber   h<p://jim.webber.name   Twi<er:  @jimwebber  
  3. 3. Today’s  Enterprise  Architecture  
  4. 4. “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    
  5. 5. Tomorrow’s  Enterprise  Architecture   BPM   Services   Business   Service   Data   Service   Business   Service   Data   Service   Data   Service   Business   Service   Data   Service   Data   Service  
  6. 6. Nirvana  Enterprise  Architecture,  or…   BPM   Service   Business   Service   Business   Service   Business   Service   ESB   Basic   Service   Basic   Service   Basic   Service   Basic   Service   Basic   Service  
  7. 7. ESB  -­‐  Erroneous  SpagheU  Box?   Enterprise  Service  Bus  
  8. 8.          
  9. 9. But  we  sDll  do  it.  
  10. 10. Why?   Because  it’s  “less  risky”  
  11. 11. Why?   Because  that’s  what  the  market  does  
  12. 12. Why?   Because  we  need  the  -­‐iliDes  
  13. 13. So  let’s  talk  about  those  -­‐iliDes  
  14. 14. Web  Scale!  
  15. 15. Tradi'onal  Enterprise    Security  
  16. 16. %*"1-,*( %*"1-,*( "*%'3",*%( .*/(0*"1-,*(2'+-,( End  to  End  Secure   Messaging   "*%'3",*%( %*,3"-!4( -$!*")*5-#"4( 2'+-,#2( &'-$!6!'6&'-$!( )*%%#+*(!"#$%7*"( %*,3"-!4( -$!*")*5-#"4( .*/(0*"1-,*(2'+-,( )*%%#+*(&"',*%%-$+( )*%%#+*(&"',*%%-$+( !"#$%&'"!( !"#$%&'"!( !"&/#%*0'123"4'!"#$%&"' ?@!A1#/)*B' ()*+,-%).'!"&/#%*0'123"4'524*"6*' )"&/#"'&24*"6*' End  to  End  Secure   ConversaDons   !%74"89"4&#0:*"8';)7'*#+4)<"#' !"#$%&"' !"#$%&"' ="4">9+;"48')"&/#%*0'&24*"6*'*23"4' !%74"89"4&#0:*"8';)7'*#+4)<"#' 5+4&"-9"6:%#"')"&/#%*0'&24*"6*'*23"4'
  17. 17. !"#$%&'()*+,"-)!"%.&#") /0!1*%$2'3) !"#$%&'()*+,"-)!"%.&#") /0!1*%$2'3) !"#$%&'() *+,"-) 4+5&#() !"#$%&'() *+,"-) 657&8) 657&8) 657&8) 4+5&#() 657&8) 657&8) 657&8) Security  Tokens   and  claims   !"#$%&'()*+,"-)!"%.&#") /0!1*%$2'3) !"#$%&'() *+,"-) 4+5&#() 657&8) 657&8) 657&8) !"#$%&'(' FederaDng  access   with  tokens   !"#$%&')' *+',$-%.$/0'120.0&3$-4' =.0&3/>' ?2"<%.02'@A6AB' =.0&3/>' C2"<%.02'@A6AB' D+'E0/'6"F0&' G+',$-%.$/0' 120.0&3$-4' :0;8043&9' 402<%10' :0;8043&9' 402<%10' 5+'62$&4702'401820'#044$90'
  18. 18. …you   wouldn’t   use  it  at   home!  
  19. 19. (#")*"'+",-".&"' !",-".&"'&#")*"/' 8"++)9"2'!",34':'5' 8"++)9"2'!",34':'3' !"#$%&"' !"#$%&"' 8"++)9"2'!",34':'3';'5' 0&12'!",34'56375' <"+"./2'!",34':'32'0&1'<",-"+*"/' !",-".&"'0&12'56'3' =./'
  20. 20. Bottleneck 2#)*+)&,-*' &--#3%*)(-#' /0%"*(')110%&),-*' Crash recovery? No trust Denial of Service !"#$%&"' !"#$%&"' !"#$%&"' (#)*+)&,-*'&-*(".(' 67+%*"++'&-41-*"*('%*("#)&,-*+' 2#)*+)&,-*'&-*(#-0'4"++)5"+'
  21. 21. <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  World!   <?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">
  22. 22. Verbs   Media   Types     Status  codes The  Web  is  a  coordina'on  pla<orm  
  23. 23. 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  
  24. 24. Plaaorm  Architecture   Carrier Carrier Carrier Carrier Bottleneck Gateway Nightmare! Integration Database Post Processing Fix things up here Where’s my file gone? Shared Filesystem Voice to Text Algorithms Shoehorn it in that other program
  25. 25. * The  £10  Million  SoluDon   “Queue” Database Gateway Carrier Carrier Carrier Carrier Shared Filesystem Enterprise Service Bus Post Processing *  SoluDon  does  not  include  actual  implementaDon   Voice to Text Algorithms
  26. 26. ThoughtWorks  was  given  the  output  from  a   previous  enterprise  consultancy…   …and  told  to  “do  that,  but  cheaper”  
  27. 27. Think   differently!   (or  even  just  stop  and  think)  
  28. 28. Architecture is still important
  29. 29. Agile  EA:  PrioriDse  Service  Delivery   Start by fixing storage Carrier Carrier Carrier Carrier Gateway Integration Database Post Processing Shared Filesystem Voice to Text Algorithms
  30. 30. Storage  Manager  Project  Delivery   Small  team   Java  solu'on   3  Week  Incep'on   Performance  tes'ng   throughout   14  itera'ons   –  See  Jones  and  Kua  paper,   Agile  2009   Con'nuously  built  and   deployed  for  tes'ng  
  31. 31. Web-­‐friendly  Architecture   (mostly  wallet-­‐friendly  too!)   Encapsulates storage detail! Fast! Free! Cacheable! Jboss/Tomcat Optimised disk access! Storage Manager GPFS SAN Spend £ on the right Infrastructure Optimised server config
  32. 32. What  is  going  on   with  these  peaks?   here?  
  33. 33. Hypothesis   Directories  are  becoming  full,  slowing   random  access  to  files  
  34. 34. PredicDon   A  single  directory  will  result  in   linearly  degrading  performance  
  35. 35. Outcome   Adapt  the  directory  structure  to  take   advantage  of  the  underlying  file   system  
  36. 36. Improving  Enterprise  Architecture   Carrier Carrier Carrier Carrier Reduced Load Gateway Integration Database Post Processing “She’ll be right” Scalable! Storage Manager Voice to Text Algorithms Just shoehorn it in that other program
  37. 37. 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  
  38. 38. What ’s  wrong  w it h  this  picture?   Scalable!! Storage Manager! Voice to Text Algorithms! Just shoehorn it in that other program!
  39. 39. What  if…   We  took  our  inspiraDon  from   successful  Web-­‐scale  companies?  
  40. 40. What  if…   And  took  the  Dme  to  understand  our   SLAs?  
  41. 41. What  if…   And  picked  the  right  technology   soluDon?   Not  just  the  one  we’re  being  sold?  
  42. 42. What  if…   We  built  a  scalable  compute   plaaorm?  
  43. 43. Grid  Project  Delivery   Larger  team   Java  solu'on   3.5  Week  Incep'on   Performance  tes'ng   throughout   18  itera'ons   Con'nuously  built  and   deployed  for  tes'ng  
  44. 44. Web-­‐friendly  Architecture   (very  wallet-­‐friendly!)   Fault Tolerant ASR ASR ASR ASR Fault Tolerant Grid Pipeline Just HTTP Embedded Jetty Embedded Jetty Embedded Jetty Embedded Jetty Embedded Jetty Grid Manager Grid Manager Grid Manager Grid Manager Grid Manager £0 Software Infrastructure Just HTTP Sustainable container for business logic ASR ASR ASR Grid Pipeline ASR
  45. 45. Improving  Enterprise  Architecture   Scalable Processing Platform Carrier Carrier Carrier Carrier Massively Reduced Load Gateway Integration Database Post Processing “She’ll be right” Scalable! Storage Manager Grid Scalable, sustainable!
  46. 46. 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!  
  47. 47. £10,000,000 Up-Front Cost of Bus Architecture
  48. 48. £1,000,000 Actual Cost of Completed Project
  49. 49. £0 Cost of Middleware
  50. 50. The  Web  works   And  its  economies   of  scale  eclipse   your  vendors’  

×