У сучасному світі, який наповнений інформацією, бажаннями та потребами, виникає потреба в економії часу. Цьому допомагає процес автоматизації. Зараз намагаються автоматизувати все, що тільки піддається цьому процесу. А ціль цього – звільнення часу від рутинних справ, але не для розваг та відпочинку, а для вирішення завдань, які й приведуть компанію до успіху. Тому пропонуємо звернути увагу на нову методологію розробки програмного забезпечення – «DevOps» (девопс), яка ефективно покращує роботу компанії.
Які проблеми вирішує автоматизація?
Кожну ІТ-компанію супроводжують проблеми, які складають її щоденну рутину:
- робочі процеси,
- однотипні завдання,
- бюрократизм.
При цьому, як відомо, до команди ІТ-компанії підбираються творчі люди з аналітичним складом розуму. Тому підтримка впорядкованої та структурованої системи для такого персоналу становить справжню проблему. В результаті цього нові ІТ-компанії, і не тільки, погано справляються з:
- постановкою завдань для виконання та їх контролю,
- оперативним рішенням здавалося б найпростіших питань,
- організацією обігу документації,
- взаємодіям персоналу між собою,
- збором відомостей, необхідних для формування звітів,
- розгортання великої кількості однотипних систем.
Но все це зараз вирішується досить просто, а саме використанням методології devops.
Вирішуємо проблеми за допомогою автоматизації
Для командної роботи пропонується devops – методологія побудови ПЗ, спрямовану спрощення діяльності компанії, її сервісів. Якщо розглядати структуру devops, то отримаємо перетин роботи програміста (dev) і тестувальника (ops), яку може виконувати кваліфікований фахівець devops engineer. До його обов’язків входить створення єдиного циклу, що пов’язує між собою розробки ПЗ, його експлуатацію та деплою. Завдяки такому підходу з’являється можливість створення адаптивної, безшовної архітектури, що дозволяє сприймати систему єдиним цілим, у своїй усувати проблеми (навіть у вихідні).
Розглянемо запропоноване вирішення проблем ІТ-компанії з прикладу. Так, для компанії, що розробляє програмне забезпечення, можна підібрати додаткові компоненти автоматичної підтримки – системи для:
- обробка вхідних заявок,
- контролю версій з єдиним репозиторієм вихідних кодів,
- codereview,
- складання пакетів,
- створення резервних копій,
- автентифікації.
Але у вигляді основного рішення пропонується використання продуктів фірми Atlassian, до яких відносяться:
- Jirasoftware,
- Confluence,
- ChatOps.
Крім цього пропонується і інфраструктурна обв’язка – Ansible, Nagios, Bamboo і jenkins
Це можна уявити у вигляді наступної схеми:
Як працює автоматизація девопсу?
Процес автоматизації містить у собі такі етапи:
виявлення та конкретизація проблем, у тому числі і потреб, окремо взятої компанії (цей етап безпосередньо залежить від масштабів, поставлених цілей та завдань компанії, подібне виявлення проводиться шляхом анкетування з подальшим обговоренням можливих нюансів її діяльності),
формування рішення для усунення виявлених проблем (воно проводиться за результатами проведеного анкетування відповідно до стандартного шаблону, з подальшим коригуванням, заснованим на індивідуальних особливостях компанії),
здійснення сформованого рішення (у вигляді налаштування систем, що виконується на обладнанні безпосереднього замовника або орендованому для цих цілей),
ефективні та дієві рекомендації фахівців щодо подальшого розвитку компанії (зазвичай вони включають проведення наступного моніторингу систем замовника, в результаті якого будуть виявлені ті тонкі моменти в діяльності компанії, що потребують подальшої оптимізації).