deploying two apps three microservices and one website
play

DEPLOYING TWO APPS, THREE MICROSERVICES AND ONE WEBSITE WITH ZERO - PowerPoint PPT Presentation

DEPLOYING TWO APPS, THREE MICROSERVICES AND ONE WEBSITE WITH ZERO HAIR LOSS: WHAT WORKED FOR US Charles Korn 1 THE PROJECT 2 Architecture 3 ARCHITECTURE AngularJS Website Event log Event log WordPress content content Golang


  1. DEPLOYING TWO APPS, THREE MICROSERVICES AND ONE WEBSITE WITH ZERO HAIR LOSS: WHAT WORKED FOR US Charles Korn 1

  2. THE PROJECT 2

  3. Architecture 3

  4. ARCHITECTURE AngularJS Website Event log Event log WordPress content content Golang Golang Golang nginx nginx service service service AWS EC2 instance Docker container Private S3 bucket 4

  5. ARCHITECTURE Service A Service B Service C v10 v13 v42 Service A v11 Service A v10 5

  6. ARCHITECTURE Service A {""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} v10 Service A {""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} v11 {""eventType":" "eventC"," ..."} {""eventType":" "eventB"," "newAttr":" "1234""} Service A {""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} v10 {""eventType":" "eventC"," ..."} {""eventType":" "eventB"," "newAttr":" "1234""} 6

  7. ARCHITECTURE 7

  8. ARCHITECTURE 8 days Few hours Sources: iOS app store from appreviewtimes.com as at July 4; Google Play from official Android developers blog 8

  9. ARCHITECTURE Illustration: www.rpkessler.com 9

  10. Deployment pipelines 10

  11. DEPLOYMENT PIPELINES Photo: Welshsk / Wikipedia 11

  12. DEPLOYMENT PIPELINES Build Test Package Dev QA Staging Production 12

  13. DEPLOYMENT PIPELINES Dev “dev please” “QA please” QA Staging “staging please” Production “production please” 13

  14. DEPLOYMENT PIPELINES 1. Download new Docker image (~5 s) 2. Stop old version (near instant) 3. Start new version (~1 s) Photo: creativereview.co.uk 14

  15. DEPLOYMENT PIPELINES Dev QA Staging Production 15

  16. DEPLOYMENT PIPELINES Apps 16

  17. DEPLOYMENT PIPELINES Infrastructure (although it would have been nice) 17

  18. MONITORING 18

  19. MONITORING 1. Go to website 2. Sign up for an account 3. Go to app 4. Complete introduction 5. Check basic interactions work 6. Check content is shown as expected 19

  20. THANK YOU ckorn@thoughtworks.com

Recommend


More recommend