Какво е Ansible?

Винаги е препоръчително да се автоматизира излишният процес като разгръщане или конфигурация и управление на сървъра, които иначе отнемат много време и усилия. Това е един такъв инструмент с отворен код, разработен и поддържан от Red Hat, който автоматизира процеса на осигуряване, управление на конфигурацията, внедряване на приложения, непрекъсната доставка, сигурност и съответствие и оркестрация. На високо ниво, това е прост език за автоматизация, който може да опише инфраструктурата на ИТ приложенията, жизнения цикъл на приложенията в изгодни игрални книги. Той използва YAML, който е четим от човека език за сериализиране на данни.

разбиране

Той е прост, мощен и без агент. Най-големият разлика между ansible и други инструменти се крие в архитектурата, той работи по модел „Push“, т.е. не е необходим допълнителен софтуер за инсталиране на сървъра. По подразбиране управлява отдалечени връзки през SSH (Linux & Unix) или WinRM (windows).

По-долу е тази диаграма на архитектурата на Ansible

Нека да видим подробно функционалността на отделните компоненти.

Двигателят за отговорна автоматизация включва инвентаризация, API, модули и плъгини.

Отговорна книга за възпроизвеждане: използва плейбука за автоматизация и организиране на ИТ инфраструктура. Тази игрална книга се състои от задача за автоматизация, която служи като вход към двигателя на ансибилната автоматизация, който описва как ще работи определено парче автоматизация.

Тази игрална книга се състои от серия „игра“, която определя задачата за автоматизация в набор от хостове, известни като „Инвентар“. Всяка „игра“ се състои от множество задачи, които могат да обслужват един или повече хост, присъстващи в инвентара. Всички тези задачи направиха повикване към модул Ansible, който представлява малко парче код, което изпълнява конкретна задача.

Типичен пример за задача може да бъде инсталиране на всеки софтуер или поставяне на конфигурационен файл в сървъра. По-сложна задача може да бъде завъртането на цялата инфраструктура за облачно формиране в Amazon EC2.

Той се предлага със стотици модули, вариращи от управление на мрежови устройства, просто управление на конфигурацията, до модули за поддържане на инфраструктура на всеки облачен доставчик.

Тези модули са проектирани по такъв начин, че той първо проверява дали задачата трябва да бъде изпълнена или не, например, ако отговорната задача е да стартира Tomcat сървър, тогава задачата ще се изпълни само ако вече не се изпълнява. Това явление се нарича "Idempotency", което позволява да се извърши конфигурация многократно, без никакъв хаос.

Тези задачи за игра могат също да бъдат използвани повторно, тези единици за многократна употреба се наричат ​​„роля“. Тези роли могат лесно да се използват за изпълнение на излишни задачи, като например да се прилага обща конфигурация на сървъра в целия сървър за разработка, UAT и производствен сървър.

Забележка: не е нужно да пишете тези роли от нулата, сайтът на общността Ansible Galaxy съдържа хиляди роли, които можете да използвате и персонализирате според вашите нужди.

Какво можете да направите с Ansible?

С това можете да автоматизирате посочените по-долу задачи. нека да видим някой пример за частици, за да го разберем по лесен начин.

Да допуснем, че имате уеб приложение Java, което трябва да бъде внедрено в множество сървъри, т.е. dev, UAT и prod. За да разгърнете военния файл, първо трябва да настроите уеб сървъра и сървъра на бази данни на цялата машина. Също така, едни и същи SQL скриптове трябва да стартират във цялата база данни, за да настроят базата данни. Сега няма смисъл да изпълнявате тази излишна задача ръчно.

С това всичко, което трябва да направите, е да запишете прости задачи в плейбук и Ansible ще изпълни тези излишни задачи за вас.

Необходими умения

За разлика от марионетки и готвачи (инструмент за автоматизация като ansible), който изисква познаването на рубин, с ansible не е нужно да научите никакъв сложен език за програмиране. Ansible използва YAML, който е четлив на човека език на високо ниво, който лесно може да бъде разбран от ИТ администратора. Също така, повечето от най-често срещаните задачи са налични във формата, ако тетрадката в Ansible Galaxy Community, която можете да разширите според вашите изисквания.

Защо трябва да използваме Ansible?

Досега говорихме за какво е способен Ansible. Сега да видим защо трябва да използваме Ansible в нашите проекти.

  1. Използвайки това, можете да съкратите определени процеси от часове на минути.
  2. Елиминира повтарящите се задачи
  3. Спестява време и подобрява производителността.
  4. По-малко грешки и грешки.
  5. Повишаване на отчетността и спазването.

Коя е подходящата аудитория за изучаване на Ansible технологии?

Сигурно мислите, че тази технология е свързана с ИТ инфраструктурата и поддръжката, за която обикновено се грижи ИТ администраторът или екипът за внедряване и вие, като разработчик, няма нужда да разбирате това, но позволете ми да наруша този стереотип. Както знаете, че в DevOps разработката и операциите е интегрирана, тя осигурява стабилна среда както за развитие, така и за операции. По този начин е важно програмистът да разбере задачата, записана в плейбеците, и ако има някаква промяна в средата за разработка, той / тя трябва да бъде в състояние съответно да направи промени в плейбука за други среди, за да плавно оркестрира жизнения цикъл на приложението.

Как тази технология ще ви помогне в кариерния растеж?

Това е задължителна технология в автобиографията ви. В днешно време всяка друга компания се опитва да автоматизира всички процеси, които е в състояние, за да увеличи общата производителност и ефективност на приложението и ресурсите. Корпоративни приложения, които обикновено са разположени на различни сървъри по целия свят, изискват постоянна конфигурация и управление на сървъра, което изисква доста време и усилия. Ако имате много добри познания за инструмент за автоматизация като Ansible и сте в състояние да напишете playbook, за да автоматизирате тази излишна задача, това определено ще ви раздели и ще ви помогне в кариерния ви растеж.

заключение

След като прочетете тази статия, трябва да имате ясно разбиране за това какво е Ansible, на какво е способен и как можете да подобрите общата ефективност и продуктивност във вашия проект, като внедрите Ansible. Ако искате да навлезете задълбочено в тази тема, можете да проверите бялата книга и примерните плейбуки, достъпни на официалния уебсайт на Red Hat Ansible.

Препоръчителни статии

Това е ръководство за това какво е отговор. Тук обсъдихме работата на Ansible, както и как и къде може да помогне в кариерния растеж. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Как се използват отговорните команди
  2. Какво е PowerShell?
  3. Какво е Python?
  4. Какво е Apache