implementing microservicesgotocon.com/dl/goto-amsterdam-2015/slides/...rapid provisioning basic...
TRANSCRIPT
implementing microservicesRemmelt Pit@[email protected]
since2003
12,000auctions
~2M uniquevisitors/month
modularsite & admin & API
trouble!scalability
trouble!stability
basicallywe wanted to go faster
Rapid ProvisioningBasic MonitoringRapid App DeploysDevOps Culture— Martin Fowler
tech challenge #1getting started
RTFM
RTFMWTFM
acceptance criteria:
API endpoint: GET /highestbid → json
Events: BidAcceptedEvent{ ..., "bid_amount":12.34, ... }
tech challenge #2monolith first?
distributed monolith— Tareq Abedrabbo
tech challenge #3building things
#! /bin/sh
IMAGE=bvaauctions/auction-queryTAG=$(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
tech challenge #4monitoring
tech challenge #5hidden complexity
ls -l | grep "str" | wc -l
services with theguts on the outside— Gartner
tech challenges
1. getting started → start small2. monolith first? → iterate quickly3. building things → automate4. monitoring → aggregate & visualise5. hidden complexity → be aware
TODO
—chaos monkey—failure modes (simulate slow network)—mesos/coreos/kubernetes?—kpi monitoring—bulkheads, circuit breakers—e2e testing with fake data in
production
Q?