spinner-it

Devops

Старт навчання
02.09.2019
39 год. Двічі на тиждень

Опис курсу:

Вас цікавить такий популярний та прогресуючий напрямок в ІТ-індустрії як методологія DevOps? Бажаєте більше дізнатись про дану область та навчитись правильно використовувати DevOps-активності в своїй роботі? Тоді цей курс - саме те, що потрібно. В процесі навчання ви зможете ефективно планувати, кодувати, будувати, тестувати та розвертати back-end додатки, інтерфейсні та мобільні аплікації. На кожному занятті ви будете закріплювати свої навички та знання в галузі проектування та побудови безпечного середовища для впровадженого програмного забезпечення.

Після вивчення курсу Ви зможете:

 
  • Розуміти принципи розробки програмного забезпечення
  • Розумітися на сучасних DevOps технологіях та практиках, правильно обирати потрібну
  • Впроваджувати в свою роботу основні DevOps-активності та технології
  • Створювати та оптимізовувати безпечне середовище для впровадженого програмного забезпечення
  • Автоматизувати та стандартизувати виробничі процеси
  • Автоматизовувати розгортання інфраструктури для AWS та Azure

Програма курсу:

Введення в DevOps

  1. Загальний огляд курсу.
  2. Знайомство із задачами та учасниками курсу
  3. Які проблеми DevOps практики допомагають вирішувати для розробки, продукту та бізнесу
  4. Основні виклики та задачі, які стоять перед DevOps інженером в Agile SDLC
  5. Область відповідальності та знань
  6. Основні інструменти та технології в DevOps
  7. Підготовка локального середовища за допомогою Vagrant та VirtualBox

Системи контролю версій. Безперервна інтеграція та доставка

  1. Робота з Git та GitHub. Огляд GitFlow моделі
  2. Побудова CI/CD процесів
  3. Огляд популярних CI/CD інструментів: Teamcity, Jenkins, VSTS, GoCD
  4. Автоматизація білдів. Робота з Gradle, Maven та іншими інструментами
  5. Конфігурація Jenkins
  6. Тригерування білдів за допомогою GitHooks
  7. Робота з Jenkins pipelines

Контейнеризація та робота з Docker

  1. Введення в технологію Docker
  2. Containers vs Virtual Machines
  3. Docker архітектура
  4. Основні концепції Docker
    1. Docker файли
    2. Директиви у Docker файлах: USER, ENV, CMD, RUN, ENTRYPOINT, EXPOSE
    3. Docker образи
    4. Docker репозиторії
    5. DockerHub
    6. Docker Volumes
    7. Мережа в Docker
  5. Створення Docker-файлів
  6. Побудова реальних середовищ на основі контейнерів: Front-end, Back-end, DataBase
  7. Docker compose

Оркестрація

  1. Введення в Kubernetes
  2. Які проблеми Kubernetes дозволяє вирішувати для сучасних продуктів
  3. Kubernetes архітектура та основні її концепції
  4. Доставка контейнеризованих аплікацій в Kubernetes за допомогою Jenkins

Моніторинг

  1. Огляд типів моніторингу та популярних рішень
  2. Робота з Grafana та Prometheus
  3. Моніторинг контейнерів за допомогою Prometheus
  4. ELK

Введення в хмарні технології. Робота з Azure:

  1. Огляд основних концепцій: IaaS, PaaS, SaaS
  2. Робота з Azure клаудом
  3. Subscriptions
  4. Manage Azure Identities
  5. Implement Azure Networks
  6. Design and implement storage strategy
  7. Create and manage ARM Virtual Machines
  8. Design and implement Azure App Service Apps

Робота з AWS

  1. Identity and access management, IAM
  2. Virtual Private Cloud, VPC
  3. Elastic Cloud Compute, EC2
  4. Storage Services, S3
  5. Database services, RDS
  6. Route 53

Infrastructure as a Code: IaaC

  1. Які проблеми ми вирішуємо за допомогою IaaC
  2. Огляд існуючих IaaC технологій та підходів
  3. Робота з Terraform
  4. Автоматизація інфраструктури для Azure та AWS

Автоматизація конфігурацій системи

  1. Які проблеми ми вирішуємо за допомогою CM (Configuration Management) систем
  2. Огляд існуючих CM інструментів
  3. Робота з Ansible
  4. Основні концепції Ansible:
    1. Modules
    2. Roles
    3. Inventories
    4. Playbooks
  5. Поєднання CI/CD з CM

Безпека в DevOps середовищах. Основні концепції

Бонус

  1. ChatOps bots
  2. Green/Blue техніки
  3. Canary тестування
  4. Корисні ресурси. Де і як навчатись.
 

Мінімальні вимоги:

  • Англійська - Intermediate
  • Загальне розуміння термінології системного адміністратора
  • Загальне розуміння термінології розробника
  • Розуміння мережі
  • Знання Linux
  • Наявність власного ноутбуку для занять в аудиторіях

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!