DevOps-інструменти, які має вивчити кожен у 2020 році

Почни застосовувати найкращі DevOps-інструменти вже сьогодні!

DevOps-інструменти, які має вивчити кожен у 2020 році
DevOps-революція нарешті захопила світ, і DevOps-інструменти стали неймовірно популярними. За даними сервісу Google Trends, кількість запитів "DevOps tools" постійно зростає, і ця тенденція зберігається.

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

Розіб'ємо DevOps-інструменти на категорії та порівняємо з аналогами:

  • інструменти розробки та складання
  • інструменти для автоматизації тестування
  • інструменти для організації деплою
  • Runtime-інструменти
  • інструменти для спільної роботи.

Успішне та продумане впровадження DevOps-практик включає інструменти зі всіх п'яти груп, перерахованих вище. Проаналізуйте поточний набір інструментів у вашому проекті, щоб не пропустити важливий елемент CI/CD-пайплайну.

Інструменти розробки та складання

DevOps-інструменти, які має вивчити кожен у 2020 році
Це основа стека CI/CD-пайплайну. Все починається саме тут! Найкращі інструменти в цій категорії можуть керувати кількома потоками подій та легко інтегруватися з іншими продуктами.

На цьому етапі життєвого циклу розробки виділяють три групи інструментів:

  • система управління версіями (SCM)
  • безперервна інтеграція (CI)
  • управління даними (Data management)

У 2020 році GIT зарекомендував себе тільки з позитивного боку, тому ваш SCM-інструмент повинен мати бездоганну підтримку для GIT. Для CI обов'язкова умова — здатність виконувати та запускати складання в ізольованому контейнерному середовищі. Що стосується управління даними, тут потрібна можливість вносити зміни до схеми бази даних та підтримувати БД відповідно до версії програми.

Інструмент SCM + CI №1

переможець: GitLab та GitLab-CI

DevOps-інструменти, які має вивчити кожен у 2020 році
Найкращий інструмент циклу DevOps 2020, поза всяким сумнівом, GitLab, і він точно залишиться лідером інновацій у найближчому майбутньому.

Основна функція GitLab – забезпечувати комфортне керування Git-репозиторієм. Веб-інтерфейс інтуїтивно зрозумілий та зручний у використанні. GitLab надає все, що потрібно, у безкоштовній версії та поставляється як SaaS та on-prem (використання власних ресурсів для розміщення програмного забезпечення).

Жоден інший SCM-інструмент не використовував безперервну інтеграцію (CI) безпосередньо у вашій репозиторії, а GitLab це робить уже довгий час. Щоб використовувати GitLab-CI, ви повинні додати файл .gitlab-ci.yml до кореневого каталогу вихідного коду, і будь-які зміни в проекті запускатимуть дії на основі того, що саме ви вказали. GitLab та GitLab-CI заслужено визнані лідерами у галузі безперервної інтеграції (CI-as-code).

Ключові переваги

  • Надійність - Продукт існує на ринку з 2013 р.; стабільний; добре підтримується.
  • Відкритий вихідний код — Безкоштовна версія GitLab не обмежує основні функціональні можливості, які потрібні командам розробки. Платні пакети послуг надають додаткові корисні функції для компаній різних розмірів та потреб.
  • Engrained CI - Жоден інший інструмент на ринку не вбудував безперервну інтеграцію безпосередньо в SCM, як GitLab-CI. Використання Docker забезпечує безпроблемне ізольоване складання, а вбудовані звіти спрощують її налагодження (дебаггінг). Нам не потрібна складна інтеграція та керування кількома інструментами одночасно.
  • Необмежені інтеграції GitLab забезпечує просту інтеграцію всіх необхідних DevOps-інструментів. Завдяки цьому команди розробки та супроводу користуються єдиним джерелом інформації про їхнє застосування в будь-якому з оточень.

конкуренти

Брали участь у сутичці, але не перемогли

У цій категорії є й інші популярні інструменти, проте вони не такі гарні, як GitLab. І ось чому:

