deploying two apps, three microservices and one … presentation.pdfdeploying two apps, three...

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

Upload: others

Post on 20-May-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

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

1

THE PROJECT

2

Architecture

3

ARCHITECTURE

4

Golang service

Event log

Golang service

Event log

AWS

nginx

AngularJScontent

nginx

Websitecontent

Private S3bucket

Docker container

EC2 instance

Golang service

WordPress

ARCHITECTURE

5

Service Cv42

Service Bv13

Service Av10

Service Av11

Service Av10

ARCHITECTURE

6

Service Av10

Service Av11

Service Av10

{""eventType":""eventA","..."}{""eventType":""eventB","..."}

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

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

ARCHITECTURE

7

ARCHITECTURE

8

8 days

Few hours

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

ARCHITECTURE

9Illustration: www.rpkessler.com

Deployment pipelines

10

DEPLOYMENT PIPELINES

11Photo: Welshsk / Wikipedia

DEPLOYMENT PIPELINES

12

Build

Test

Package

Dev

QA

Staging

Production

DEPLOYMENT PIPELINES

13

“dev please” Dev

QA

Staging

Production

“staging please”

“production please”

“QA please”

DEPLOYMENT PIPELINES

1. Download new Docker image (~5 s)

2. Stop old version (near instant)

3. Start new version (~1 s)

14Photo: creativereview.co.uk

Production

DEPLOYMENT PIPELINES

15

Dev QA Staging

DEPLOYMENT PIPELINES

Apps

16

DEPLOYMENT PIPELINES

17

Infrastructure

(although it would have been nice)

MONITORING

18

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

THANK [email protected]