8 ms·
I have a more general question for you: I am a senior developer who is starting to figure out devops because I need to deploy two different products we built. I
by polysics 12y ago
I have a more general question for you: I am a senior developer who is starting to figure out devops because I need to deploy two different products we built. I have limited Chef and Ansible experience and pretty good Unix skills.
Should I start out with Docker or am I missing some crucial pieces I should go through first?
The use case is "media processing services" in one case, and a sports betting game in the other.
- cgb_ 12y agoDocker has a lot of rough edges and it's most useful in large scale-out deployments. In-band devops tools like Chef and Ansible are relatively agnostic to the hypervisor or container solution, so if you only need a few OS instances & managed configuration, I suggest sticking with Chef/Ansible/Puppet (I prefer ansible :)). You can always scale out with docker later and I know at least ansible are adressing this use case (http://www.ansible.com/docker http://www.ansible.com/docker).
- 23david 12y agoMy advice is to stick with a mature configuration management solution like Chef/Puppet/Saltstack/Ansible, and then add on Docker as an optimization. Saltstack in particular has really good Docker integration at this point, which may be useful. YMMV.
- vacri 12y agoI used puppet (masterless) in a small company, and in my new company I'm using Ansible and Docker. Puppet and Chef are great, but they're overkill unless you have large infrastructure. If there's only one of you doing 'ops', you don't have large enough infra (in my opinion). Ansible is easy to configure and learn, and doesn't wrap you in dependency hell like puppet can. I would avoid Docker until you have a use-case that Docker solves for you. Use your preferred distro's packaging technique. It can be a bit of a pain (.deb in particular) to start with, but once you're familiar, it's portable and manageable with your OS's native tools. Things 'just work', and don't need an agent to be installed and kept up-to-date. If something goes wrong, it's in your OS's standard logs, not some strange arcane location. And most importantly, you have a bigger pool of interneteers to help learn from and troubleshoot with. I can't complain about the Docker IRC channel, good experience there, but there's still fewer of them. If you are a .debber and want your own repo, check out Aptly, which makes life much easier than previous repo software on offer. http://www.aptly.info/ http://www.aptly.info/ TL;DR: Docker is 'another thing to learn', and it's not trivial. Put it off until it solves a problem for you; there's plenty of other stuff to get up to speed with.
- xorcist 12y agoDon't try introducing two new technologies at one time. You pretty much have to use configuration management regardless if you're on Docker or not, so I would absolutely recommend to start with Ansible (or Salt/Puppet/Chef) and use that to its fullest potentinal. Only then do you know what your use case for containers are, and how to set them up effectively using your configuration management infrastructure.