GitHub - Це відмінна SaaS-система управління версіями для невеликих фірм та початкових стадій розробки. Для великих компаній, яким важливо тримати IP-адреси у власній мережі, єдиним рішенням GitHub стала віртуальна машина .OVA без підтримки високої доступності. Це ускладнює обслуговування on-prem, до того ж, .OVA підійде тільки для підприємств середнього бізнесу, інакше при більшому навантаженні сервер просто впаде. Відсутність GitHub Actions (донедавна і поки не в on-prem версії) або CI-as-code означає, що вам потрібно вибрати окремий інструмент CI і потім керувати цією інтеграцією. Нарешті, GitHub набагато дорожчий, ніж будь-яка з версій GitLab.

Дженкінс — Хоча Jenkins за умовчанням вважається стандартом серед інструментів безперервної інтеграції, йому завжди не вистачало можливості управління версіями. Виходить, що ви використовуєте Jenkins плюс якийсь інструмент SCM. Занадто складно, коли GitLab вміє і те, й інше. Посередній UX-дизайн не годиться для сучасного веб-додатку і бажає кращого.

BitBucket / Bamboo — Повинен визнати його, що автоматично програв: навіщо два інструменти, коли GitLab виконує все повністю самостійно. BitBucket Cloud підтримує функціонал GitLab-CI/GitHub Action, але жодна компанія більша, ніж стартап, не зможе легко його впровадити. Сервер BitBucket версії on-prem навіть не підтримує BitBucket-пайплайни!

Інструмент керування даними №1

переможець: FlywayDB

DevOps-інструменти, які має вивчити кожен у 2020 році
У розробці веб-додатків саме автоматизації баз даних зазвичай не надають значення. Ідея розгорнути зміни схеми БД для нових версій програми приходить із запізненням. Зміни схеми часто призводять до додавання та перейменування стовпців або таблиць. Якщо версія програми не відповідає версії схеми, програма може вийти з ладу. Крім того, організувати зміну бази даних при оновленні програми може бути непростим завданням, оскільки є дві різні системи. FlyWayDB вирішує всі ці проблеми.

Ключові переваги

  • Версійність баз даних — Flyway дозволяє створювати версії баз даних, відстежувати міграції баз даних, легко переносити чи повертати зміни схеми без додаткового інструменту цього.
  • Бінарний або вбудований — Ми можемо вибрати: запускати Flyway як частину програми або як бінарний файл. Flyway перевіряє сумісність версій при старті та запускає відповідні міграції, підтримуючи синхронізацію версій баз даних та програм. Виконуючи команду cmd line ad-hoc, ми забезпечуємо гнучкість для існуючих баз даних без перебудови всієї програми.

конкуренти

Брали участь у сутичці, але не перемогли

У цій галузі не так багато інструментів. Давайте розглянемо деякі з них:

LiquiBase - Liquibase нагадує FlywayDB. Я б хотів налаштувати його поверх Flyway, якби в моїй команді був фахівець із більшим досвідом роботи з Liquibase.

Флокер — Може працювати лише для контейнерних програм. Для успішного запуску баз даних у контейнерах все має бути ідеально сплановано. Я рекомендую використовувати бази даних RDS (Relational Database Service) і не раджу зберігати важливу інформацію в контейнері.

Інструменти для автоматизації тестування

DevOps-інструменти, які має вивчити кожен у 2020 році
Почнемо обговорення інструментів для автоматизації тестування з їхньої класифікації на основі піраміди тестування.

Піраміда тестування (тестів) має 4 рівні:

  • Юніт-тести Це основа всього процесу автоматизованого тестування. Юніт-тестів має бути більшим у порівнянні з іншими видами тестів. Розробники пишуть і запускають юніт-тести, щоб переконатися, що частина програми (відома як «юніт») відповідає своїй конструкції і поводиться як належить.
  • Компонентні тести – Основна мета тестування компонента – перевірити поведінку введення/виведення об'єкта тестування. Ми маємо переконатися, що функціональність тестового об'єкта реалізована правильно відповідно до специфікації.
  • Інтеграційні тести - Вид тестування, при якому окремі програмні модулі об'єднуються та тестуються як група.
  • Наскрізні тести - Цей етап не потребує пояснень. Ми спостерігаємо за роботою всього додатка і робимо так, щоб він функціонував, як було заплановано.

