Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Service Oriented Architecture for Robust and Scalable Systems

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.

Ole Michaelis

February 21, 2014
Tweet

More Decks by Ole Michaelis

Other Decks in Technology

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

    View Slide

  2. O L E M I C H A E L I S
    I A M
    @CODESTARS // CODESTARS.EU // SLIDR.IO // SO CODED CONFERENCE

    View Slide

  3. @ J I M D O
    W O R K I N G

    View Slide

  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

    View Slide

  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

    View Slide

  6. S TA R T S O M E T H I N G
    W H E N Y O U

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  10. B E F O R E I T ’ S T O O L AT E
    C H A N G E

    View Slide

  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.

    View Slide

  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

    View Slide

  13. View Slide


  14. All teams will henceforth expose their data 

    and functionality through service interfaces.

    View Slide


  15. All teams will henceforth expose their data 

    and functionality through service interfaces.
    Teams must communicate with each other 

    through these interfaces.

    View Slide


  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.

    View Slide


  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.

    View Slide


  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!

    View Slide

  19. J E F F B E Z O S

    View Slide

  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”

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  24. R E S P O N S I B I L I T I E S
    U N L O A D

    View Slide

  25. C O M P L E X I T Y
    R E D U C E

    View Slide

  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

    View Slide

  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

    View Slide

  28. S C A L I N G
    W I N A T

    View Slide

  29. I M P L E M E N T I T
    H O W T O

    View Slide

  30. P L AT F O R M
    B U I L D I N G Y O U R

    View Slide

  31. F * C K T H E S TAT E
    J U S T

    View Slide

  32. C O N F I D E N C E
    B U I L D I N G U P

    View Slide

  33. I N D E P E N D E N C E
    D E S I G N F O R

    View Slide

  34. R E L I A B I L I T Y
    C R E A T E

    View Slide

  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

    View Slide

  36. A D O P T
    C I R C U I T B R E A K E R

    View Slide

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

    View Slide

  38. P R O T O C O L S !
    R E M E M B E R Y O U R

    View Slide

  39. T I M E O U T S
    VA L U E

    View Slide

  40. I N T E R FA C E
    D E F I N E Y O U R

    View Slide

  41. H I G H L E V E L P R O T O C O L S
    FA N C Y

    View Slide

  42. M E S S A G E Q U E U E S
    M O D E R N

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  46. W E B S E R V E R

    View Slide

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

    View Slide

  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

    View Slide

  49. H T T P A P I
    C L A S S I C

    View Slide

  50. I N T E G R AT E
    K N O W W H E R E T O

    View Slide

  51. B A C K E N D
    G O F O R Y O U R

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  57. T H E B A D PA R T S
    B E A WA R E O F

    View Slide

  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

    View Slide

  59. S H I T H I T S T H E FA N
    W H E N T H E

    View Slide

  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

    View Slide

  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

    View Slide

  62. View Slide

  63. View Slide

  64. View Slide

  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
    ?

    View Slide

  66. P H P W O R L D
    B U I L D S E R V I C E S I N

    View Slide

  67. T H E G O O D & T H E B A D
    R E M E M B E R

    View Slide

  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

    View Slide

  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

    View Slide

  70. View Slide

  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

    View Slide

  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

    View Slide

  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/[email protected]/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/[email protected]/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

    View Slide

  74. A N D A LWAY S R E M E M B E R :
    S AY S 〿

    View Slide