devops tutorial ultimate guide devops
Це повна серія підручників DevOps із понад 25 текстових та відеоуроків, що охоплюють усі аспекти DevOps, такі як Що таке DevOps, принципи DevOps та його архітектор.
Список підручників у навчальній серії DevOps:
# 1) Вступ до DevOps (Цей підручник)
# два) DevOps та тестування програмного забезпечення
Підручники для відеороликів DevOps:
# 3) Відеоурок 1: Довідка DevOps, визначення, цінність, переваги, звички та найкращі практики
- Частина 1 Блок 1 - Демістифікація DevOps
# 4) Відеоурок 2: Практики DevOps, засновані на Agile Principles, керуванні джерелами та DevOps Automation
Цей відеоурок розділений на 6 блоків:
- Частина 2 Блок 1 - Практика DevOps на основі Agile Manifesto
- Частина 2 Блок 2 - Контроль джерел та версій у DevOps
- Частина 2 Блок 3 - Автоматизація в DevOps
- Частина 2 Блок 4 - Невеликий приріст поставок у DevOps
- Частина 2 Блок 5 - Співпраця в командах DevOps
- Частина 2 Блок 6 - Як розвивати співпрацю в командах DevOps
# 5) Відеоурок 3: DevOps обробляє безперервну інтеграцію, постійне тестування та постійну доставку
Цей відеоурок розділений на 4 блоки:
- Частина 3 Блок 1 - Постійна інтеграція в DevOps
- Частина 3 Блок 2 - Постійна доставка в DevOps
- Частина 3 Блок 3 - Постійне розгортання в DevOps
- Частина 3 Блок 4 - Постійне тестування в DevOps
# 6) Відеоурок 4: Управління конфігурацією DevOps та моніторинг продуктивності додатків
Цей відеоурок розділений на 3 блоки:
- Частина 4 Блок 1 - Управління конфігурацією в практиці DevOps
- Частина 4 Блок 2 - Управління випусками в DevOps
- Частина 4 Блок 3 - Моніторинг продуктивності додатків у DevOps
# 7) Відеоурок 5: Підсумок усього курсу.
- Частина 5 Блок 1 - Підсумок відео-підручників DevOps
Підручники з тексту:
# 8) Переміщення вліво Тестування
# 9) Як поліпшити якість програмного забезпечення за допомогою постійної інтеграції
# 10) Процес безперервної доставки
Інструменти DevOps:
# одинадцять) Інструменти DevOps
# 12) Встановлення та налаштування часто використовуваних інструментів DevOps з відкритим кодом
# 13) Найкращі інструменти безперервної інтеграції
# 14) Найкращі інструменти безперервної доставки
Підручник з Microsoft VSTS:
# п'ятнадцять) Microsoft VSTS, частина 1
# 16) Microsoft VSTS, частина 2
AWS DevOps Tools:
# 17) AWS DevOps Tools Частина 1 (CodeCommit)
# 18) AWS DevOps Tools Частина 2 (CodeBuild)
# 19) AWS DevOps Tools, частина 3 (CodeDeploy)
# двадцять) Розгортання веб-додатків .NET за допомогою AWS Elastic Beanstalk
Відповідає для DevOps:
#двадцять один) Ansible Частина 1: Встановлення та конфігурація
# 22) Ansible Частина 2: Автоматизація завдань за допомогою Playbooks
№2. 3) Ansible Частина 3: Ansible Roles and Integration with Jenkins
# 24) Інтеграція Дженкінса з селеном
# 25) Інструмент безперервної інтеграції Гудзона
# 26) Компанії-постачальники послуг DevOps
# 27) Запитання для інтерв’ю DevOps
Почнемо з першого підручника з цієї серії.
Що ви дізнаєтесь:
- Вступ до DevOps
- Огляд Agile та DevOps
- DevOps стосується лише Інструментів?
- Компоненти DevOps
- Резюме
- Рекомендована література
Вступ до DevOps
DevOps - це не лише інструменти, але він також включає набір найкращих практик, що дозволяє подолати розрив між командами розробників та операцій у сферах постійної інтеграції та розгортання за допомогою інтегрованого набору інструментів для автоматизації доставки програмного забезпечення.
найкращий шпигунський телефонний додаток для android
Обов’язково, щоб розробники розуміли сторону операцій і навпаки. Отже, мета DevOps - просто допомогти будь-якій організації в швидкості доставки додатків для кінцевих користувачів та забезпеченні швидшого зворотного зв'язку з кінцевими користувачами, що є необхідністю для будь-якого бізнесу сьогодні.
Огляд Agile та DevOps
Немає різниці між Agile та DevOps. Натомість вони доповнюють одне одного. Почнемо з того, що ми розглянемо модель Waterfall, де всі вимоги заморожені, а проектування та розробка виконуються одна за одною, поки не з’явиться стабільний продукт.
Отже, проблема тут полягає в тому, що якщо на цьому етапі зміниться потреба замовника, тоді немає можливості включити та задовольнити змінену потребу.
Для того, щоб вирішити питання адаптації до потреб замовника, зміни були кращими, ніж у методі водоспаду, було прийняття Agile. Ідея тут полягала в тому, щоб розробити програмне забезпечення для менших спринтів або ітерацій, скажімо, приблизно 2-3 тижні, що допомогло командам розробників працювати над відгуками кінцевих користувачів та враховувати зміни в нових випусках.
Отже, команди розробників та експлуатації повинні бути спритними у своїх сферах роботи таDevOpsнародився, щоб забезпечити кращу співпрацю між ними.
Agile запроваджує такі процеси, як XP, SCRUM тощо, а DevOps - такі практики, як безперервна інтеграція, безперервна доставка, безперервне тестування та постійний моніторинг, які ми детально побачимо, рухаючись далі в цьому посібнику.
DevOps стосується лише Інструментів?
Ви можете стверджувати, що для реалізації DevOps потрібні інструменти. Це правда, але інструменти - це лише прискорювачі.
Але насправді мова йде про такі 3 аспекти:
Люди :Дуже важливо навчатись та мати високомотивовану команду людей, щоб мати можливість ефективно спілкуватися та співпрацювати протягом усієї подорожі культурних змін.
Процес: Оскільки ми говоримо про культурні зміни для впровадження DevOps, дуже необхідна наявність практик та стратегій, які забезпечують цінність для замовника. Належним способом це було б зробити оцінку зрілості AS-IS, розглянути прогалини та запропонувати дорожню карту для реалізації надання відповідних рекомендацій.
Я не буду говорити глибоко про те, як я отримав ці оцінки, але я буду радий поділитися будь-якими даними щодо них.
Інструменти: Нарешті, мова йде про використання прискорювачів шляхом автоматизації процесу за допомогою стандартних інструментів DevOps, які доступні сьогодні. Це може бути з відкритим кодом (Jenkins, Git тощо), комерційним (Microsoft TFS, VSTS, IBM Rational, Jira тощо) або поєднанням обох.
Компоненти DevOps
Сподіваюся, до цього часу ви мали б уявлення про те, що таке DevOps.
Давайте тепер розглянемо наступні 4 компоненти DevOps, які складають ядро з точки зору реалізації, а також організації розробили хороші механізми автоматизації навколо того самого, пропонуючи це як послугу своїм клієнтам.
- Постійна інтеграція
- Постійне тестування
- Безперервна доставка
- Постійний моніторинг
Я справді вірив, що якщо розробник повинен працювати в цьому режимі, йому повинен бути призначений елемент виконання, такий як Завдання або Дефект (в Agile це може бути частиною Історії Користувача), щоб дати йому можливість виконати роботу в межах таймфрейм спринту.
Отже, навіть до того, як перелічені вище кроки можуть бути реалізовані, ці завдання або дефекти розробника слід планувати в Sprint. Отже, такі інструменти, як JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS тощо допомагають створити Agile Release / Sprint Plans.
Давайте тепер детально розглянемо кожен із цих компонентів.
# 1) Постійна інтеграція
Як розробник ви працюєте над завданнями або дефектами, призначеними, і реєструєте код у спільному сховищі кілька разів на день. Подібним чином інші члени команди також реєструють код у спільному сховищі.
Потім ви фактично інтегруєте всю роботу, виконану членами команди, у загальний сервер збірки та виконуєте автоматизовану збірку. Постійне виконання цих інтеграцій та автоматизованих збірок називається Безперервна інтеграція.
Ця практика допомагає виявляти проблеми дуже рано, а також гарантує, що всі інтегровані модулі працюють за необхідності. Отже, якщо ви не дотримуєтесь цього підходу, інтеграція роботи команди може відбуватися раз на місяць, що може запізнитися у пошуку та виправленні будь-яких проблем інтеграції.
Приклад робочого процесу безперервної інтеграції:
# 2) Безперервна доставка
Безперервна доставка - наступний крок після постійної інтеграції. Метою Безперервної доставки є якнайшвидше просунути вбудований додаток у виробництво. Під час цього процесу він проходить різні етапи життєвого циклу доставки, тобто забезпечення якості, стадії, виробниче середовище тощо.
Цей процес регулярної доставки програм, вбудованих у різні етапи, відомий як Безперервна доставка.
Безперервна доставка сприяє швидшому виведенню на ринок порівняно з традиційними методами, меншому ризику, зниженню вартості, заохочуючи більшу автоматизацію в процесі випуску та найголовніше отримуючи швидший зворотний зв'язок від кінцевих споживачів для отримання якісного продукту.
Зі свого досвіду я переконався, що цей процес чудово працює для будь-яких видів розробки веб-додатків.
Я також зробив значну кількість оцінок впровадження DevOps для організацій у галузі напівпровідникового бізнесу, але завдяки їх існуючим цикл випуску здається, ця область Безперервної доставки не відповідає цьому, оскільки це швидше процес водоспаду, за яким стежать, і розгортання виконується, як і коли це вимагається в середовищі клієнта.
Зразок робочого процесу безперервної доставки:
На наведеній вище схемі ви можете переглянути різні доступні середовища, і тому це забезпечення інфраструктури для середовищ також може бути автоматизовано під час цього безперервного процесу доставки.
# 3) Постійне тестування
З вищезазначених 2 практик ми дізналися, що CI та CD допомагають розгорнути додаток або зміни у виробництві. Весь цей процес передбачає належну перевірку коду та його інтеграцію з усіма задіяними в ньому компонентами, щоб гарантувати, що додаток працює так, як передбачалося, без помилок або дефектів.
Отже, безперервне тестування - це процес запуску різних типів автоматизованих тестів, починаючи з процесу CI до моменту остаточного розгортання програми на виробництві.
З попередньої схеми видно, що на кроці Безперервна інтеграція ми інтегруємо всі роботи розробників у загальний сервер збірки, а також на цьому етапі розробники проведуть певну кількість модульних тестів.
Як тільки ці інтеграції та тести працюють без помилок, лише тоді програма або зміни розгортаються в середовищі контролю якості після подання заявки на отримання цих сертифікатів якості та затверджень.
У середовищі контролю якості виконуються функціональні випробування, і знову ж на основі схвалень воно буде розгорнуто до проміжного середовища, яке буде на рівні, як виробничі системи та запущені прийомні випробування. Після завершення цієї дії додаток або зміни остаточно впроваджуються у виробничі системи.
Отже, тут можна зауважити, що безперервне тестування як діяльність починається з самого етапу ДІ і є дуже обов’язковим етапом у процесі безперервної доставки.
Зразок робочого процесу тестування в процесі безперервної доставки:
# 4) Постійний моніторинг
У міру розгортання програми або змін у виробничому середовищі операційна команда буде прагнути відстежувати програму та середовище з точки зору оновлення, стабільності та доступності. Цей процес відомий як постійний моніторинг.
Оперативні команди матимуть власне програмне забезпечення для моніторингу навколишнього середовища, але також їм доведеться зіграти свою роль, щоб відстежувати розгорнуті додатки щодо будь-яких проблем. Для цього їм потрібно буде співпрацювати з командами розробників, щоб створити певні інструменти для аналізу проблем додатків.
Отже, питання інфраструктури, навколишнього середовища та додатків - це все, що контролюється в процесі постійного моніторингу.
Резюме
У цьому посібнику ми дізналися, що саме являє собою процес DevOps, включаючи різні компоненти, задіяні в ньому. Ці компоненти допомагають пришвидшити доставку додатків, а також заощадити час виходу на ринок, що є потребою бізнесу сьогодні з конкурентної точки зору.
Як запустити файл jar у Windows - -
У наступній серії навчальних посібників у сегменті DevOps ви ознайомитеся з різними відео / можливими інструментами DevOps, якими можуть користуватися команди, а також реалізацією DevOps за допомогою певних інструментів для локальних та хмарних технологій.
І як сказано і зроблено, я знайшов реалізацію DevOps захоплюючою, як спосіб перегляду з організаційних змін.
У нашому підручнику ми розповімо вам все про DevOps та тестування програмного забезпечення.
Рекомендована література
- Поглиблені підручники Eclipse для початківців
- Постійна доставка в DevOps
- Постійне розгортання в DevOps
- Підручник з тестування DevOps: Як DevOps вплине на тестування якості?
- Постійна інтеграція в DevOps
- Постійне тестування в DevOps
- Підсумок відео-підручників DevOps
- Підручник AWS CodeCommit з реалізації DevOps у хмарі