Оскільки юніт-тести та компонентне тестування проводяться лише розробниками та часто залежать від мови програмування, ми не оцінюватимемо ці інструменти для області DevOps.

Інструмент для інтеграційного тестування №1

переможець: Огірок

DevOps-інструменти, які має вивчити кожен у 2020 році
Cucumber об'єднує специфікації та тестову документацію у єдиний живий документ. Специфікації завжди є актуальними, оскільки вони автоматично тестуються Cucumber. Якщо ви хочете зібрати фреймворк для автоматизованого тестування з нуля та моделювати поведінку користувача у веб-додатку, то Selenium WebDriver з Java та Cucumber BDD – чудовий спосіб вивчити та впровадити Cucumber у проекті.

Ключові переваги

  • BDD-підхід (Behavior Driven Development - "розробка через поведінку" на відміну від підходу "розробка через тестування") - Cucumber призначений для BDD-тестування, він спочатку створювався саме для цього завдання.
  • Жива документація – Документація – це завжди біль! Оскільки ваші тести описані як код, Cucumber тестує автоматичну генеровану документацію, щоб переконатися, що тести та документація синхронізовані.
  • Підтримка — Ми можемо вибирати з безлічі інструментів, але саме Cucumber має необхідні фінансові ресурси та добре організовану систему підтримки, щоб допомогти користувачам у будь-якій складній ситуації.

конкуренти

Брали участь у сутичці, але не перемогли

Серед інших фреймворків та специфічних для певної технології інструментів лише Cucumber можна визнати універсальним рішенням.

Інструменти наскрізного тестування

При проведенні наскрізного тестування необхідно зосередитись на двох ключових моментах:

  • функціональне тестування
  • тестування навантаження.

При функціональному тестуванні ми перевіряємо, чи все, що хочемо, насправді відбувається. Наприклад, коли я натискаю на певні елементи мого SPA (односторінкового додатка), заповнюю форми та вибираю «Надіслати», дані з'являються в БД, і на екрані виникає повідомлення «Успіх!»

Нам також важливо перевірити, що певна кількість користувачів, які працюють за тим самим сценарієм, може бути оброблена без помилок.

Відсутність цих двох видів тестування буде істотним недоліком у вашому CI/CD-пайплайні.

Інструмент наскрізного тестування №1. Функціональне тестування

переможець: SoapUI Pro

DevOps-інструменти, які має вивчити кожен у 2020 році
SoapUI тривалий час перебував у галузі тестування API, оскільки веб-сервіси на основі SOAP були стандартом. Хоча ми більше не створюємо нових SOAP-сервісів, і назва інструменту не змінилася, це не означає, що він не розвивався. SoapUI надає чудову основу для створення автоматизованих функціональних бекенд-тестів. Тести можна легко поєднати з інструментами безперервної інтеграції та використовувати як частину CI/CD-пайплайну.

Ключові переваги

  • Детальна документація - SoapUI присутня на ринку вже досить довго, тому створено безліч онлайн-ресурсів, які допоможуть зрозуміти, як налаштувати тести.
  • Простота використання — Хоча інструмент підтримує кілька протоколів для тестування API, наявність у SoapUI загального інтерфейсу для кількох сервісів робить написання тестів простіше.

конкуренти

Брали участь у сутичці, але не перемогли

Селен — ще один чудовий інструмент у цій групі. Я рекомендую використовувати його, якщо ви створюєте та запускаєте програму на основі Java. Однак, якщо ви створюєте повноцінний веб-додаток з кількома технологіями, він може стати громіздким для не-Java компонентів.

