I recently needed to conduct a research on the various continuous deployment tools available.
My results are summed up in this table:
|
|
Chef
|
Puppet
|
Ansible
|
CodeDeploy
|
Docker
|
|
What is
it
|
A
master-worksation service with OO DSL for deployment, uses git (ruby based) web
UI on enterprise edition
|
A
master-worksation service with OO DSL for deployment (ruby based) web UI on
enterprise edition
|
Yaml based script,
Push architecture,
no clients (python based)
|
AWS
deployment tool UI from AWS console
|
A
container for a software environment so that the deployment env matches the
dev env similar to AMIs
|
|
How to
use
|
Install
both client and server. Build the script trigger the workstations
|
Install
both client and server .Build a manifest in the puappetmaster and then run
the puppet script on every station
|
Install server.
Create a playbook in yaml
|
Install on
the servers and then use web UI to configure
|
Create a
new (or use a perdefined one as basis) container.
Install what
you need.
Commit
it as a container. Upload to hub.
Install it
wherever you want
|
|
Learning
curve
|
Need to
learn the scripting language
|
Need to
learn the scripting language
|
Need to
learn the scripting language (but a simple one)
|
Very
simple streightforward
|
Fast. Just
a few docker commands
|
|
Price
|
Free
with enterprise edition (6$ per node)
|
Free
with enterprise edition (112$ per node)
|
Free
|
Free for
now
|
Free
open source
|
|
Scaling
|
Checf
server deploys to multiple stations easily but no push
|
puppetmaster
deploys to multiple stations easily using push
|
Ansible
quick deployment to multiple severs
|
No prob
|
infinite
|
|
Environment
support
|
All
|
All
|
All
|
All
|
Linux
(based on linux containers)
|
|
On-premise
|
Can be
deployed on on-premise servers
|
Can be
deployed on on-premise servers
|
Can be
deployed on on-premise servers
|
EC2 only
|
No prob
|
|
Supported
langs
|
All
|
All
|
All
|
All
|
All
|
|
Cons
|
Takes some
disk space (especcialy server). No push feature
|
Complexity
of scripts. Steep learning curve. Expensive enterprise edition
|
Very simple
- less control. No code reuse
|
Must use
github (for now)
Less
environment configuration options
|
Need to
build entire image. Slow deployment.
|
|
pros
|
downloadable
playbooks, strong community, cheap (not really necessary) paid edition
|
Fast,
reusable, widely used, big community with downloadable modules
|
Fast,
simple, no clients, downloadable playbooks
|
Great
EC2 integration.
Automatic
built in CD support. Very simple.
|
Community
containers, full environment (very safe), simple (no need to learn a new language)
|
No comments:
Post a Comment