Да автоматизираме ИТ инфраструктурата.

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

Да не забравяме и общата цена на инфраструктурата.

Но благодарение на модерните технологии и философия като DevOps, това вече не е проблем.

Сега имаме няколко инструмента за изпълнение на задачи за създаване, внедряване и управление на инфраструктура. Чрез използването на правилния софтуер човек може да автоматизира цялата инфраструктура с по-малко човешко участие. Не говоря за лесни неща, а за сложни задачи като осигуряване на инфраструктура, цялостна настройка на приложения и т.н.

Автоматизацията на инфраструктурата е процес на внедряване на хардуерни/софтуерни компоненти, операционна система, мрежови компоненти, компонент за съхранение на данни чрез използване на IaC (инфраструктура като код). Този процес има човешка намеса само за писане на такъв код, който ще има всеки детайл за създаване и внедряване на необходимите компоненти.

Ето списък на най-популярните инструменти за автоматизация на инфраструктурата, широко използвани в индустрията.

Анзибъл

Анзибъл е ИТ машина с отворен код без агенти, която автоматизира внедряването на приложения, управлението на конфигурацията, ИТ оркестрацията. Той е основан през 2012 г. и е написан на най-модерния език в момента, Python. За да приложи цялата автоматизация, Ansible използва книга за игра, където всички конфигурации са написани на разбираем за човека език, YAML.

Ако сте начинаещ, вижте това въведение в Ansible.

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

  Как да вмъкнете емоджи във Photoshop

Ansible функции:

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

За предприятието Red Hat предлага Ansible Tower.

Ansible умението е добро за Sysadmin, Developer, Infra инженер и ако имате нужда от малко начало, вижте това Урок за Udemy.

SaltStack

SaltStack може да извършва бързо управление на инфраструктурата, управление на конфигурацията, оркестрация. В сравнение с други подобни инструменти като Chef и Puppet, бързата скорост на SaltStack е съществена разлика тук. Първоначалното му издание се случи през 2011 г. и точно като Ansible, той също е написан на Python.

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

Характеристики на SaltStack:

  • Проектиран за мащаб и скорост, той може да се справи с до 10 000 миньони на майстор.
  • Много лесен за настройка, има единична архитектура за дистанционно изпълнение.
  • Конфигурационните файлове в SaltStack поддържат всички видове езици.
  • Може да изпълнява паралелно команди на отдалечени системи, което помага за бързото прилагане на автоматизацията.
  • Осигурява прост интерфейс за програмиране, използвайки API на Python.
  Разбиране на списък в Python – с примери

готвач

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

Chef е инструмент за управление на конфигурацията за управление на инфраструктурата. Написан е на Ruby и първоначалното издание се случи през 2009 г. от OpsCode.

Главен готвач Управление на инфраструктурата продуктът поддържа всяка среда в съответствие със същите конфигурации в инфраструктурата. Той предоставя различни инструменти като Chef Infra, Chef Automate, Chef Enterprise и Chef Community за управление на инфраструктурата.

Функции за управление на инфраструктурата на главния готвач:

  • Конфигурациите са написани на YAML, лесен за научаване на четим от човека език.
  • Предлага се с множество инструменти за разработка за писане на готварски книги (конфигурации), тестване и разрешаване на зависимости.
  • Функции за лесно сътрудничество в корпоративното издание за лесно справяне със сложни среди.
  • Поддържа интеграция със стотици DevOps инструменти като GitHub, Jenkins, Azure Terraform.

Болт

Болт е един от проектите с отворен код на Puppet.

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

Тъй като Bolt е без агент, не е необходимо да инсталирате агентски софтуер на отдалечените целеви машини. Трябва да инсталирате Bolt на вашата локална система и можете да свържете отдалечените целеви системи чрез SSH или WinRM.

  Всичко, което трябва да знаете

Характеристики на болта:

  • Напишете болтов план (комбинация от команди, скриптове и задачи) в YAML, лесен за използване и научаване.
  • Много съществуващи планове и работни процеси са достъпни от Ковачница за кукли (модулна библиотека).
  • Преместете вашата автоматизация от Bolt към Puppet Enterprise с лекота за по-добра скалируемост.

Тераформа

Тераформа е инструмент за осигуряване на инфраструктура с отворен код, използван за създаване и внедряване на инфраструктура, използваща инфраструктура като код (IaC). Hashicorp го разработи и първоначалното пускане се случи през 2014 г.

Вижте въвеждането на Terraform за начинаещи.

Terraform работи доста добре с облачни доставчици като AWS, Azure, GCP, Alibaba. Можете да разположите и управлявате вашата инфраструктура на всеки от тези облачни доставчици, като използвате Terraform с лекота. В момента terraform се използва широко от много организации за управление на техните Kubernetes клъстери.

Предимства на Terraform:

  • Управлява лесно конфигурацията на неизменна инфраструктура.
  • Може да направи пълна оркестрация на инфраструктурата, а не само управление на конфигурацията.
  • Използва HashiCorp Configuration Language (HCL), който е четим от хора и много лесен за научаване.
  • Осигурява готови модули и доставчици за стотици инструменти и технологии чрез тераформен регистър.

След като решите да го използвате, не забравяйте да следвате тези най-добри практики на Terraform.

Заключение

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

By admin