Інструмент наскрізного тестування №1. Тестування навантаження

переможець: LoadRunner

DevOps-інструменти, які має вивчити кожен у 2020 році
Пояснення: Коли приходить час для тестування навантаження кожного елемента програми, тільки LoadRunner може виконати це завдання. Так, дорого і спочатку складно, але LoadRunner — єдиний інструмент, який дає мені як технічному архітектору повну впевненість, що новий код працюватиме в умовах екстремального навантаження. Крім того, я думаю, що LoadRunner настав час передати у відповідальність команди розробки, а не команди тестування.

Ключові переваги

  • Обширна документація - LoadRunner існує на ринку досить давно, тому створено безліч онлайн-ресурсів, які допоможуть зрозуміти, як налаштувати тести навантаження.
  • Підтримка протоколів — Load Runner підтримує від ODBC до AJAX, HTTPS і будь-який інший нетривіальний протокол, який може використовувати ваш додаток. Ми намагаємося не використовувати кілька інструментів для тестування навантаження, так як це тільки ускладнює процес.

конкуренти

Брали участь у сутичці, але не перемогли

Знову ж таки, в цій галузі не так багато універсальних інструментів, тому найкраще рішення — те, яке працюватиме в будь-якому середовищі з будь-якою технологією.

Інструменти для деплою

DevOps-інструменти, які має вивчити кожен у 2020 році
Інструменти для деплою, мабуть, найменш зрозумілий аспект розробки. Для команди супроводу (operation team) без глибокого розуміння коду та функціоналу програми складно використовувати подібні інструменти. Для розробників управління деплоєм — новий обов'язок, тому вони ще недостатньо досвіду у роботі з подібними інструментами.

Перш за все розділимо всі інструменти розгортання на три підкатегорії:

  • управління артефактами
  • управління конфігураціями
  • деплою.

Інструмент керування артефактами №1

переможець: нексус

DevOps-інструменти, які має вивчити кожен у 2020 році
Репозиторій артефактів Nexus підтримує практично всі основні технології: від Java до NPM та Docker. Ми можемо використовувати цей інструмент для зберігання всіх артефактів, що використовуються. Проксування віддалених менеджерів пакетів також значно прискорює процес збірок CI, роблячи пакети доступнішими для складання. Інша перевага - можливість отримати повне уявлення про всі пакети, що використовуються в кількох програмних проектах, блокуючи небезпечні open source пакети (вони можуть бути вектором атаки).

Ключові переваги

  • Технічна підтримка - Надійний продукт; добре підтримується.
  • Відкритий вихідний код — Безкоштовна версія не обмежує основні можливості, які потрібні командам розробників.

Інструмент керування конфігураціями №1

переможець: Неможливо

Ansible є лідером однієї простої причини: відсутність стану (stateless). Раніше такі інструменти були зосереджені на управлінні станом конфігурації. При запуску такий інструмент, отримавши бажану конфігурацію, намагатиметься виправити поточну конфігурацію програми. А при новому підході є лише компоненти з відсутністю стану. Нові версії коду є артефактами, які розгортають заміну існуючих. Це вважатиметься якимось ефемерним, короткостроковим оточенням.

Ключові переваги

  • Відсутність стану (stateless) - Playbook запускається з машини для деплою та виконується на цільових серверах. Я не турбуюся про стан віддаленого (remote) об'єкта, завдяки використанню такого інструменту, як Packer, для створення об'єктів, що розгортаються.
  • Відкритий вихідний код Як і CentOS, Ansible також підтримується компанією RedHat. Вона допомагає зберігати спільноту та забезпечує високоякісні, прості у використанні модулі.
  • Тестування з Molecule (фреймворк для Ansible) - Оскільки керування конфігураціями - це код, як і решта, тут не обійтися без тестування. Фреймворк Molecule для тестування ролей Ansible працює бездоганно, гарантуючи, що конфігурація так само якісна і відповідає тому ж CI/CD-пайплайну, що код програми.
  • YAML — У порівнянні з іншими інструментами, з YAML легко розібратися. Оскільки управління конфігураціями, як правило, є новим завданням для тих, хто впроваджує DevOps-практики, простота його козир.

