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	
  
ES...
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	
  
!"#$%&'"!(
)*%%#+*(&"',*%%-$+(
.*/(0*"1-,*(2'+-,(
"*%'3",*%(
%*,3"-!4(
-$!*")*5-#"4(
%*"1-,*(
!"#$%&'"!(
)*%%#+*(&"',*%%-$...
!"#$%&'(' !"#$%&')'
*+',$-%.$/0'120.0&3$-4'
5+'62$&4702'401820'#044$90'
:0;8043&9'
402<%10'
:0;8043&9'
402<%10'
=.0&3/>'
?...
…you	
  
wouldn’t	
  
use	
  it	
  at	
  
home!	
  
!"#$%&"' !"#$%&"'
(#")*"'+",-".&"'
!",-".&"'&#")*"/'
0&12'!",34'56375'
8"++)9"2'!",34':'5'
8"++)9"2'!",34':'3'
8"++)9"2'!"...
!"#$%&"'
(#)*+)&,-*'&-*(".('
!"#$%&"' !"#$%&"'
/0%"*(')110%&),-*'
2#)*+)&,-*'
&--#3%*)(-#'
2#)*+)&,-*'&-*(#-0'4"++)5"+'
67...
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="HelloService"
targetNamespace="http://www.ecerami.com/wsdl/Hello...
The	
  Web	
  is	
  a	
  coordina'on	
  pla<orm	
  Status	
  codes	
  
Verbs	
  
Media	
  
Types	
  
A	
  Case	
  Study	
  
Client	
  
•  UK-­‐based	
  telecoms	
  service	
  provider	
  
•  Global	
  customers	
  (no	
  ea...
Plaaorm	
  Architecture	
  
Carrier	
Carrier	
Carrier	
Carrier	
Gateway	
Voice to
Text
Algorithms	
Integration
Database	
P...
The	
  £10	
  Million	
  SoluDon	
  
Carrier	
Carrier	
Carrier	
Carrier	
Gateway	
Voice to
Text
Algorithms	
“Queue”	
Datab...
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	
  
Carrier	
Carrier	
Carrier	
Carrier	
Gateway	
Voice to
Text
Algorithms...
Storage	
  Manager	
  Project	
  Delivery	
  
Small	
  team	
  
3	
  Week	
  Incep'on	
  
14	
  itera'ons	
  
Java	
  solu...
Web-­‐friendly	
  Architecture	
  
(mostly	
  wallet-­‐friendly	
  too!)	
  
Storage Manager	
Jboss/Tomcat	
GPFS SAN	
Cach...
What	
  is	
  going	
  on	
  
here?	
  
What	
  is	
  going	
  on	
  
with	
  these	
  peaks?	
  
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	
Gateway	
Voice to
Text
Algorithms	
Integra...
Storage	
  Manager	
  Benefits	
  
•  Immediate	
  reduced	
  load	
  on	
  integraDon	
  
database	
  
•  Enabled	
  remov...
What’s	
  wrong	
  with	
  this	
  picture?	
  
Voice to
Text
Algorithms!
Storage
Manager!
Just shoehorn
it in that
other ...
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	
  
3.5	
  Week	
  Incep'on	
  
18	
  itera'ons	
  
Java	
  solu'on	
  
Per...
Web-­‐friendly	
  Architecture	
  
(very	
  wallet-­‐friendly!)	
  
Grid Manager	
Embedded Jetty	
Grid Manager	
Embedded J...
Improving	
  Enterprise	
  Architecture	
  
Carrier	
Carrier	
Carrier	
Carrier	
Gateway	
Grid	
Integration
Database	
Post
...
Grid	
  Benefits	
  
•  Scalable,	
  resilient	
  plaaorm	
  
•  Aligned	
  with	
  business	
  goals	
  
•  Further	
  red...
£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: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting
Upcoming SlideShare
Loading in …5
×

The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting

359 views

Published on

The Enterprise Architecture you always wanted has been hiding in plain sight since 1991. How to get to a Billion Transactions Per Month by using the Web for Enterprise Heavy Lifting

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
359
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

The Enterprise Architecture you always wanted: A Billion Transactions Per Month - Using the Web for Enterprise Heavy Lifting

  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   ESB   Basic   Service   Basic   Service   Basic   Service   Basic   Service   Basic   Service   Business   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. !"#$%&'"!( )*%%#+*(&"',*%%-$+( .*/(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  
  17. 17. !"#$%&'(' !"#$%&')' *+',$-%.$/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  
  18. 18. …you   wouldn’t   use  it  at   home!  
  19. 19. !"#$%&"' !"#$%&"' (#")*"'+",-".&"' !",-".&"'&#")*"/' 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' =./'
  20. 20. !"#$%&"' (#)*+)&,-*'&-*(".(' !"#$%&"' !"#$%&"' /0%"*(')110%&),-*' 2#)*+)&,-*' &--#3%*)(-#' 2#)*+)&,-*'&-*(#-0'4"++)5"+' 67+%*"++'&-41-*"*('%*("#)&,-*+' Bottleneck No trust Crash recovery? Denial of Service
  21. 21. <?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  World!  
  22. 22. The  Web  is  a  coordina'on  pla<orm  Status  codes   Verbs   Media   Types  
  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 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
  25. 25. The  £10  Million  SoluDon   Carrier Carrier Carrier Carrier Gateway Voice to Text Algorithms “Queue” Database Post Processing Shared Filesystem Enterprise Service Bus * *  SoluDon  does  not  include  actual  implementaDon  
  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   Carrier Carrier Carrier Carrier Gateway Voice to Text Algorithms Integration Database Post Processing Shared Filesystem Start by fixing storage
  30. 30. 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  
  31. 31. 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
  32. 32. What  is  going  on   here?   What  is  going  on   with  these  peaks?  
  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 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!
  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  with  this  picture?   Voice to Text Algorithms! Storage Manager! Just shoehorn it in that other program! Scalable!!
  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   3.5  Week  Incep'on   18  itera'ons   Java  solu'on   Performance  tes'ng   throughout   Con'nuously  built  and   deployed  for  tes'ng  
  44. 44. 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 £0 Software Infrastructure
  45. 45. Improving  Enterprise  Architecture   Carrier Carrier Carrier Carrier Gateway Grid Integration Database Post Processing Storage Manager Massively Reduced Load “She’ll be right” Scalable! Scalable, sustainable! Scalable Processing Platform
  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’  

×