implementing microservices Remmelt Pit @remmelt_ remmelt@info.nl - - PowerPoint PPT Presentation

implementing microservices
SMART_READER_LITE
LIVE PREVIEW

implementing microservices Remmelt Pit @remmelt_ remmelt@info.nl - - PowerPoint PPT Presentation

implementing microservices Remmelt Pit @remmelt_ remmelt@info.nl since 2003 12,000 auctions ~2M unique visitors/month modular site & admin & API trouble! scalability trouble! stability basically we wanted to go faster Rapid


slide-1
SLIDE 1

implementing microservices

Remmelt Pit @remmelt_ remmelt@info.nl

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4

since

2003

slide-5
SLIDE 5

12,000

auctions

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

~2M unique

visitors/month

slide-11
SLIDE 11

modular

site & admin & API

slide-12
SLIDE 12

trouble!

scalability

slide-13
SLIDE 13

trouble!

stability

slide-14
SLIDE 14

basically

we wanted to go faster

slide-15
SLIDE 15
slide-16
SLIDE 16

Rapid Provisioning Basic Monitoring Rapid App Deploys DevOps Culture

— Martin Fowler

slide-17
SLIDE 17

tech challenge #1

getting started

slide-18
SLIDE 18

RTFM

slide-19
SLIDE 19

RTFM

WTFM

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23

acceptance criteria: API endpoint: GET /highestbid → json Events: BidAcceptedEvent { ..., "bid_amount":12.34, ... }

slide-24
SLIDE 24

tech challenge #2

monolith first?

slide-25
SLIDE 25

distributed monolith

— Tareq Abedrabbo

slide-26
SLIDE 26

tech challenge #3

building things

slide-27
SLIDE 27
slide-28
SLIDE 28 #! /bin/sh IMAGE=bvaauctions/auction-query TAG=$(git rev-parse --short HEAD) docker run --rm \
  • v "$PWD":/usr/src/project \
  • w /usr/src/project \
  • v "$HOME"/.m2:/root/.m2 \
maven:3.3-jdk-8 \ mvn -B clean verify docker build -t $IMAGE:$TAG . docker push $IMAGE:$TAG
slide-29
SLIDE 29

tech challenge #4

monitoring

slide-30
SLIDE 30
slide-31
SLIDE 31

tech challenge #5

hidden complexity

slide-32
SLIDE 32

ls -l | grep "str" | wc -l

slide-33
SLIDE 33

services with the guts on the outside

— Gartner

slide-34
SLIDE 34

tech challenges

  • 1. getting started → start small
  • 2. monolith first? → iterate quickly
  • 3. building things → automate
  • 4. monitoring → aggregate & visualise
  • 5. hidden complexity → be aware
slide-35
SLIDE 35

TODO —chaos monkey —failure modes (simulate slow network) —mesos/coreos/kubernetes? —kpi monitoring —bulkheads, circuit breakers —e2e testing with fake data in production

slide-36
SLIDE 36

Q?

slide-37
SLIDE 37