конкуренти

Брали участь у сутичці, але не перемогли

OpsCode Chef — Я розпочинав кар'єру в DevOps як розробник cookbook. Ruby та Chef, звичайно, дуже дорогі моєму серцю, але вони просто не вирішують проблеми сучасних stateless, хмарних додатків. OpsCode Chef — чудовий інструмент для традиційніших додатків, а в цій статті ми зосереджені на майбутньому.

Ляльковий — Puppet ніколи не мав багато шанувальників, особливо порівняно з Chef та Ansible. Він чудово підходить для провізіонування та роботи з «залізом», але сучасна підтримка керування конфігураціями для веб-програми в ньому відсутня.

Інструмент для деплою №1

переможець: Terraform

DevOps-інструменти, які має вивчити кожен у 2020 році
Terraform вирішує проблему опису вашої інфраструктури як коду: починаючи з мережевих компонентів і закінчуючи повноцінними образами сервера. Цей продукт пройшов довгий шлях з моменту першого випуску: створено величезну кількість плагінів та вироблено таку сильну спільноту, що вам точно допоможуть за будь-якого сценарію розгортання. Здатність підтримувати будь-який тип оточення (локально, у хмарі чи десь) не має рівних. Нарешті, остання версія надає більшу частину тих же логічних функцій і класів у HCL, що й будь-яка інша традиційна мова програмування, — розробники швидко схоплюють суть і легко можуть освоїти Terraform.

Ключові переваги

  • Незалежність від оточення — Terraform використовує функції, які є інтерфейсом між вашим кодом Terraform, усіма API та внутрішньою логікою для зв'язку з постачальником інфраструктури. Це означає, що я освою всього один інструмент і потім можу працювати де завгодно.
  • Відкритий вихідний код — Важко перемогти безкоштовні інструменти! Підтримка спільноти на найвищому рівні.

конкуренти

Брали участь у сутичці, але не перемогли

AWS CloudFormation — Навіть якщо ви працюєте лише у хмарному середовищі AWS, на наступному місці роботи може застосовуватись інший інструмент. Присвятити весь час та сили лише одній платформі — недалекоглядне рішення. Крім того, багато нових сервісів AWS часто доступні у вигляді модулів Terraform, перш ніж вони стануть доступними в CloudFormation.

Runtime-інструменти

DevOps-інструменти, які має вивчити кожен у 2020 році

Кінцевою метою будь-якого проекту розробки є запуск програми у продакшн. У світі DevOps ми хочемо отримувати повну інформацію про всі можливі проблеми з нашим середовищем, а також хочемо звести до мінімуму ручне втручання. Вибір правильного набору Runtime-інструментів дуже важливий, щоб досягти нірвани при розробці програми.

Підкатегорії Runtime-інструментів:

  • X-як-сервіс (XaaS)
  • оркестрація
  • моніторинг
  • логування.

Інструмент X-як-сервіс №1

переможець: Amazon Web Services

DevOps-інструменти, які має вивчити кожен у 2020 році
Amazon завжди був лідером у хмарних технологіях, але він не зупиняється на цьому: від різноманітності нових сервісів для розробників розбігаються очі. Перенесіть будь-яку технологію та шаблон в AWS, і вони будуть зібрані та запущені. Вартість інструменту цілком обґрунтована: порівняйте її зі складанням, керуванням та обслуговуванням обладнання у власному дата-центрі. Безкоштовна версія дозволяє експериментувати та прийняти правильне рішення до витрати грошей.

