index.rst 4.43 KB
Newer Older
1
. image:: http://ansible.github.com/mpd_rings.jpg
Michael DeHaan committed
2 3 4
   :height: 225
   :width: 300
   :alt: ""
5
   :target: http://photos.michaeldehaan.net/infrared/h3d850bdf#h3d850bdf
6
.. image:: http://ansible.github.com/mpd_tunnel.jpg
Michael DeHaan committed
7 8 9 10
   :height: 225
   :width: 337
   :alt: "" 
   :target: http://photos.michaeldehaan.net/favorites/h2428aca7#h2428aca7
11
.. image:: http://ansible.github.com/mpd_tubes.jpg
12 13 14 15
   :height: 225
   :width: 225
   :alt: "" 
   :target: http://photos.michaeldehaan.net/ncsu/h3b63b68e#h3b63b68e
Tim Bielawa committed
16

17 18
Introducing Ansible
===================
Tim Bielawa committed
19

20 21
Ansible is a radically simple deployment, model-driven configuration management, 
and command execution framework. Other tools in this space have been too
22 23 24
complicated for too long, require too much bootstrapping, and have too
much learning curve.  Ansible is dead simple and painless to extend.
For comparison, Puppet and Chef have about 60k lines of code.
25
Ansible's core is a little over 1000 lines.
26

27
Ansible isn't just for idempotent configuration -- it's also great for ad-hoc
28 29
tasks, quickly firing off commands against nodes.  See :doc:`examples`.
Where Ansible excels though, is expressing complex multi-node 
30 31
deployment processes, executing ordered sequences on 
different sets of nodes through :doc:`playbooks`.
32 33

Extending ansible does not require programming in any particular
34
language -- you can write :doc:`modules` as scripts or programs that return
35 36 37
simple JSON.  It's also trivially easy to just execute useful shell
commands.

38
Why use Ansible versus something else?  (Puppet, Chef, Capistrano, etc?) Ansible will have far
39 40 41 42 43 44
less code, it will be (by extension) more correct, and it will be the
easiest thing to hack on and use you'll ever see -- regardless of your
favorite language of choice.

Systems management doesn't have to be complicated.  Ansible's docs
will remain short & simple, and the source will be blindingly obvious.
Tim Bielawa committed
45

46 47 48
Architecture
````````````

49
.. image:: http://ansible.github.com/ansible_arch.jpg
50
   :alt: "Architecture Diagram" 
51 52
   :width: 648
   :height: 464
53

Tim Bielawa committed
54

55 56
Features
````````
Tim Bielawa committed
57 58 59

* Dead simple setup
* Super fast & parallel by default
Michael DeHaan committed
60
* No server or client daemons; use existing SSHd out of the box
Tim Bielawa committed
61
* No additional software required on client boxes
62
* Can be easily run from a checkout, no installation required
63
* Modules are idempotent, but you can also easily use shell commands
Tim Bielawa committed
64 65
* Modules can be written in ANY language
* Awesome API for creating very powerful distributed scripts
66
* Does not have to run remote steps as root
67 68 69 70
* Pluggable transports (SSH is just the default)
* Source host info & variables from files or external software
* The easiest config management system to use, ever.

Tim Bielawa committed
71

Michael DeHaan committed
72 73
Resources
`````````
Tim Bielawa committed
74

75
Your ideas and contributions are welcome.  We're also happy to help 
76
you with questions about Ansible.
77

78
* Visit the `project page <https://github.com/ansible/ansible>`_ on Github
79 80 81
* View the `issue tracker <https://github.com/ansible/ansible/issues>`_
* Visit the `Google Group <http://groups.google.com/group/ansible-project>`_
* Join `#ansible <irc://irc.freenode.net/#ansible>`_ on the `freenode IRC network <http://freenode.net/>`_
82

83 84 85 86 87 88 89 90 91 92 93 94
.. raw:: html

   <img src="http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif" height=30 width=140 alt="Google Groups">
   <br/>
   <b>Subscribe to Ansible Project</b>
   <br/>
   <form action="http://groups.google.com/group/ansible-project/boxsubscribe">
   <br/>
   Email: <input type=text name=email>&nbsp;&nbsp;<input type=submit name="sub" value="Subscribe">
   <br/></br>
   </form>
   <br/>
95 96 97 98


Contents
========
Tim Bielawa committed
99 100 101 102 103 104

.. toctree::
   :maxdepth: 3

   gettingstarted
   patterns
Michael DeHaan committed
105
   examples
Tim Bielawa committed
106
   modules
107
   YAMLSyntax
Tim Bielawa committed
108 109
   playbooks
   api
110
   moduledev
111
   faq
Tim Bielawa committed
112
   man
113 114 115 116

About the Author
````````````````

Michael DeHaan committed
117
Ansible was originally developed by `Michael DeHaan <http://michaeldehaan.net>`_ (`@laserllama <http://twitter.com/#!/laserllama>`_), a Raleigh, NC
Michael DeHaan committed
118 119
based software developer and architect.  He created the popular
DevOps program `Cobbler <http://cobbler.github.com/>`_.
120 121 122
Cobbler is used to deploy mission critical systems all over the
planet, in industries ranging from massively multiplayer gaming, core
internet infrastructure, finance, chip design, and more.  Michael also
Michael DeHaan committed
123
helped co-author `Func <http://fedorahosted.org/func/>`_, a precursor to Ansible, which is used to
124 125
orchestrate systems in lots of diverse places.  He's worked on systems
software for IBM, Motorola, Red Hat's Emerging Technologies Group,
Michael DeHaan committed
126
Puppet Labs, and rPath.  Reach Michael by email `here <mailto:michael.dehaan@gmail.com>`_.