Курс “DevOps Junior”

Ви отримаєте практичний досвід використання інструментів для впровадження DevOps філософії на проекті

Тривалість курсу 2 місяці |16 Занять| 8 Консультацій | 40 годин

Старт: Четвер, 29.09.2022
Хочу на курс

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

Тема №1 «Про курс DevOps Junior»

  • У чому різниця між DevOps та SRE?
  • Формат навчання
  • Програма курсу
  • Оцінювання та сертифікація

DevOps vs SRE

  • Історія DevOps. Терміни та концепції. 4 стовпи DevOps
  • Принципи та практики SRE

Тема №2 «Операційні системи та комп'ютерні мережі»

  • файлові системи
  • стек OSI/ISO. Протоколи IP\TCP\UDP. Часто використовувані порти.
  • операційні системи. Гіпервізори та віртуалізація.
  • командний рядок
  • вивчити роботу з пакетними менеджерами DEB, RPM. Здобути досвід роботи з командами chmod, chown, rm, cp, wget, curl, mc, mv, ls, cat, grep, less, man, ps, env, top, cron, vim П

Практичне завдання: Встановлення ОС. Робота з командним рядком. Робота з мережею – SSH, Telnet, Ping…

Тема №3 «Єдина кодова база. Git.»

  • Початкове налаштування Git
  • Створення Git-репозиторію та базова робота з ним
  • Розгалуження в Git
  • Розподілений Git
  • Git в інших оточеннях – Git в IntelliJ/PyCharm/WebStorm/PhpStorm/RubyMine
  • GitFlow. APIBEST GitFlow

Практичне завдання: Створення облікового запису на GitLab. Створення Merge Request та його злиття у головну гілку

Тема №4 «Docker. Docker Compose. GitLab CI/CD»

  • Введення в Docker
  • Перевикористання образів та створення власних образів
  • Запуск кількох образів як єдиної системи
  • Складання образів у GitLab
  • Введення в GitLab CI/CD
  • Встановлення та налаштування GitLab Runner

Практичне завдання: Налаштування GitLab Runner. Складання та публікація власного образу в GitLab Docker Registry. Створення середовища для запуску Laravel програми

Тема №5 «The twelve-factor App methodology. Laravel»

  • 12 факторів додатку. Набір найкращих практик для розробки сучасних веб-додатків на будь-якій платформі
  • Створення середовища для запуску 12 факторної програми за допомогою docker-compose (webserver, database, app, …)
  • Встановлення Laravel Hello World

Практичне завдання: Створення середовища для локального запуску налагодження Laravel програми

Тема №6 «Continuous Deployment. Environments. Traefik. Let`s Encrypt»

  • Реєстрація на Amazon Web Services
  • Підготовка dev, stage, production середовищ
  • Поділ конфігурації та секретів
  • Генерація HTTPS сертифікатів для кількох програм на одному хості
  • Версіонування та Автоматизація розгортання

Практичне завдання: Автоматизувати розгортання версій на stage та production середовища

Тема №7 «Автоматизація завдань адміністрування»

  • Резервне копіювання та відновлення
  • Cron. Запуск завдань за розкладом
  • Автоматизація підготовки Stage середовища з Production.
  • SQL. Мігрування схеми БД

Практичне завдання: Автоматизувати оновлення stage середовища з та production

Тема №8 «Процеси. Паралелізм»

  • Фонові процеси backend додатків
  • Черги та масштабування фонових процесів
  • Redis. RabbitMQ.
  • Laravel Horizon

Практичне завдання: Налаштувати Laravel Horizon для обробки фонових завдань

Тема №9 «Контейнеризація Frontend додатків. CORS. CDN.»

  • Особливості frontend додатків та взаємодія з backend
  • Конфігурування програм
  • Складання, Реліз, Виконання
  • Доставка програми. CDN та кешування

Практичне завдання:Налаштувати деплой Frontend програми та встановлення конфігурації. Забезпечити коректне оновлення під час використання кешування CDN

Тема №10 «Моніторинг»

  • 7 факторів у підході 12 Factor App, яких бракує
  • Встановлення Prometheus
  • Встановлення Grafana
  • Збір метрик
  • PromQL. Налаштування dashboards & alerts
  • Інтеграція з Telegram/Slack
  • Аналіз метрик та виявлення аномалій

Практичне завдання: Налаштувати моніторинг свого сервера та програми. Налаштувати uptime alert

Тема №11 «Логування»

  • Розташування логів
  • Рівні логування програм
  • Потоки STDIN, STDOUT, STDERR
  • Встановлення та налаштування стека ELK
  • Аналіз логів та виявлення помилок

Практичне завдання: Розгорнути ELK та налаштувати збір логів програми

Тема №12 «Перехоплення помилок у середовищі виконання»

  • Огляд інструменту
  • Реєстрація на sentry.com
  • Інтеграція з Backend додатком
  • Інтеграція з Frontend додатком
  • Інтеграція з GitLab

Практичне завдання: Налаштування та використання Sentry. Аналіз помилок

Тема №13 «Terraform. Базове застосування»

  • Огляд інструменту та встановлення
  • Базова структура проекту
  • Змінні
  • Провайдери
  • Використання сторонніх модулів
  • Стан. Локальне та віддалене сховище станів

Практичне завдання: Розгортання сервера за допомогою Terraform в AWS

Тема №14 «Terraform. Оточення та модульність»

  • Практичне застосування під час роботи з кількома оточеннями
  • Рекомендована структура проекту
  • Перевикористання коду. Модулі.
  • Автоматизація та інтеграція з GitLab

Практичне завдання: Налаштування CI/CD для Terraform. Тестування та застосування змін інфраструктури на кількох оточеннях

Тема №15 «Ansible»

  • Огляд та встановлення інструменту
  • Автоматизація встановлення ПЗ на сервер
  • Ролі та використання стороннього коду

Практичне завдання: Автоматизувати початкове розгортання програмного забезпечення на сервері

Іспит. Повна автоматизація проекту

  • Паралельна демонстрація екранів
  • Запуск розгортання проекту:
    -автоматичне розгортання інфраструктури
    -автоматичне встановлення ПЗ
    -оновлення CI/CD
    -актуалізація документації
  • Виконання тестового чекліста (перевірка роботи всіх вузлів та автоматизації)

Підбиття підсумків курсу. Бонус!

Рекомендовані знання до старту

  • ОС Linux
  • Розуміння роботи комп’ютерних мереж
  • bash
  • Elementary English

Рекомендовані характеристики комп`ютера