Ключові переваги

  • Поширеність — Якщо у вас є досвід створення додатків в AWS, ви можете працювати будь-де. Бізнес любить AWS, а стартапи ще цінують його низьку вартість.
  • Безкоштовна версія – це справді вагомий фактор, який виділяє AWS серед аналогів. Дозвольте мені скористатися послугою і подивитися, як вона працює, перш ніж я ухвалю рішення про покупку, я не хочу витрачати тисячі доларів на щось непотрібне. Безкоштовної версії мені завжди вистачає для перевірки будь-якої концепції.

конкуренти

Брали участь у сутичці, але не перемогли

Лазурний — Azure пройшов довгий шлях із першого випуску, і це похвально. Проте бажання відрізнятись від аналогів призвело до дивних назв сервісів, що часто ускладнює роботу. Що означає «blob storage»? І хоча код .NET працює краще в екосистемі Microsoft, малоймовірно, що ви будете використовувати тільки .NET для кожного компонента своєї програми.

Heroku — Я б ніколи не запустив нічого крім особистого проекту на Heroku через низький рівень надійності та прозорості, тому компаніям не варто використовувати його як платформу. Heroku відмінно підходить для демонстрації чогось у блозі, але для практичного застосування - "Ні, дякую!".

Інструмент оркестрації №1

переможець: OpenShift

DevOps-інструменти, які має вивчити кожен у 2020 році
Ви, ймовірно, використовуєте Docker або інші контейнери у вашому стеку додатків. Безсерверні програми хороші, але вони не можуть підходити будь-якій архітектурі. Запуск контейнерів без платформи оркестрації просто не спрацює. Ядро Kubernetes (K8s) не має суперників з точки зору безпеки та інструментарію. OpenShift – єдина платформа на основі Kubernetes, яка вміє збирати Source2Image, підтримує автоматизацію розгортання у поди, а також відстеження та моніторинг. OpenShift може бути запущений on-prem, у хмарі або on-prem та у хмарі одночасно.

Ключові переваги

  • Вбудована система безпеки — Для управління безпекою K8s може знадобитися науковий ступінь. Необхідно ретельно продумати та врахувати кожну деталь! Механізми безпеки, створені за умовчанням за допомогою OpenShift, забирають зайве навантаження у розробників та забезпечують безпечнішу платформу для додатків.
  • Рішення "все в одному" - На відміну від базового K8s, який за замовчуванням не включає інструменти балансування навантаження, в OpenShift є все. Я можу використовувати його для створення та розміщення контейнерів, запуску інструментів CI/CD, управління зовнішніми процесами, управління ключами та багато іншого. Хоча графічний інтерфейс користувача, як і раніше, далекий від досконалості, підхід, заснований на API, означає, що все може бути описано в скрипті. На відміну від інших графічних інтерфейсів для K8s OpenShift значно спрощує вивчення основ Kubernetes. Навіть не потрібно отримувати вчений ступінь!

конкуренти

Брали участь у сутичці, але не перемогли

Докер-рій — Docker Swarm спробував спростити K8s, позбавившись багатьох речей. Він відмінно підходить для невеликих програм, але для корпоративних програм просто не працює. Крім того, такі рішення, як AWS ECS, використовують аналогічний підхід, але полегшують роботу з іншими сервісами, з якими я також можу взаємодіяти (Lambda, IAM та ін.).

Інструмент моніторингу №1

переможець: New Reliс

DevOps-інструменти, які має вивчити кожен у 2020 році
Ранні релізи New Relic добре справлялися з одним завданням моніторинг APM (Application Performance Monitoring). Зараз це повнофункціональний інструмент моніторингу, що дозволяє контролювати продуктивність сервера, контейнера, бази даних, моніторинг досвіду кінцевого користувача та, звичайно, моніторинг продуктивності додатків.

Ключові переваги

  • Простота використання — Коли я працював системним інженером, я використовував безліч інструментів моніторингу, але ніколи не стикався з таким простим і зручним у використанні, як New Relic. Це SaaS, тому його не потрібно встановлювати у себе.
  • Наскрізна видимість — Інші інструменти намагаються відстежувати один конкретний елемент програми. Наприклад, метрика використання процесора або мережного трафіку, але все це необхідно відстежувати комплексно, щоб програма працювала коректно. New Relic надає можливість об'єднати всі дані, щоб отримати вичерпне уявлення про те, що відбувається.

