This talk was given at Docker Meetup Amsterdam on 10 July 2014. It describes the why, what and how we are using Docker for continuous delivery at magnetic.io and how it integrates into the platform we are building.
2. So what’s magne6c.io?
- Next-gen e-commerce platform aimed at the
enterprise market
- Integrate Continuous Delivery from the ground up
- Cocktail of PaaS, containers and micro services
3. Four whys
- Why Docker? => Because encapsulation.
- Why encapsulation? => Because micro services.
- Why micro services? => Because Continuous
Delivery.
- Why continuous delivery? => Because time to
market is king.
4. What’s out there already
- Skydock (https://github.com/crosbymichael/skydock)
- Deis (http://deis.io/)
- Docker-Discover (https://www.npmjs.org/package/
docker-discover
- Thalassa (https://github.com/PearsonEducation/
thalassa-aqueduct)
6. How do we do it?
!
██╗ ██╗ █████╗ ███╗ ███╗██████╗
██║ ██║██╔══██╗████╗ ████║██╔══██╗
██║ ██║███████║██╔████╔██║██████╔╝
╚██╗ ██╔╝██╔══██║██║╚██╔╝██║██╔═══╝
╚████╔╝ ██║ ██║██║ ╚═╝ ██║██║
╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
version 1.1
by magnetic.io
!
==> Starting cluster bootstrap...
==> info: Hazelcast port => 5701
==> info: Vertx Eventbus port => 5702
==> info: ETCD host => 10.0.42.1
==> info: ETCD port => 4001
==> info: ETCD base path => /vamp/bootstrap
==> info: Public IP => 172.17.8.103
==> info: Physical hostname => core-03
==> info: Container hostname => f9dc53532ff4
==> info: Vertx module to run => vamp-agent-0.1.0
==> info: Connecting to ETCD
==> info: Connected to ETCD at 10.0.42.1:4001
==> info: Vamp Bootstrap will try to cluster with started remote host 172.17.8.101
==> info: Starting Vamp Bootstrap with module vamp-agent-0.1.0
==> info: Waiting for Vamp Bootstrap to come online...
==> info: Vamp Bootstrap was started with PID 24 and public IP 172.17.8.103
11. Challenges
- Splitting services into multiple containers vs.
multiple actors in one container
- When scaling out, how do you determine which
services should be scaled?
12. Elephants…
- Persistent storage & databases
- Container & micro services life cycle management
- Transactional integrity across services