agrant
winning @ development environments in a world of microservices
Oldschool Dev Env
who cares?
and once I'm done coding
Ops
Dev
New Production Env
New Dev Env
why?
- Faster development loop
- End to end requirements
- Shared dependencies that are hard to stub/mock
complexities?
- sequencing startup and provisioning of different services
- version control of multiple dependencies to be managed
- different dev OS/platforms make:
- provisioning hard
- dev-prod parity nearly impossible (factor X of XII)
config.vm.provision :docker, images: ['rabbitmq:3-management', 'mongo:3.2.8'] do |d|
d.run "rabbit-dev",
image: "rabbitmq:3-management",
args: "-d --hostname my-rabbit --name rabbit-dev -p 8080:15672 -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 25672:25672",
restart: "always"
d.run "mongo-dev",
image: "mongo:3.2.8",
args: "-d -p 27017:27017 -h mongo-dev",
cmd: "--replSet rs0 --storageEngine wiredTiger",
restart: "always"
end
An Example
From GorillaStack
Vagrant
By em0ney
Vagrant
- 1,080