конкуренти

Брали участь у сутичці, але не перемогли

Zabbix — Моя перша та улюблена система моніторингу, але вона залишилася в минулому через відсутність розвитку у хмарних технологіях та в галузі моніторингу продуктивності додатків APM. Zabbix, як і раніше, добре виконує традиційний моніторинг серверної інфраструктури, проте на цьому все.

DataDog — Дуже орієнтований на процес управління продакшн-оточенням програми, а не на сам код. З командами DevOps, в яких беруть участь розробники, нам не потрібно покладатися на складні у використанні інструменти для забезпечення першокласної підтримки.

Інструмент логування №1

переможець: Сплин

DevOps-інструменти, які має вивчити кожен у 2020 році
З Splunk складно змагатися! Довгий час він залишається лідером у логуванні, продовжуючи робити це найкраще. З пропозиціями on-prem та SaaS ви можете використовувати Splunk, де завгодно. Істотний недолік - його ціна: Splunk як і раніше біса дорогий!

Ключові переваги

  • Поширеність - Бізнес любить Splunk, і компанії мають гроші, щоб купити його.
  • Хоча стартапи і намагаються окупити витрати, але багато функцій можуть бути вирішені завдяки аналогам з відкритим вихідним кодом.
  • Підтримуваність - Простіше кажучи, Splunk працює і робить це добре. Він поставляється з багатьма налаштуваннями за замовчуванням та функціями, готовими до використання. Не потрібно витрачати час на читання документації та спроби змусити Splunk працювати чи щось розшифрувати.

конкуренти

Брали участь у сутичці, але не перемогли

ELK Stack (ElasticSearch, LogStash та Kibana) — Ці інструменти здаються фаворитами, адже вам не потрібно продавати печінку за їх використання. Однак із зростанням набору логів та зі збільшенням кількості додатків на борту робота стає все складнішою. Порівняно зі Splunk, з ELK Stack я витратив набагато більше часу на налаштування інструментарію перед створенням будь-яких дашбордів, ніж будь-коли.

Інструменти для спільної роботи

DevOps-інструменти, які має вивчити кожен у 2020 році
DevOps насамперед стосується зміни культури всередині організації. Купівля будь-якого інструменту не змінить звичні практики в мить, але, безумовно, може сприяти розвитку спільної роботи та появі нових способів взаємодії.

Підкатегорії інструментів для спільної роботи:

  • відстеження завдань
  • ChatOps
  • документація.

Інструмент відстеження проблем №1

переможець: Jira

DevOps-інструменти, які має вивчити кожен у 2020 році
Jira утримує лідируючі позиції, хоча конкуренція у цій галузі зростає. Неймовірна гнучкість Jira дозволяє командам розробки та супроводу керувати проектною роботою та завданнями спринту. Вбудовані стандарти, що використовують Agile-термінологію, спрощують перехід від традиційних методів роботи до ефективніших процесів.

Ключові переваги

  • Популярність Як і багато інших інструментів, Jira використовується практично скрізь. Невеликі команди використовують дешеву, доступнішу версію і отримують все необхідне, а великі компанії можуть дозволити ліцензію дорожче.
  • Інтеграції - Jira - родоначальник у своїй галузі. Цей факт і швидкий розвиток продукту призводить до того, що інші компанії вибирають Jira для створення власних інтеграцій, таким чином збільшуючи цінність інструменту. Ми можемо інтегрувати Jira з усіма інструментами, наведеними в цій статті, з коробки з невеликим налаштуванням.

конкуренти

Брали участь у сутичці, але не перемогли

Trello - Trello швидко завоював популярність завдяки безкоштовному інструменту Kanban. Однак, як тільки процеси масштабуються і ви переходите від десятків завдань до тисяч, Trello важко орієнтуватися, шукати і складати звіти.

