DevOps - що це таке?

20 0 Новини високих технологій

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

Загальна інформація

DevOps - що це таке?
Існуючі реалії вимагають, щоб час виконання проекту, починаючи від виникнення ідеї до презентації готового продукту, постійно зменшувалася. І це супроводжується обмеженим бюджетом. Тому не був знайдений кращий варіант, ніж оптимізація технічного процесу. І як один із напрямків розвитку з'явився DevOps. Що це таке? Тимчасові резерви можна знайти практично в будь-якому відділі. Дещо можна не тільки розробників, але і тестувальників, керівників, аналітиків, підрозділ впровадження. Залишається зробити малість – подумати, як це зробити.


Які рішення?

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


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

Що це таке?

У 2009 році широка громадськість була сповіщена про ще один підхід до розробки програмного забезпечення. Він отримав назву «філософія DevOps». Мистецтво управління IT передбачає впровадження методології розробки програмного забезпечення (ПО), в якому фахівці по створенню та обслуговуванню активно взаємодіють. Цей підхід базується на ідеї, що необхідно зробити взаємозалежною розробку і експлуатацію. При цьому переслідувалася мета дозволити організаціям ще швидше створювати, а в подальшому і оновлювати випускаються програмні продукти і сервіси. Для того щоб розповісти про суть цієї методології, була використана метафора трьох шляхів. Давайте розглянемо її більш уважно.

Три шляхи

DevOps - що це таке?
Говорячи про DevOps і що це таке, обійти цю метафору неможливо. Вона собою представляє:
  • Перший шлях. Підкреслює необхідність збільшення і роботи над продуктивністю всієї системи. Увага повинна бути приділена всім бізнес потоків, які сприяють створенню цінності.
  • Другий шлях. Він передбачає створення петлі зворотного зв'язку, яка йде справа наліво. Будь-яка ініціатива щодо вдосконалення процесів повинна скорочувати і посилювати її, щоб потрібні поправки могли впроваджуватись проект постійно.
  • Третій шлях. Передбачає створення культури, яка буде сприятливою для постійного експериментування, сприяють прийняттю ризиків і вилучення уроків з невдач і успіхів, а також дозволить зрозуміти, що повторення і практика – це передумови для майстерності.
  • При використанні цього комплексного підходу формується повна картина моделі розробки, в якій враховуються інтереси всіх сторін, чітко позначаються процеси і інтеграційний механізм. На цих трьох принципах і будується вся методологія.

    Для кого це?

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

    Про переваги і недоліки

    Спочатку про позитивні сторони цієї методології. У разі її успішного впровадження, компанія в перспективі може розраховувати на:
  • Автоматизацію (зменшення ризику людської помилки).
  • Спрощення та прискорення процесів розробки та подання готового продукту.
  • Отримання від користувачів швидкого зворотного зв'язку.
  • Які ж негативні моменти цього підходу? Найбільш часті:
  • Не слід забувати і відкидати успішні практики попередніх років. Багато цим грішать, хоча ігнорувати щось тільки з-за того, що воно було створено досить давно – це дурний підхід, який може негативним чином позначитися на майбутньої діяльності.
  • Потрібно брати до уваги особливості колективу, адже з різних причин ця філософія може їм не підійти.
  • Розв'язувана проблема

    DevOps - що це таке?
    Якщо говорити про найбільш важливому аспекті, то головне, чим займається DevOps – це що? Стара проблема «неполадки не на нашій стороні». Як часто зустрічається ситуація, коли програмісти кивають у бік системних адміністраторів і кажуть, що проблеми з сервером. Сисадміни ж кажуть, що проблеми саме з кодом. Завдання методології – поліпшити взаємодію між різними підрозділами і знищити як явище перекидання відповідальності. Щоб краще пояснити це працівникам, можна не тільки особисто їм говорити про це, але і організувати поїздку на конференцію DevOps, де про це вони зможуть довідатися від інших людей, а також перейняти досвід роботи. В цілому ситуацію, коли розробник бачить тільки свою зону відповідальності і не бажає втручатися в чужу, цілком можна зрозуміти. Але з точки зору системи такий світогляд є надзвичайно шкідливим і його необхідно викорінювати. Тому у разі виникнення стикових проблем повинен бути хтось, хто візьме на себе відповідальність за їх виправлення. А бажано взагалі створити систему, яка зможе нівелювати можливість їх появи.

    Зміни

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

    Моделі впровадження

    DevOps - що це таке?
    Залежно від переслідуваних цілей розрізняють наступні варіанти реалізації DevOps:
  • Перша модель. В даному випадку передбачається поглиблення процесів розробки програмного забезпечення в поставку. Передбачає безперервну інтеграцію робочих процесів.
  • Друга модель. Забезпечує зворотний зв'язок від продавця до розробника. Створюється повна хронологія подій розробки та адміністрування, яка повинна допомогти у вирішенні проблем, а також дати можливість проаналізувати причини їх виникнення скрізь, де це тільки можна. Також передбачається створення сервісів самообслуговування там, де це реалізовується та інформаційних індикаторів, що показують зміни в системі, коли вони вносяться.
  • Третя модель. Об'єднується розробка і адміністрування. Мається на увазі включення команди творців у вирішення проблем, напрацювання взаємодії між персоналом і робота над зменшенням кількості ескалацій.
  • Четверта модель. Вся команда включається в розробку, налагоджується тісний зв'язок між персоналом, створюються багатоетапні користувальницькі історії, де є розгортання, управлінням кодом у процесі виробництва, визначаються нефункціональні вимоги, які можуть бути застосовані у всіх проектах.
  • У чому цінність?

    Давайте підведемо підсумок, чим же приваблює DevOps. Для бізнесу він надає суттєві переваги:
  • дозволяє швидко вийти на ринок за рахунок скорочення циклу розробки і високого темпу розгортання;
  • підвищує якість готового продукту (менше збоїв, більше одиниць техніки, на яких програмне забезпечення може бути запущено);
  • збільшує організаційну ефективність, що позначається на якості та швидкості результату.
  • Все це дозволяє методології DevOps впевнено займати належне їй місце.

    Висновок

    DevOps - що це таке?
    Звичайно, теорія – це одне, а реалізація на практиці - зовсім інше. Деколи, навіть найкращі починання можуть бути загублені або саботовані. Як цього не допустити? В першу чергу необхідно адекватно і чесно оцінити ситуацію, яка склалася на підприємстві. Якщо воно тільки формується, то слід визначитися з метою і бажаним алгоритмом розвитку. Після цього настає черга планування. При цьому бажано приділяти увагу навіть невеликим дрібниць. Надалі, якщо виникне потреба, не треба нехтувати необхідністю змінити початковий план. Щоб краще розібратися з ситуацією, можна залучити фахівців, яких оптимізація зачіпає безпосередньо. Їхні думки можуть стати неоціненними в плані створення комфортної обстановки.