官术网_书友最值得收藏!

Introduction

Ansible is a modern automation tool that makes our lives easier by helping us manage our servers, deployments, and infrastructure. We declare what we want and let Ansible do the hard work. Some of the things that Ansible can do are as follows:

  • Install and configure software
  • Manage users and databases
  • Deploy applications
  • Remote execution
  • Manage Infrastructure as Code

We will focus on the Infrastructure as Code part of Ansible for a significant part of this book.

Ansible has certain distinct advantages over other similar tools.

  • Ansible is agentless. So we do not need to install any software on the servers that are to be managed. It does require Python runtime on the servers and a SSH server on remote hosts.
  • Ansible supports both push and pull modes. So we can execute Ansible code from a central control machine to make changes on remote machines or the remote machines can pull configuration from a well defined source periodically.
  • Code for Ansible is written in YAML (http://yaml.org/), which stands for YAML Ain't Markup Language. Ansible did not create and manage a language (or DSL) from scratch. YAML is easy to read, write, and understand. This makes up most of Ansible code's self documentation and reduces the learning curve of Ansible significantly.
  • Ansible does not try to re-invent the wheel. Hence it uses SSH as a transport and YAML as a Domain Specific Language (DSL). In typical cases, there are two entities involved, a system (A) where the playbook execution is initiated, and another system (B), usually remote, which is configured using Ansible:

In a nutshell, Ansible helps to manage various components of servers, deployments and infrastructure in a repeatable manner. Its self-documenting nature helps with understanding and auditing true nature of infrastructure.

主站蜘蛛池模板: 甘孜| 桦川县| 北海市| 越西县| 印江| 秦安县| 招远市| 曲阜市| 石狮市| 汪清县| 双流县| 额尔古纳市| 阜平县| 光山县| 大宁县| 武宁县| 岗巴县| 四子王旗| 永年县| 将乐县| 尼勒克县| 株洲市| 托里县| 苍南县| 当雄县| 鸡西市| 固始县| 台山市| 通渭县| 锡林浩特市| 义马市| 龙门县| 威信县| 镇远县| 东丰县| 曲靖市| 抚松县| 嘉善县| 平顶山市| 兴海县| 黎城县|