Alex Giurgiu (alex@giurgiu.io)
From this
To this
Why not use one of the mentioned solutions?
Most of them require you to write your application/workload in a custom way. To totally give in to their way of doing things.
But (I)we want to run the old/legacy applications, while gaining the same advantages
Our goals are similar
Container
Inputs
(binaries,code,packages, etc)
External services
Build process
State
"common enough that a generalized solution can be devised"
"should be applicable to both in-house or external applications"
- bring the state locally, relative to where the container runs
- should be taken care by your deployment/PaaS solution
- advantages: write/read speeds, reliability
- disadvantages: potentially slow deploys, complex orchestration
- keep state remotely and "mount" it where the application is deployed
- can be done by your PaaS solution or by the container itself
- advantages: simpler to orchestrate, fast deploys
- disadvantages: write/read speeds, (un)reliability
Flocker - https://github.com/ClusterHQ/flocker
?
(service discovery)
(service discovery)
(service discovery)
Can be done
Most importantly, each container should provide metadata about the service its running.
2 perspectives
(monitoring)
(monitoring)
(monitoring)
(DTrace for Linux)
(logging)
Multiple approaches
(logging)
What do we do about log ordering?
(authentication)
(authorization)
Easy way
- mount external volume that contains credentials, ssh keys or even ssh agent sockets
- doesn't require authentication
- increases the complexity of your deployment solution
Hard way
- store credentials in a centralized service
- requires some form of authentication
- decreases complexity in your deployment solution
(authorization)
Crypt and Consul(or etcd)
(image build service)
Git and Jenkins?
Simple workflow
commits code
Git post commit hook
Github webhook
Jenkins test
and build
Push to
registry
Container
Inputs
(binaries,code,packages, etc)
Build process
Basic build process
Docker registry
https://github.com/docker/docker-registry
Artifactory
http://www.jfrog.com/open-source/
(image registry)
(image registry)
The network is the last bastion of inflexibility.