Pro Yearly is on sale from $80 to $50! »

Cloud Native by Design

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.

8fc45f4725efe8e8bc8d6c1f92224b65?s=128

Michelangelo

February 27, 2020
Tweet

Transcript

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

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

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

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

    3+3 
  5. 0LFKHODQJHORYDQ'DP #'UDJRQ%H „ŭġƛŢöēġĻŸƞöŢŢ  Ɣ &RGHDQGGDWDRQWKHVDPHPDFKLQH Ɣ 6LQJOHV\VWHPWRPRQLWRUDQGSDWFK Ɣ (DV\GHSOR\PHQWXVLQJ

    ż )73 ż *LWSXOORUSXVK ż &DSLVWUDQR Ɣ )UDPHZRUNVVXSSRUWHGWKLVYHU\ZHOO 6HUYHU 26 /LQX[ $SDFKH3+3 $SSOLFDWLRQ 0\64/
  6. 0LFKHODQJHORYDQ'DP #'UDJRQ%H „ŭġƛŢöēġĻŸƞöŢŢƴŸĻöŊŢ Ɣ 1RIDLORYHU Ɣ 1RVFDODELOLW\ Ɣ &RPSOH[6\VWHPV PRQROLWKV

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

  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/
  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
  10. 0LFKHODQJHORYDQ'DP #'UDJRQ%H  ÀŸŸŢƦƴńöƴūöĚġƴńŊƦƴƞöŭƦĻŸƞūöƴŊŸŭƛŸƦƦŊĒŢġ

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

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

  13. 0LFKHODQJHORYDQ'DP #'UDJRQ%H Ɣ +DUGZDUHZDVQRZYLUWXDO ż &RQĆJXUDWLRQFKDOOHQJHV ż 8SJUDGHXSGDWHFKDOOHQJHV ż 1HWZRUNLQJFKDOOHQJHV

    Ɣ 26ZDVQRORQJHUDFRQVWUDLQW Ɣ $SSOLFDWLRQVZHUHVWLOOPRQROLWKV Ɣ 'HEXJJLQJZDVKDUGHU PXOWLSRLQWIDLOXUHV Ɣ 5HVRXUFHLQWHQVLYHGHYHORSPHQW ż 0RUH90èVUHTXLUHPRUHPHPRU\&38 ż 90PDQDJHPHQWZDVFRPSOH[ Ɣ 6KDUHGVHVVLRQPDQDJHPHQW  ²ēöŢöĒŊŢŊƴǛ!ńöŢŢġŭļġƦ
  14. 0LFKHODQJHORYDQ'DP #'UDJRQ%H Ɣ +DUGZDUHZDVQRZYLUWXDO ż &RQĆJXUDWLRQFKDOOHQJHV ż 8SJUDGHXSGDWHFKDOOHQJHV ż 1HWZRUNLQJFKDOOHQJHV

    Ɣ 26ZDVQRORQJHUDFRQVWUDLQW Ɣ $SSOLFDWLRQVZHUHVWLOOPRQROLWKV Ɣ 'HEXJJLQJZDVKDUGHU PXOWLSRLQWIDLOXUHV Ɣ 5HVRXUFHLQWHQVLYHGHYHORSPHQW ż 0RUH90èVUHTXLUHPRUHPHPRU\&38 ż 90PDQDJHPHQWZDVFRPSOH[ Ɣ 6KDUHGVHVVLRQPDQDJHPHQW  ²ēöŢöĒŊŢŊƴǛ!ńöŢŢġŭļġƦ
  15. 0LFKHODQJHORYDQ'DP #'UDJRQ%H ÀńġēŸŭƴöŊŭġƞļöūġēńöŭļġƞ 

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

  17. 0LFKHODQJHORYDQ'DP #'UDJRQ%H wŊēƞŸƦġƞǔŊēġƦƞēńŊƴġēƴƼƞġ  %URZVHU &RQWHQW 5RXWHU 0RELOH $3, *DWHZD\

    3URGXFW &DWDORJ 2UGHU 3URFHVV 3URGXFW 6HUYLFH 3URGXFW '% 2UGHU 6HUYLFH 2UGHU '%
  18. 0LFKHODQJHORYDQ'DP #'UDJRQ%H wŊēƞŸƦġƞǔŊēġēńöŢŢġŭļġ  Ɣ 7UDFNLQJPRQLWRULQJDOOWKHVHVHUYLFHV Ɣ &RQYHUVLRQIURPSHWWRFDWWOHV\VWHPV Ɣ 'LVFRYHU\VHFXULW\DQGJRYHUQDQFH

    Ɣ &RPSOLDQFHDQGUHJXODWLRQV Ɣ &RPSHWHQFLHVDQGWHFKQRORJ\JDS
  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
  20. 0LFKHODQJHORYDQ'DP #'UDJRQ%H ÀńġƦŸŢƼƴŊŸŭēöūġǕŊƴńjƼĒġƞŭġƴġƦ 

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

  22. 0LFKHODQJHORYDQ'DP #'UDJRQ%H (ġƦŊļŭĻŸƞöƼƴŸūöƴŊŸŭ  Ɣ ,QIUDVWUXFWXUHDV&RGH Ɣ &,&'SLSHOLQHVWREXLOGDQGGHSOR\ Ɣ 6FDOHXS

    GRZQ Ɣ 0RQLWRULQJ 5HFRYHU\
  23. 0LFKHODQJHORYDQ'DP #'UDJRQ%H (ġƦŊļŭĻŸƞĻöŊŢƼƞġ Ɣ &LUFXLWEUHDNHUV Ɣ ,PSOHPHQWUHWULHV Ɣ 'HJUDGHJUDFHIXOO\ Ɣ

    )HDWXUHWRJJOHV IHDWXUHćDJV Ɣ ,PPXWDEOHVHUYLFHV 
  24. 0LFKHODQJHORYDQ'DP #'UDJRQ%H ²ūöƞƴƦƴöƴġ Ɣ 6FDODEOHVWDWH Ɣ 5HSDLUVWDWH Ɣ 5ROOEDFNVWDWH Ɣ

    3UHYHQWVWDWHXQOHVVQHFHVVDU\ Ɣ 6WDWHHYHQWV  21 2))
  25. 0LFKHODQJHORYDQ'DP #'UDJRQ%H wöŭöļġĚƦġƞǔŊēġƦ Ɣ 8VHPDQDJHGVHUYLFHVDVPXFKDV SRVVLEOH Ɣ 3UHYHQWYHQGRUORFNLQZLWKRSHQ VROXWLRQV Ɣ

    2IIHUDOODXWRPDWHGUHTXLUHPHQWV ż 0RQLWRULQJ ż 6FDOLQJ ż 5HSOLFDWLRQ ż $OHUWLQJ ż &RPSOLDQFH Ɣ $UHFKHDSHUWKDQUROOLQJ\RXURZQ 
  26. 0LFKHODQJHORYDQ'DP #'UDJRQ%H (ġĻġŭēġŊŭĚġƛƴń Ɣ 6HFUHWV0DQDJHPHQW Ɣ 6HJUHJDWLRQRIćRZV Ɣ 0)$DGPLQLVWUDWLYHDFFRXQWV Ɣ

    6LJQHGDUWHIDFWV Ɣ 6LJQHGFRGHFRPPLWV Ɣ 66/7/6DVWKHQRUP Ɣ =HURWUXVW GDWD SURFHVVLQJ Ɣ &RQĆJXUDWLRQE\GHIDXOWSULYDWH Ɣ $EQRUPDOLW\PRQLWRULQJ DOHUWLQJ 
  27. 0LFKHODQJHORYDQ'DP #'UDJRQ%H XūƛƞŸǔġūġŭƴŞöƴö Ɣ &RQWLQXRXVLPSURYHPHQW Ɣ 6LPSOLI\DUFKLWHFWXUH Ɣ 2SWLPL]HVHUYLFHV Ɣ

    ,QFUHDVHWHOHPHWU\ Ɣ ,PSURYHćRZ 
  28. 0LFKHODQJHORYDQ'DP #'UDJRQ%H !ŸŭēƞġƴġƦƴġƛƦ 

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

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

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

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

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

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

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

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

  37. 0LFKHODQJHORYDQ'DP #'UDJRQ%H 7KHW\SLFDOLQVWDOODWLRQRI:RUG3UHVV  6HUYHU 26 /LQX[:LQGRZV :HEVHUYHU3+3 :RUG3UHVV 0\64/

  38. 0LFKHODQJHORYDQ'DP #'UDJRQ%H $VFDODEOH:RUG3UHVV  :RUG3UHVV :RUG3UHVV /RDGEDODQFHU 0\64/

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

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

    *DWHZD\ :RUG3UHVV %DFNHQG$3, '%
  41. 0LFKHODQJHORYDQ'DP #'UDJRQ%H +HUHèVDQH[DPSOHRIDVLQJOHSRVWIURPRXULQLWZHEVLWH 

  42. 0LFKHODQJHORYDQ'DP #'UDJRQ%H  wŸƞġöĚǔöŭƴöļġƦ Ɣ 6WDWLFSDJHVDUHQRWHDV\WRKDFNLQWR Ɣ 6WDWLFSDJHVDUHVHUYHGXSWR[WLPHVIDVWHUWKDQUHQGHUHGSDJHV DYHUDJH Ɣ

    (DVLHUWRSHUIRUP$%WHVWVZLWKGLIIHUHQWIURQWHQGV Ɣ &UHDWH QDWLYH PRELOHDSSVRQ\RXUFRQWHQW Ɣ 6FDODEOHIRUH[FHSWLRQDOORDGV %ODFN)ULGD\VDOHVZLWK:RR&RPPHUFH Ɣ $QGVRPXFKPRUHð
  43. 0LFKHODQJHORYDQ'DP #'UDJRQ%H §ƞŸŸĻŸĻ!Ÿŭēġƛƴς  6RXUFHFRGHRQJLWKXEFRP'UDJRQ%HFORXGQDWLYHE\GHVLJQ

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

    'DWD6WRUDJH GHIDXOWLQVWDOO /RFDORQSUHPGHYHORSPHQW 'RFNHUFRQWDLQHUV
  45. 0LFKHODQJHORYDQ'DP #'UDJRQ%H 7KHQRUPDO:RUG3UHVVVLWH 

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

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

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

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

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

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

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

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

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

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

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

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

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