Slide 1

Slide 1 text

Accelerating DevOps with Serverless ServerlessConf Paris 2018 Michael H. Oshita @ijin Feb 15, 2018

Slide 2

Slide 2 text

Bonjour!!

Slide 3

Slide 3 text

France <-> Japan

Slide 4

Slide 4 text

Michael H. Oshita (@ijin) • Cloud Engineer/ Architect • From Japan • AWS community • Serverless community • https://ijin.github.io

Slide 5

Slide 5 text

JAWS-UG • ~2300 members (FB) • 50+ subdivisions nationwide

Slide 6

Slide 6 text

Serverless Community • 600+ members (FB) • Monthly Serverless meetups • ServerlessConf Tokyo 2016 (380), 2017 (462 attendees)

Slide 7

Slide 7 text

Story… One example of using serverless to help and accelerate DevOps

Slide 8

Slide 8 text

AGENDA • Background • Issues/Demands • Solution • Architecture • Demo

Slide 9

Slide 9 text

Background (simplified)

Slide 10

Slide 10 text

Issues • Resource (CPU, memory) bound • Maintenance (disk usage, server failures) • Updates (ruby, jenkins, docker version) • Sequential execution • More projects, more load

Slide 11

Slide 11 text

New demands • Faster (concurrent) deployments • Test and deploy multiple versions • On-demand environments • ECS

Slide 12

Slide 12 text

Solution: Automate

Slide 13

Slide 13 text

Branch A

Slide 14

Slide 14 text

Branch B

Slide 15

Slide 15 text

Branch C

Slide 16

Slide 16 text

Create env • Create target group • Create ALB listener • Create ECS service • Deploy if necessary

Slide 17

Slide 17 text

Create env (reality) • Create target group • Create ALB listener • Create ECS service…….wait • Deploy if necessary

Slide 18

Slide 18 text

Destroy env • Stop tasks • Delete service • Delete listener • Delete target group

Slide 19

Slide 19 text

Destroy env (reality) • Stop tasks…wait…wait…. • Delete service…..wait • Delete listener • Delete target group

Slide 20

Slide 20 text

Create env w/ step fns

Slide 21

Slide 21 text

Destroy env w/ step fns

Slide 22

Slide 22 text

Step Functions Serverless Step Functions plugin by @horike37 https://github.com/horike37/serverless-step-functions sls plugin install -n serverless-step-functions

Slide 23

Slide 23 text

Step Functions JSON =( Not something a human should touch

Slide 24

Slide 24 text

Step Functions YAML =) Somewhat better… ..

Slide 25

Slide 25 text

[ Demo ]

Slide 26

Slide 26 text

Create env (youtube: http://bit.ly/ecs-deity1)

Slide 27

Slide 27 text

Destroy env (youtube: http://bit.ly/ecs-deity2)

Slide 28

Slide 28 text

On-Demand env!! • Devs Happy :D • Ops Happy :D

Slide 29

Slide 29 text

Why Serverless (Framework)? • Concurrency • Scalability • Less maintenance, more coding • Easy deployments (w/ frameworks)

Slide 30

Slide 30 text

Afterthoughts • Overall satisfied • Scales pretty well • Visualization is awesome • Complex Obervability (Logs spread across streams)

Slide 31

Slide 31 text

ECS Deity Sample on github: https://github.com/ijin/ecs-deity

Slide 32

Slide 32 text

Merci :D