Service Oriented Architecture for Robust and Scalable Systems

4c50caee0c6a446a0b60f827a2a1e5e5?s=47 Ole Michaelis
February 21, 2014

Service Oriented Architecture for Robust and Scalable Systems

Gave this talk at PHP UK Conference 2014 in London, UK on February 21st, 2014
Follow me on Twitter: @CodeStars

If you have watched the talk, please rate it: https://joind.in/talk/view/10689

Software Architecture is hard. And when your business grows, its getting even harder because scaling doesn’t come out the box and it’s not only the software which grows it’s also the team. So you have to find a way how to scale your software in a way that it stays easy maintainable for growing teams and scalable. I’d like to talk about Service Oriented Architecture in general and also share some experience and give some examples where SOA would save you in a tough spot and maybe places where SOA isn’t the best idea to implement.

4c50caee0c6a446a0b60f827a2a1e5e5?s=128

Ole Michaelis

February 21, 2014
Tweet

Transcript

  1. S E R V I C E O R I

    E N T E D A R C H I T E C T U R E P H P U K C O N F E R E N C E 2 0 1 4 - F E B R U A RY 2 1 S T - L O N D O N , U K F O R R O B U S T A N D S C A L A B L E S Y S T E M S
  2. O L E M I C H A E L

    I S I A M @CODESTARS // CODESTARS.EU // SLIDR.IO // SO CODED CONFERENCE
  3. @ J I M D O W O R K

    I N G
  4. S E R V I C E O R I

    E N T E D A R C H I T E C T U R E
  5. S E R V I C E O R I

    E N T E D A R C H I T E C T U R E F O R R O B U S T A N D S C A L A B L E S Y S T E M S
  6. S TA R T S O M E T H

    I N G W H E N Y O U
  7. S O F T WA R E A R C

    H I T E C T U R E I T ’ S A L L A B O U T
  8. B E A U T I F U L S

    O F T WA R E D E S I G N & B U I L D
  9. I T ’ S G E T T I N

    G C O M P L I C AT E D O V E R T H E Y E A R S
  10. B E F O R E I T ’ S

    T O O L AT E C H A N G E
  11. W E R N E R V O G E

    L S - C T O A M A Z O N I N C . Service orientation means encapsulating 
 data with the business logic that operates 
 on the data, with the only access through 
 a published service interface. “
  12. J E F F B E Z O S R

    U L E S T H E WA S H I N G T O N P O S T R U L E S
  13. None
  14. “ All teams will henceforth expose their data 
 and

    functionality through service interfaces.
  15. “ All teams will henceforth expose their data 
 and

    functionality through service interfaces. Teams must communicate with each other 
 through these interfaces.
  16. “ All teams will henceforth expose their data 
 and

    functionality through service interfaces. Teams must communicate with each other 
 through these interfaces. There will be no other form of inter-process communication allowed: […] The only communication allowed is via service interface calls over the network.
  17. “ All teams will henceforth expose their data 
 and

    functionality through service interfaces. Teams must communicate with each other 
 through these interfaces. There will be no other form of inter-process communication allowed: […] The only communication allowed is via service interface calls over the network. It doesn’t matter what technology they use.
  18. “ All teams will henceforth expose their data 
 and

    functionality through service interfaces. Teams must communicate with each other 
 through these interfaces. There will be no other form of inter-process communication allowed: […] The only communication allowed is via service interface calls over the network. It doesn’t matter what technology they use. All service interfaces, without exception, must be designed from the ground up to be externalizable. […] No exceptions!
  19. J E F F B E Z O S

  20. – M E LV I N C O N WAY

    / / C O N WAY ’ S L A W “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
  21. M O R E ! B U T T H

    E R E ’ S
  22. M O R E ! B U T T H

    E R E ’ S
  23. FA S T E R D E C I S

    I O N S L O W E R T H E N U M B E R O F P E O P L E / C O D E B A S E
  24. R E S P O N S I B I

    L I T I E S U N L O A D
  25. C O M P L E X I T Y

    R E D U C E
  26. M U C H H A P P I E

    R D E V E L O P E R S V E R Y S M A L L E R C O D E B A S E
  27. M U C H H A P P I E

    R D E V E L O P E R S V E R Y S M A L L E R C O D E B A S E S O W O W V E R Y H A P P Y S U C H L I G H T W E I G H T
  28. S C A L I N G W I N

    A T
  29. I M P L E M E N T I

    T H O W T O
  30. P L AT F O R M B U I

    L D I N G Y O U R
  31. F * C K T H E S TAT E

    J U S T
  32. C O N F I D E N C E

    B U I L D I N G U P
  33. I N D E P E N D E N

    C E D E S I G N F O R
  34. R E L I A B I L I T

    Y C R E A T E
  35. S I N G L E R E S P

    O N S I B I L I T Y K N O W A B O U T
  36. A D O P T C I R C U

    I T B R E A K E R
  37. B A C K P R E S S U

    R E P R A C T I C E
  38. P R O T O C O L S !

    R E M E M B E R Y O U R
  39. T I M E O U T S VA L

    U E
  40. I N T E R FA C E D E

    F I N E Y O U R
  41. H I G H L E V E L P

    R O T O C O L S FA N C Y
  42. M E S S A G E Q U E

    U E S M O D E R N
  43. Y O U R S E R V I C

    E
  44. Y O U R S E R V I C

    E Q U E U E
  45. Y O U R S E R V I C

    E Q U E U E A N O T H E R S E R V I C E
  46. W E B S E R V E R

  47. W E B S E R V E R Q

    U E U E
  48. W E B S E R V E R Q

    U E U E W O R K E R W O R K E R W O R K E R
  49. H T T P A P I C L A

    S S I C
  50. I N T E G R AT E K N

    O W W H E R E T O
  51. B A C K E N D G O F

    O R Y O U R
  52. P R O T O C O L C H

    E C K Y O U R
  53. https://gist.github.com/nesQuick/8852668

  54. https://gist.github.com/nesQuick/8852668

  55. F R O N T E N D D O

    I T I N T H E
  56. H U M A N S R E S P

    E C T T H E
  57. T H E B A D PA R T S

    B E A WA R E O F
  58. L O G G I N G & M O

    N I T O R I N G I N A S H A R E D W O R L D
  59. S H I T H I T S T H

    E FA N W H E N T H E
  60. R E S P O N S I B I

    L I T Y A G A I N , I T ’ S A B O U T
  61. R E A L W O R L D H

    O W D O E S I T L O O K L I K E I N T H E
  62. None
  63. None
  64. None
  65. “ B L O B ” ! J I M

    D O S Y S T E M P R O U D LY G R O W I N G S I N C E 2 0 0 6 T E M P L AT E S E R V I C E A P I R O U T E R ?
  66. P H P W O R L D B U

    I L D S E R V I C E S I N
  67. T H E G O O D & T H

    E B A D R E M E M B E R
  68. T H A N K Y O U E N

    D / / E N D E / / F I N / / F I N E / / K O N E C / / PÄ Ä / / V É G / / U Ç / / ऴ Θ Γ / / C U Ố @CODESTARS // CODESTARS.EU
  69. Q U E S T I O N S N

    O W I T ’ S T I M E F O R @CODESTARS // CODESTARS.EU
  70. None
  71. Z A N T H I A T H A

    N K S F O R T H E P I C T U R E S T O A N D S H U T T E R S T O C K : D
  72. http://www.slideshare.net/InfoQ/decomposing-twitter- adventures-in-serviceoriented-architecture http://www.infoq.com/presentations/twitter-soa http://blog.separateconcerns.com/2013-01-02-startups- soa.html http://msdn.microsoft.com/en-us/library/bb833022.aspx http://blog.separateconcerns.com/2013-01-02-startups- soa.html https://gist.github.com/mlafeldt/7928709 http://www.indiawebdevelopers.com/resource_center/

    articles/soa.html http://msdn.microsoft.com/en-us/library/bb833022.aspx http://techblog.netflix.com/2011/12/making-netflix-api-more- resilient.html https://www.owasp.org/index.php/Web_Application_Firewall http://rubyrogues.com/076-rr-service-oriented-design-with- paul-dix/ Web Operations, edited by John Allspaw and Jesse Robbins, 2010 (O’Reilly) http://shop.oreilly.com/product/ 0636920000136.do Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers), Michael T. Nygard Also checkout Amazon, Netflix, Etsy & EasyBib (They do great!) I WA N T T O T H A N K M Y C O M PA N Y J I M D O , M Y G I R L F R I E N D A N D A L L M Y C O W O R K E R S F O R S U P P O R T I N G M E ! C O N T I N U O U S R E A D I N G / / S O U R C E S
  73. • http://www.flickr.com/photos/st_hilaire_photography/9694567276 • http://www.flickr.com/photos/bobjacques/4396438856 • http://www.flickr.com/photos/lorenzemlicka/7868365738 • http://www.flickr.com/photos/93040567@N02/8603031974 • http://www.flickr.com/photos/robertrountreepics/5843250401

    • http://www.flickr.com/photos/konvex/6918120992/ • http://www.flickr.com/photos/pixagraphic/3414730395 • http://www.flickr.com/photos/ianmcburnie/400299725 • http://porn.serverbear.com/tagged/server+porn • http://www.flickr.com/photos/rainforestactionnetwork/5681309882/ • http://www.flickr.com/photos/starprod/5390521715 • http://www.flickr.com/photos/yngw/8050603479/ • http://www.flickr.com/photos/112183927@N03/11790879753 • http://honestgorillas.com/wp-content/uploads/2013/07/ php_elephants.jpg • http://www.flickr.com/photos/hothbricks/11842181413/ • http://darkroom.baltimoresun.com/wp-content/uploads/2012/12/ REU-UKRAINE-PARLIAMENT-BRAW.jpg • http://galeria.vezess.hu/files/ 395/058/000/58395/58395_461869_1000x700.jpg • http://1.bp.blogspot.com/-i-Wvk_fKEHs/Tebi3R-vmlI/ AAAAAAAAAHA/MUDnBg9HiH4/s1600/George-W-Bush-phone.jpg • http://static02.mediaite.com/geekosystem/uploads/2013/12/ doge.jpg • http://www.bhmpics.com/success_kid-wallpapers.html I M A G E S S O U R C E S / C O P Y R I G H T S
  74. A N D A LWAY S R E M E

    M B E R : S AY S 〿