Яка різниця між DevOps та Автоматизацією?


42

Я бачу, що всякий раз, коли хтось робить DevOps, це в основному автоматизація таких речей, як розгортання тощо.

Але де закінчується автоматизація і починається DevOps?


Привіт @punkpanther, якщо ця чи будь-яка відповідь вирішила ваше запитання, будь ласка, прийміть його , натиснувши прапорець. Це вказує широкій спільноті на те, що ви знайшли рішення та надаєте певну репутацію як відповідачу, так і собі. Не потрібно цього робити. Якщо ви не відчуваєте, що на ваше запитання відповіли, не соромтесь спілкуватися з авторами у коментарях.
Річард Слейтер

Можливо, краще питання було б, де закінчується DevOps і починається автоматизація? Не все, що робиться з DevOps, стосується автоматизації; значна частина цього, так, але не все ... Можна сказати, що DevOps - це все, крім автоматизації - це sysadmin культура, загальні стандарти архітектури, загальні стандарти публікації (скажімо, GitHub) певної технологічної галузі ... Де чи
гадає

Відповіді:


45

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

Ось як пов’язані DevOps та автоматизація. DevOps - це не просто автоматизація. І навпаки, автоматизацією не користуються виключно "люди DevOps". До того, як DevOps з'явився, в ІТ було багато автоматизації.

DevOps по відношенню до автоматизації

Будь ласка, не враховуйте вище наведену діаграму, щоб представити все, що є DevOps, або все це автоматизація. Це допомогти читачеві уявити, як пов'язані ці два поняття.


1
Точно те, що я сказав на цю тему :)
Тенсібай

Чому в DevOps не відбувається "робочий процес на квитки"?
Накілон

15

Автоматизація є ключовим атрибутом DevOps, але це не повна історія. Питання на кшталт "Яка різниця між тайм-боксом і Скрумом?".

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

Завдяки агресивній автоматизації речі, які потребують тривалого часу та піддаються людській помилці, зараз відбуваються швидко та без інцидентів. В результаті ми, як правило, робимо їх частіше. Основним прикладом цього є "розгортання у виробництво". Ми рятували великі партії роботи та розгортали їх у неробочий час на випадок, коли щось пішло не так. Але тепер ми можемо розміщувати зміни кілька разів на день, таким чином, що шанси «щось піти не так» різко знижуються, і таким чином, що вплив чогось відбувається не так, коли це відбувається.

Як тільки у нас є цей повторюваний процес, ми починаємо сприймати його як "конвеєр". Вимоги надходять, виходить код, розгорнутий у виробництво. Ми автоматизуємо все на цьому конвеєрі - тести, документацію, злиття, розгортання та інші тести тощо ... Оскільки люди зосереджуються на автоматиці, вони не бачать «трубопровідного менталітету», який керував ним. Ця методологія управління - увага, що приділяється трубопроводу, - робить DevOps більше, ніж автоматизація.

Як тільки у нас є автоматизація, петлі зворотного зв'язку починаються. Ми починаємо вимірювати такі речі, як час циклу, щоб ми могли з'ясувати речі, про які раніше намагалися відгадати за допомогою оцінок. Те, що стосується архітектури, яка робить автоматизацію / безперервну доставку, важко замінити альтернативними архітектурними моделями, що полегшують автоматизацію / безперервну доставку (кілька чудових прикладів цього зафіксовані в книзі "Еволюційні бази даних". "Зелений / Синій розгортання" - це ще один ).

Зауважте, що мені вдалося надати цей опис, не розмовляючи про Jenkins, Check, Puppet, Ansible, Vagrant, AWS або будь-який інший інструмент, який його підтримує. Це те, що ми маємо на увазі під загадковими словами на більш високому рівні, як-от "методологія". Зрештою, будь-який набір інструментів можна замінити ... Те, що нам залишається, - це основні принципи управління, що підтримуються автоматизацією та фокусом на конвеєрі.


1
Мені шкода, але це звучить як маніфест Agile більше, ніж присвячує культурі інформацію про мої почуття. Методика спритного / ітеративного / короткого циклу, навіть якщо часто використовується, не є обов'язковою для організації девепса. Ви можете взяти команди на проект водоспаду, і ви можете автоматизувати доставку на базі силосу, тому я вважаю, що це відповідає частково на питання.
Тенсібай

2
@Tensibai Я дещо не погоджуюся - ви не автоматизуєте процес, який не виконується часто. DevOps без Agile - це як автоматизація будівництва багатомільйонного суперкара.
Дейв Сверський

Ця відповідь неймовірно багатослівна, і важко усунути відмінності, або плюси / мінуси, пов'язані з ОП. Питання
Євгеній

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

13

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

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


4

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

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


1

