$30 off During Our Annual Pro Sale. View Details »

Cloud Native by Design

DragonBe
February 27, 2020

Cloud Native by Design

The "cloud" has been available to developers for over a decade with exciting services that really boost your applications to the next level. Why is it that the majority of applications running on these cloud platforms are still built as though it's 1990's with complex infrastructures? Today there's no longer a need to build tightly integrated applications.

In this talk I will discuss 15 years of cloud development showing examples of old-fashioned application architectures that are still being produced today. To counter these examples I will also show you how easy it is today to build applications cloud-native so they are outperforming the competition, are easily maintainable and are resilient against failures.

The goal of this talk is to have you rethink the way you develop for the cloud and how you can adopt my approaches in your own architectures.

DragonBe

February 27, 2020
Tweet

More Decks by DragonBe

Other Decks in Technology

Transcript

  1. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    !ŢŸƼĚyöƴŊǔġĒǛ
    (ġƦŊļŭ
    KRZWRGHVLJQDSSOLFDWLRQV
    WKDWEHQHILWGLUHFWO\IURP
    QDWLYHFORXGVROXWLRQV

    View Slide

  2. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wŊēńġŢöŭļġŢŸǔöŭ(öū
    -QEWIRMSVTLTEVGLMXIGX
    GSJSYRHIVERHGISSJ$MRMXZSJ
    GSQQYRMX]PIEHIVEX
    $TLTFIRIPY\GSEGLEX
    $'SHIV(SNS&IPKMYQ
    HMKMXEPRSQEHPMOIWGSJJII

    View Slide

  3. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀńġĒġļŊŭŭŊŭļ

    View Slide

  4. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    Àńġmw§²ƴöēŞ
    Ɣ /LQX[
    Ɣ $SDFKH
    Ɣ 0\64/
    Ɣ 3+3

    View Slide

  5. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    „ŭġƛŢöēġĻŸƞöŢŢ

    Ɣ &RGHDQGGDWDRQWKHVDPHPDFKLQH
    Ɣ 6LQJOHV\VWHPWRPRQLWRUDQGSDWFK
    Ɣ (DV\GHSOR\PHQWXVLQJ
    ż )73
    ż *LWSXOORUSXVK
    ż &DSLVWUDQR
    Ɣ )UDPHZRUNVVXSSRUWHGWKLVYHU\ZHOO
    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/

    View Slide

  6. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    „ŭġƛŢöēġĻŸƞöŢŢƴŸĻöŊŢ
    Ɣ 1RIDLORYHU
    Ɣ 1RVFDODELOLW\
    Ɣ &RPSOH[6\VWHPV
    PRQROLWKV
    Ɣ $OORUQRWKLQJGHDO

    View Slide

  7. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ƴƴġūƛƴƦƴŸƦēöŢġ

    View Slide

  8. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    0LVFRQFHSWLRQRIVFDOLQJDSSOLFDWLRQV

    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/ 6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/
    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/
    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/
    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/

    View Slide

  9. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    :LWKWKHKHOSRIYLUWXDOL]DWLRQZHZHUHDEOHWRDFKLHYHVFDODELOLW\

    6HUYHU
    26/LQX[
    $SDFKH3+3
    $SSOLFDWLRQ
    0\64/
    :HE6HUYHU
    /RDG%DODQFHU
    '%&OXVWHU
    '%&OXVWHU
    '%&OXVWHU '%&OXVWHU
    :HE6HUYHU :HE6HUYHU
    3+3)30 3+3)30 3+3)30
    6KDUHG)LOHV\VWHP
    &DFKLQJ/D\HU

    View Slide

  10. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀŸŸŢƦƴńöƴūöĚġƴńŊƦƴƞöŭƦĻŸƞūöƴŊŸŭƛŸƦƦŊĒŢġ

    View Slide

  11. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ªŊƦġŸĻƴńġēŢŸƼĚƦ

    View Slide

  12. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ńƼļġŊūƛƞŸǔġūġŭƴĻŸƞßwēŸŭǫļƼƞöƴŊŸŭ

    View Slide

  13. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    Ɣ +DUGZDUHZDVQRZYLUWXDO
    ż &RQĆJXUDWLRQFKDOOHQJHV
    ż 8SJUDGHXSGDWHFKDOOHQJHV
    ż 1HWZRUNLQJFKDOOHQJHV
    Ɣ 26ZDVQRORQJHUDFRQVWUDLQW
    Ɣ $SSOLFDWLRQVZHUHVWLOOPRQROLWKV
    Ɣ 'HEXJJLQJZDVKDUGHUPXOWLSRLQWIDLOXUHV
    Ɣ 5HVRXUFHLQWHQVLYHGHYHORSPHQW
    ż 0RUH90èVUHTXLUHPRUHPHPRU\&38
    ż 90PDQDJHPHQWZDVFRPSOH[
    Ɣ 6KDUHGVHVVLRQPDQDJHPHQW

    ²ēöŢöĒŊŢŊƴǛ!ńöŢŢġŭļġƦ

    View Slide

  14. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    Ɣ +DUGZDUHZDVQRZYLUWXDO
    ż &RQĆJXUDWLRQFKDOOHQJHV
    ż 8SJUDGHXSGDWHFKDOOHQJHV
    ż 1HWZRUNLQJFKDOOHQJHV
    Ɣ 26ZDVQRORQJHUDFRQVWUDLQW
    Ɣ $SSOLFDWLRQVZHUHVWLOOPRQROLWKV
    Ɣ 'HEXJJLQJZDVKDUGHUPXOWLSRLQWIDLOXUHV
    Ɣ 5HVRXUFHLQWHQVLYHGHYHORSPHQW
    ż 0RUH90èVUHTXLUHPRUHPHPRU\&38
    ż 90PDQDJHPHQWZDVFRPSOH[
    Ɣ 6KDUHGVHVVLRQPDQDJHPHQW

    ²ēöŢöĒŊŢŊƴǛ!ńöŢŢġŭļġƦ

    View Slide

  15. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀńġēŸŭƴöŊŭġƞļöūġēńöŭļġƞ

    View Slide

  16. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ŊļļġƦƴńƼƞĚŢġ
    $3,'ULYHQ'HVLJQ

    View Slide

  17. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wŊēƞŸƦġƞǔŊēġƦƞēńŊƴġēƴƼƞġ

    %URZVHU
    &RQWHQW
    5RXWHU
    0RELOH
    $3,
    *DWHZD\
    3URGXFW
    &DWDORJ
    2UGHU
    3URFHVV
    3URGXFW
    6HUYLFH
    3URGXFW
    '%
    2UGHU
    6HUYLFH
    2UGHU
    '%

    View Slide

  18. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wŊēƞŸƦġƞǔŊēġēńöŢŢġŭļġ

    Ɣ 7UDFNLQJPRQLWRULQJDOOWKHVHVHUYLFHV
    Ɣ &RQYHUVLRQIURPSHWWRFDWWOHV\VWHPV
    Ɣ 'LVFRYHU\VHFXULW\DQGJRYHUQDQFH
    Ɣ &RPSOLDQFHDQGUHJXODWLRQV
    Ɣ &RPSHWHQFLHVDQGWHFKQRORJ\JDS

    View Slide

  19. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wŊēƞŸƦġƞǔŊēġƦŊŭƞġöŢŊƴǛ

    90 90 90 90 90 90 90 90
    90 90 90 90 90 90 90 90
    90 90 90 90 90 90 90 90
    90 90 90 90 90 90 90 90

    View Slide

  20. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀńġƦŸŢƼƴŊŸŭēöūġǕŊƴńjƼĒġƞŭġƴġƦ

    View Slide

  21. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    !ŢŸƼĚŭöƴŊǔġĚġƦŊļŭ

    View Slide

  22. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    (ġƦŊļŭĻŸƞöƼƴŸūöƴŊŸŭ

    Ɣ ,QIUDVWUXFWXUHDV&RGH
    Ɣ &,&'SLSHOLQHVWREXLOGDQGGHSOR\
    Ɣ 6FDOHXS GRZQ
    Ɣ 0RQLWRULQJ 5HFRYHU\

    View Slide

  23. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    (ġƦŊļŭĻŸƞĻöŊŢƼƞġ
    Ɣ &LUFXLWEUHDNHUV
    Ɣ ,PSOHPHQWUHWULHV
    Ɣ 'HJUDGHJUDFHIXOO\
    Ɣ )HDWXUHWRJJOHVIHDWXUHćDJV
    Ɣ ,PPXWDEOHVHUYLFHV

    View Slide

  24. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ūöƞƴƦƴöƴġ
    Ɣ 6FDODEOHVWDWH
    Ɣ 5HSDLUVWDWH
    Ɣ 5ROOEDFNVWDWH
    Ɣ 3UHYHQWVWDWHXQOHVVQHFHVVDU\
    Ɣ 6WDWHHYHQWV

    21
    2))

    View Slide

  25. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wöŭöļġĚƦġƞǔŊēġƦ
    Ɣ 8VHPDQDJHGVHUYLFHVDVPXFKDV
    SRVVLEOH
    Ɣ 3UHYHQWYHQGRUORFNLQZLWKRSHQ
    VROXWLRQV
    Ɣ 2IIHUDOODXWRPDWHGUHTXLUHPHQWV
    ż 0RQLWRULQJ
    ż 6FDOLQJ
    ż 5HSOLFDWLRQ
    ż $OHUWLQJ
    ż &RPSOLDQFH
    Ɣ $UHFKHDSHUWKDQUROOLQJ\RXURZQ

    View Slide

  26. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    (ġĻġŭēġŊŭĚġƛƴń
    Ɣ 6HFUHWV0DQDJHPHQW
    Ɣ 6HJUHJDWLRQRIćRZV
    Ɣ 0)$DGPLQLVWUDWLYHDFFRXQWV
    Ɣ 6LJQHGDUWHIDFWV
    Ɣ 6LJQHGFRGHFRPPLWV
    Ɣ 66/7/6DVWKHQRUP
    Ɣ =HURWUXVWGDWDSURFHVVLQJ
    Ɣ &RQĆJXUDWLRQE\GHIDXOWSULYDWH
    Ɣ $EQRUPDOLW\PRQLWRULQJ DOHUWLQJ

    View Slide

  27. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    XūƛƞŸǔġūġŭƴŞöƴö
    Ɣ &RQWLQXRXVLPSURYHPHQW
    Ɣ 6LPSOLI\DUFKLWHFWXUH
    Ɣ 2SWLPL]HVHUYLFHV
    Ɣ ,QFUHDVHWHOHPHWU\
    Ɣ ,PSURYHćRZ

    View Slide

  28. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    !ŸŭēƞġƴġƦƴġƛƦ

    View Slide

  29. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̇͆(ġǫŭġƴńġĒƼƦŊŭġƦƦļŸöŢ

    View Slide

  30. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̈͆!ńŸŸƦġǛŸƼƞƴġēńŭŸŢŸļǛƦƴöēŞ

    View Slide

  31. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̉͆!ńŸŸƦġǛŸƼƞēŢŸƼĚƦŸŢƼƴŊŸŭ

    View Slide

  32. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̊͆(ġǫŭġǛŸƼj§XͬƦτ²mͬƦ

    View Slide

  33. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̋͆(ġƦŊļŭŊĚġöŢēŢŸƼĚƦŸŢƼƴŊŸŭ

    View Slide

  34. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ²ƴġƛ̌͆wŸŭŊƴŸƞǛŸƼƞŸĒśġēƴŊǔġƦ

    View Slide

  35. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    (Xæ0ǚöūƛŢġ͆
    wöŞġàŸƞ̧ƞġƦƦ
    ēŢŸƼĚ͡ƦēöŢġ

    View Slide

  36. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ̉̆Ϊ
    2IWKHLQWHUQHWLV:RUG3UHVV

    View Slide

  37. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    7KHW\SLFDOLQVWDOODWLRQRI:RUG3UHVV

    6HUYHU
    26/LQX[:LQGRZV
    :HEVHUYHU3+3
    :RUG3UHVV
    0\64/

    View Slide

  38. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    $VFDODEOH:RUG3UHVV

    :RUG3UHVV :RUG3UHVV
    /RDGEDODQFHU
    0\64/

    View Slide

  39. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    àŸƞ̧ƞġƦƦ§X

    View Slide

  40. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    mŸŸƦġŢǛēŸƼƛŢġĚĚġƦŊļŭ
    6WDWLFSDJHVRQ
    FORXGVWRUDJH
    /RDG
    %DODQFHU
    &'1
    $SS
    *DWHZD\
    :RUG3UHVV
    %DFNHQG$3, '%

    View Slide

  41. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    +HUHèVDQH[DPSOHRIDVLQJOHSRVWIURPRXULQLWZHEVLWH

    View Slide

  42. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wŸƞġöĚǔöŭƴöļġƦ
    Ɣ 6WDWLFSDJHVDUHQRWHDV\WRKDFNLQWR
    Ɣ 6WDWLFSDJHVDUHVHUYHGXSWR[WLPHVIDVWHUWKDQUHQGHUHGSDJHVDYHUDJH
    Ɣ (DVLHUWRSHUIRUP$%WHVWVZLWKGLIIHUHQWIURQWHQGV
    Ɣ &UHDWHQDWLYHPRELOHDSSVRQ\RXUFRQWHQW
    Ɣ 6FDODEOHIRUH[FHSWLRQDOORDGV%ODFN)ULGD\VDOHVZLWK:RR&RPPHUFH
    Ɣ $QGVRPXFKPRUHð

    View Slide

  43. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    §ƞŸŸĻŸĻ!Ÿŭēġƛƴς

    6RXUFHFRGHRQJLWKXEFRP'UDJRQ%HFORXGQDWLYHE\GHVLJQ

    View Slide

  44. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    /D\RXWRIWKHDSSOLFDWLRQDUFKLWHFWXUHIRUORFDORURQSUHPGHYHORSPHQW
    )URQW6HUYHU
    VWDWLFSDJHV
    3UR[\*DWHZD\
    ZLWKFDFKH
    +RVWHG&RQWHQW
    YDQLOODLQVWDOO
    'DWD6WRUDJH
    GHIDXOWLQVWDOO
    /RFDORQSUHPGHYHORSPHQW
    'RFNHUFRQWDLQHUV

    View Slide

  45. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    7KHQRUPDO:RUG3UHVVVLWH

    View Slide

  46. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    7KH-621YHUVLRQRIWKHVLWH

    View Slide

  47. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    7KHXQGHVLJQHGEXWYHU\VWDWLF+70/YHUVLRQRIRXUZHEVLWHDSSOLFDWLRQ

    View Slide

  48. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    /D\RXWRIWKHDSSOLFDWLRQDUFKLWHFWXUHIRUFORXGGHYHORSPHQWLQ0LFURVRIW$]XUH

    View Slide

  49. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    1RZZHèUHUXQQLQJLWDOOLQWKHFORXG

    View Slide

  50. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    $IWHUDSSO\LQJDELWRIVW\OLQJLWORRNVDOUHDG\XVHIXO

    View Slide

  51. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    „ƴńġƞ§R§ƛŢöƴĻŸƞūƦǕŸƞƴńūġŭƴŊŸŭŊŭļ

    View Slide

  52. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    mġƴͬƦǕƞöƛŊƴƼƛ͈

    View Slide

  53. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    (ġēŸƼƛŢġǛŸƼƞ
    öƛƛŢŊēöƴŊŸŭēŸūƛŸŭġŭƴƦ
    ĒǛƼƦŊŭļ§XͬƦ͌

    View Slide

  54. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÇƦġXŭĻƞöƦƴƞƼēƴƼƞġöƦ
    !ŸĚġƴŸƦġƴƼƛöŭĚ
    ŸƞēńġƦƴƞöƴġǛŸƼƞĚġƦŊƞġĚ
    öƞēńŊƴġēƴƼƞġ͌

    View Slide

  55. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀńŊŭŞöĒŸƼƴƦēöŢöĒŊŢŊƴǛ͇
    ƦġēƼƞŊƴǛöŭĚƴġƦƴöĒŊŢŊƴǛ
    ŊŭǛŸƼƞöƞēńŊƴġēƴƼƞġ
    ĚġƦŊļŭ͌

    View Slide

  56. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    yġǔġƞƦƴŸƛŸƛƴŊūŊǥŊŭļ
    ǛŸƼƞöƞēńŊƴġēƴƼƞġ͉

    View Slide

  57. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    wǛƦŸƼƞēġƦĻŸƞŞŭŸǕŢġĚļġ

    View Slide

  58. 0LFKHODQJHORYDQ'DP#'UDJRQ%H
    ÀńöŭŞǛŸƼρ

    6OLGHVDYDLODEOHDWLQVHFORXGQDWLYHE\GHVLJQ

    View Slide