CPU 2.5+ GHz  & 8+ threads / 8+ GB RAM / SSD / OS Linux

Вас навчатимуть

Тарас Омеляненко

APIBEST, CEO

16 років у IT. Досвід викладання з 2012 року.
Великий досвід у розробці архітектур,
програмування та адміністрування ПЗ.


Іван Буренко

APIBEST, DevOps engineer

Експерт у розробці інфраструктури
для високонавантажених проектів,
налаштуванні моніторингу та автоматичного
масштабування архітектури,
проведенні навантажувальних тестів, запровадження CI/CD рішень.

Ви опануєте інструменти та технології

Ubuntu

Git

AWS

Vagrant

Docker

PostgreSQL

MySQL

GitLab

Sentry

Grafana

Kibana

Prometheus

Ключові навички

  • Робота з Git, одночасна робота з декількома репозиторіями
  • Адміністрування Linux, робота з інструментами налагодження операційної системи та додатків
  • Автоматизація процесів та вирішення типових задач за допомогою Bash
  • Адміністрування реляційних та нереляційних баз даних, робота з PostgreSQL
  • Процеси CI/CD: тестування, складання та доставка в різні оточення, робота з Gitlab CI
  • Моніторинг та логування за допомогою Prometheus, Grafana
  • Знання різних видів віртуалізації та контейнеризації, робота з Docker і Docker Compose
  • Організація проектів за допомогою хмарних провайдерів Amazon Web Services

Починай вчитися вже зараз

Після успішного закінчення курсу ви отримаєте:

  • Практичні навички
  • Зможете організувати та автоматизувати роботу команди розробників
  • Навчитеся налаштовувати CI/CD
  • Навчитеся налаштовувати Linux сервери
  • Отримаєте досвід роботи з хмарними провайдерами
  • Розбиратиметеся з системами віртуалізації та контейнеризації (VirtualBox, Docker)

А також:

  • сертифікат, що підтверджує ваш рівень знань
  • допомога в оновленні вашого резюме від Тараса Омеляненка

Курс “DevOps junior”

14 999 грн

при оплаті до 29.09
Придбати курс

Кар'єра

З чим ми можемо допомогти:

  • Практичні навички
  • Зможете організувати та автоматизувати роботу команди розробників
  • Навчитеся налаштовувати CI/CD
  • Навчитеся налаштовувати Linux сервери
  • Отримаєте досвід роботи з хмарними провайдерами
  • Розбиратиметеся з системами віртуалізації та контейнеризації (VirtualBox, Docker)

Відгуки

Прошел курсы и не пожалел! На каждом занятии очень доходчиво преподносили информацию.
На курсах учат искать решение самостоятельно немного подталкивая ученика в нужном направлении.

ИТ-индустрия стремительно развивается и очень важной способностью молодого специалиста есть умение учиться, искать, узнавать.

У Тараса очень хорошо получается развивать эту способность у своих учеников

Філіп

Это мои первые курсы и на них меня многому научили. Помимо полученных знаний в программировании я получил реальный опыт в работе и хорошие советы по поиску работы.
Когда вы проделаете весь путь можете смело идти проходить собеседование.

И не бойтесь, если в одном месте откажут, в другом возьмут с руками и ногами, еще ко всему — собеседования это тоже опыт, они позволяют понять, чего Вам не хватает, где нужно подтянуть знания.

Костянтин

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

Станіслав

Узнал о курсе случайно, искал информацию о практике и узнал о Тарасе. Связался с ним и оказалось, что в скором времени будет проведён отбор ребят на аналогичный курс. Тарас предложил написать реальный проект. Его суть - дать возможность найти работу студентам, а работодателям ценные кадры. В начале каждого занятия, каждый из нас докладывался по какой-нибудь современной технологии, что позволило расширить кругозор знаний. Отличительной особенностью этого курса было то, что процесс был максимально приближен к боевому.

Тарас