Я хотів би додати свої 2 центи:
1) Автоматизація :
     Щось, до чого нам сьогодні доводиться рухатися. Це стало більш необхідним, коли кращим способом було б автоматизація шматочків, якщо не весь процес. Такий підхід надає користувачам (розробникам) гнучкість використовувати фіксований крок разом з можливістю налаштування за потреби.
     Перевага цього підходу полягає в тому, що ми можемо автоматизувати деталі, які ми хочемо, в той час як окремий процес може бути пов'язаний розробником. Чим більше гранульований крок автоматизації, тим кращий контроль у них.
     Також існує багато інструментів для автоматизації в таких просторах, як роботизована автоматизація, автоматизація SOP (для обслуговування промисловості), автоматизація звітів (як Splunk) тощо.
2) DevOps:
     Враховуючи стан якості та своєчасність доставки, що очікується у поточному світі, існує необхідність розширити автоматизацію процесу доставки програмного забезпечення. Щоб увімкнути це та забезпечити цінність для клієнта якнайшвидшим способом, DevOps дуже покладається на інструменти автоматизації.
     Перевага цього підходу полягає в тому, що окремі кроки можуть бути автоматизовані для досягнення узгодженості між підприємствами, тоді як загальна оркестрація може бути модифікована відповідно до процесу, необхідного для цього проекту.
     Індивідуальні засоби автоматизації (певним чином), такі як шеф-кухар для розгортання, Докер через Dockerfile, Maven для збирання тощо, можуть бути пов'язані, ймовірно, через Дженкінс, щоб забезпечити необхідне рішення, одночасно скорочуючи час, необхідний для впровадження або використання .
Сподіваємось, це допоможе додати будь-яку цінність до продуманого процесу, який у вас вже може бути.

Редагувати: забув додати, що я говорив про процес та інструменти - 2 з 3 аспектів у DevOps. Як зазначають інші, третім і не менш важливим аспектом є Люди. Однією з головних відмінностей, яку я б припустив між цим та автоматизацією, було б те, що люди схильні поглинати автоматику частіше, ніж чинять опір DevOps. Я відчуваю, що це пов'язано з природою самого DevOps, оскільки автоматизація зазвичай асоціюється з тим, щоб полегшити їм справи, тоді як вони відчувають, що DevOps змінює спосіб, яким їм комфортно.


1

Рух DevOps складається з чотирьох основних областей, скорочено CAMS :

  1. Культура
  2. Автоматизація
  3. Вимірювання
  4. Обмін

Ось оригінальний визначальний пост від 2010 року.

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

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


-2

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

Зауважте, я нічого не говорив про автоматизацію.

Автоматизація - це повторення успіху. Якщо я виконую кроки a, b і c і процес X завжди працює, то кроки a, b і c є хорошими кандидатами для автоматизації. Тоді я можу використати час на те, що раніше було ручним процесом, щоб робити речі, які заробляють мені більше грошей. Автоматизація успішна, коли вона проста. Розгортання нових випусків, проведення інтеграційних тестів, закручування гайки на болт, резервне копіювання даних, балансування кредитів проти дебетів тощо - все це великі кандидати для автоматизації, оскільки кроки повторюються чи людиною, так і роботом.

Примітка . Що нового: розробники також є операторами. Іншої групи немає. Співпраця в моєму випадку була рідкісною. Якщо в Посібнику з усунення несправностей (він же TSG) нічого не було, то вам гарантували телефонний дзвінок. На мій досвід Ops був першим викликом у випадку екскаватора. Проблеми між службами виявилися поза їхньою рубкою.


Але все, співпраця завжди була правдою? Спілкування між Dev та Ops, це щось нове? що приносить нове?
pinkpanther

Що нового: розробники також є операторами. Іншої групи немає. Співпраця в моєму випадку була рідкісною. Якщо в Посібнику з усунення несправностей (він же TSG) нічого не було, то вам гарантували телефонний дзвінок. На мій досвід Ops був першим викликом у випадку екскаватора. Проблеми між службами виявилися поза їхньою рубкою.
Не повернено грошей, не повертається

3
Автоматизація та DevOps "не пов'язані"? З повагою я більше не могла погодитися. Постійна інтеграція, постійне впровадження, автоматичне тестування та інше є невід'ємною частиною технологічної складової DevOps. Без автоматизації DevOps - це лише культура. Культура важлива, безумовно, але це лише одна нога триніжного табурета DevOps (Культура, Процес, Технологія)
Дейв Сверський

@NoRefundsNoReturns Devs - оператори. У тому сенсі, що немає потреби в команді девеп?
pinkpanther

Не соромтеся погодитися. У нас були тони автоматизації, коли ми були і командою "розробника", і командами "операційних". Тому я кажу, що вони не пов'язані між собою. Автоматизація може менше піклуватися про вашу структуру органів. Якщо ваші розробники також є операторами, велика ймовірність, що автоматизація відбудеться, оскільки більшість розробників ледачі і прагнуть автоматизувати повторювані завдання. Мене бентежить ваша відповідь @pinkpanther
Без повернення
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.