Pivotal Tracker — Я був великий фанат цього інструменту, коли працював на стартап. Проте Pivotal Tracker більше орієнтований управління продуктом, а чи не на технічні завдання. Хоча управління продуктом у Jira трохи складніше, але його все ж таки можна реалізувати там, не використовуючи додатковий інструмент.

ChatOps-інструмент №1

переможець: MatterMost

DevOps-інструменти, які має вивчити кожен у 2020 році
Пояснення: Можливо, найбільший сюрприз для вас у моїй добірці, і це гарна новина! MatterMost набув популярності, взявши найкраще від попередніх інструментів, але включив їх у on-prem. Для компаній це дуже важливо: MatterMost дозволяє контролювати дані, а також допомагає інтегрувати їх із інструментами, що працюють локально. Нам більше не потрібно виходити за межі файрвола, щоби перевірити робочі чати.

Ключові переваги

  • Відкритий вихідний код — версія MatterMost з відкритим вихідним кодом відмінно працює як для середніх, так і для великих команд. На відміну від безкоштовного тарифу Slack, де видаляється історія повідомлень, запуск власного сервера означає, що ви зберігаєте всі дані.
  • Інтеграції - Оскільки API майже на 100% заснований на API Slack, майже всі інтеграції зі Slack можна використовувати безпосередньо з MatterMost.

конкуренти

Брали участь у сутичці, але не перемогли

Млявий — Slack крутий, але ці хлопці так виросли, що почали шукати прибуток. Наближається етап окупності бізнесу, який забирає їхню головну цінність: Slack надавав послуги безкоштовно; Найважливіший недолік безкоштовної версії – видалення історії чату.

Microsoft Teams — Спробуйте інтегрувати продукт Microsoft із чимось, що не належить Microsoft… Бажаю удачі! Це все, що я хочу сказати про цей інструмент!

Інструмент документації №1

переможець: Злиття

DevOps-інструменти, які має вивчити кожен у 2020 році
Створення та збереження якісної технічної документації – складний процес незалежно від використовуваного вами інструменту. Хоча останнім часом на ринку з'явилося безліч інструментів документації SaaS, проте мені було б важко передавати зберігання технічної документації про критично важливі програми третім особам. Зберігати дані та документи краще on-prem, і ось як це вирішує Confluence.

Ключові переваги

  • Простота в управлінні — Більшість автономних інструментів можуть бути трохи складними в налаштуванні та експлуатації, для їх підтримки потрібні певні знання. Сервер Confluence відмінно працює із коробки для 10 або 10,000 користувачів.
  • Плагіни - Дякую Confluence за наявність красивої та зручної навігації з коробки, а можливість додати плагін практично для всього розкриває потенціал як Wiki.

конкуренти

Брали участь у сутичці, але не перемогли

Прочитайте документи — Круто для Open Source, але навіть не думайте про збереження критичних знань тут.

Націнка — Відмінно підходить для документування коду, але тут важко розміщувати архітектуру, процеси чи інші види документації через специфічне форматування MarkDown.

Джекіл — При документуванні технічних знань я не хочу створювати новий статичний сайт, який розгортатиметься при кожній зміні. Проста система керування версіями Confluence значно полегшує внутрішню документацію.

Підіб'ємо підсумки

На ринку буквально сотні інструментів DevOps, тому важко зорієнтуватися, які з них слід використовувати та в який момент вони мають бути запроваджені. Дотримуйтесь цього простого посібника з вибору інструментів DevOps для повного CI/CD-пайплайну.

Не забудьте вибрати інструменти з усіх п'яти категорій:

  • інструменти для розробки та збирання
  • інструменти для автоматизації тестування
  • інструменти для деплою
  • Runtime-інструменти
  • інструменти для спільної роботи.

Головна рекомендація: Автоматизуйте все!

Дякую Заку Шапіро!

Джерело: habr.com

Додати коментар або відгук