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

deploying two apps three microservices and one website
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

Charles Korn

1

slide-2
SLIDE 2

THE PROJECT

2

slide-3
SLIDE 3

Architecture

3

slide-4
SLIDE 4

ARCHITECTURE

4

Golang service Event log Golang service Event log

AWS

nginx AngularJS content nginx Website content Private S3 bucket Docker container EC2 instance Golang service WordPress

slide-5
SLIDE 5

ARCHITECTURE

5

Service C v42 Service B v13 Service A v10 Service A v11 Service A v10

slide-6
SLIDE 6

ARCHITECTURE

6

Service A v10 Service A v11 Service A v10

{""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} {""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} {""eventType":" "eventC"," ..."} {""eventType":" "eventB"," "newAttr":" "1234""} {""eventType":" "eventA"," ..."} {""eventType":" "eventB"," ..."} {""eventType":" "eventC"," ..."} {""eventType":" "eventB"," "newAttr":" "1234""}

slide-7
SLIDE 7

ARCHITECTURE

7

slide-8
SLIDE 8

ARCHITECTURE

8

8 days Few hours

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

slide-9
SLIDE 9

ARCHITECTURE

9

Illustration: www.rpkessler.com

slide-10
SLIDE 10

Deployment pipelines

10

slide-11
SLIDE 11

DEPLOYMENT PIPELINES

11

Photo: Welshsk / Wikipedia

slide-12
SLIDE 12

DEPLOYMENT PIPELINES

12

Build Test Package Dev QA Staging Production

slide-13
SLIDE 13

DEPLOYMENT PIPELINES

13

“dev please” Dev QA Staging Production “staging please” “production please” “QA please”

slide-14
SLIDE 14

DEPLOYMENT PIPELINES

  • 1. Download new Docker image (~5 s)
  • 2. Stop old version (near instant)
  • 3. Start new version (~1 s)

14

Photo: creativereview.co.uk

slide-15
SLIDE 15

Production DEPLOYMENT PIPELINES

15

Dev QA Staging

slide-16
SLIDE 16

DEPLOYMENT PIPELINES

Apps

16

slide-17
SLIDE 17

DEPLOYMENT PIPELINES

17

Infrastructure

(although it would have been nice)

slide-18
SLIDE 18

MONITORING

18

slide-19
SLIDE 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

slide-20
SLIDE 20

THANK YOU

ckorn@thoughtworks.com