DevOps — це більше, ніж автоматизація розробки програмного забезпечення та культура спільної роботи. Методологія об’єднує технології AI, ML, IoT, хмарні обчислення тощо. Просторами інтернету гуляє безліч списків DevOps-інструментів для збірки, контролю версій, керування конфігурацією, управління проєктами та інцидентами. Які з них дійсно треба додати у свій стек?
У цьому матеріалі ми розглянемо кілька основних інструментів, які точно мають бути в резюме та робочому профілі DevOps-інженера.
Splunk — це програмна платформа для пошуку, аналізу та візуалізації створених машиною даних або логів, зібраних із вебсайтів, програм, датчиків, пристроїв тощо, які складають вашу ІТ-інфраструктуру та бізнес.
Особливості:
Зберігайте, шукайте, аналізуйте та візуалізуйте створені машиною дані
• Splunk приймає дані у декількох форматах файлів
• Дає змогу створювати об'єкти знань для оперативної розвідки
• Відстежує бізнес-метрики, щоб отримати інформацію логів
Компанії, які використовують Splunk:
ELK — це комбінація трьох потужних інструментів з відкритим кодом: Elasticsearch, Logstash і Kibana, які використовуються для збору аналітичних даних із ваших журналів або даних.
Особливості:
Виконуйте пошук майже в реальному часі
• Опенсорсний інструмент із кількома плагінами
• Легкий та простий у розгортанні
• Збирає та аналізує логи з файлу Excel до бази даних або сервера
• Має активний форум для підтримки та дискусій
Компанії, які використовують ELK:
Nagios — це потужна система моніторингу, яка дозволяє вам і вашій організації виявляти та розв'язувати проблеми ІТ-інфраструктури до того, як вони вплинуть на критичні бізнес-процеси.
Особливості:
Плануйте оновлення інфраструктури до того, як застарілі системи спричинять збої
• Nagios відстежує та усуває проблеми продуктивності сервера
• Автоматично виправляє проблеми при їх виявленні
Компанії, які використовують Nagios:
Ansible — це опенсорсний інструмент, який надає один із найпростіших способів автоматизації ваших додатків та ІТ-інфраструктур, таких як налаштування мережі, розгортання хмари та створення середовищ розробки.
Особливості:
• Інструмент керування конфігурацією з відкритим кодом
• Підтримує push конфігурацію
• Не має агентів і використовує простий синтаксис, написаний в форматі YAML
Компанії, які використовують Ansible:
Chef — це потужний інструмент автоматизації керування конфігурацією, за допомогою якого можна перетворювати інфраструктуру на код.
Особливості:
• Ще один інструмент керування конфігурацією з відкритим кодом
• Підтримує кілька платформ, таких як AIX, RHEL/CentOS, FreeBSD
• Легка інтеграція з хмарними платформами
• Активна підтримка спільноти, що швидко зростає
Компанії, які використовують Chef:
Puppet — опенсорсний інструмент керування конфігурацією, який використовується для автоматизації методу перевірки, доставки та експлуатації вашого програмного забезпечення протягом усього життєвого циклу з незалежністю від платформи.
Особливості:
• Puppet дозволяє просто налаштувати і згодом швидко керувати майже кожною мережею на базі будь-якої операційної системи Red Hat, CentOS, Fedora, Debian, Ubuntu, OpenSUSE, Solaris, BSD, Mac OS X і Microsoft Windows
• Має багатий комерційний послужний список
Компанії, які використовують Puppet:
Docker — інструмент, який використовує контейнер для упаковки програми з усіма вимогами та залежностями перед відправкою повного контейнера як одного пакета.
Особливості:
• Можна використовувати контейнер Docker з будь-якою мовою
• Доставити контейнер можна куди завгодно, будь то QA, ваша команда чи навіть хмара
• Масштаб до 1000 вузлів
• Оновлення без простоїв
Компанії, які використовують Docker:
Selenium — це портативна платформа тестування програмного забезпечення для вебдодатків. Надає вам простий інтерфейс для розробки автоматизованих тестів.
Особливості:
• Безплатний інструмент із відкритим кодом
• Можна створювати надійні пакети й тести регресії на основі браузера
• Підтримує написання тестових сценаріїв кількома мовами, такими як Java, Python, C#, Ruby, Perl, Php, JavaScript
• Підтримує мультиплатформність для тестування, як-от iOS та Android
• Легко створити структуру для WebDriver на основі ключових слів
Компанії, які використовують Selenium:
Jenkins — це сервер безперервної інтеграції, написаний на Java. Ви можете використовувати його для тестування та звітування про зміни майже в реальному часі. Інструмент допоможе вам швидко знаходити та вирішувати помилки у вашому коді та автоматизувати тестування їх збірки.
Особливості:
• Безплатний інструмент із відкритим кодом
• Дозволяє інтегрувати всі етапи DevOps за допомогою близько 1000 плагінів
• Можна створювати сценарій конвеєра з одним або кількома завданнями збирання в єдиний робочий процес
• Легко запускається Jenkins за допомогою файлу WAR
• Надає кілька способів зв’язку: вебграфічний інтерфейс, CLI та REST API
Компанії, які використовують Jenkins:
Git — це система контролю версій, яка дозволяє вам відстежувати зміни у вашому файлі. Використовуючи її, ви можете легко координувати роботу вашої команди.
Особливості:
• Безплатний інструмент із відкритим кодом
• Робочий процес гілки функцій
• Дозволяє розподілену розробку
• Підтримує Pull Request
• Забезпечує швидший цикл випуску
Компанії, які використовують Git:
Які з перерахованих інструментів є у вашому резюме? Можливо, на ваш погляд ми про щось забули? Пишіть у коментарях, бо сила DevOps — в активній спільноті.
Юліана Дегтярьова
Знайдіть свого ідеального DevOps-інженера. Це швидше, ніж ви думаєте.
Досліджуємо тихий найм: його ключові особливості, переваги для працівників та поради, як скористатися цим ефективним методом залучення талантів
Перша в Україні платформа з пошуку роботи для DevOps-інженерів NETFORCE Jobs створена для того, щоб допомагати пошукачам та роботодавцям знаходити один одного.
Дізнайтесь про обов'язки сисадміна, як отримати першу роботу, яку зарплату очікувати та які кар'єрні перспективи є у цій сфері.