Київ Курс

Software Engineering: CI/CD

Записуйся на консультацію

Лівий берег (пр. Павла Тичини, 1в)

clock icon
Старт групи

23 Жовтня

person icon
Графік

сб, вс: 10:00-17:00

Опис курсу

star icon
Тривалість

24 годин

dollar icon
Група

15 чоловік

Кажуть, нові знання нові горизонти. Коли інженер освоює одну з IT-технологій і отримує першу роботу, перед ним постає питання “Що робити далі для кар’єрного просування і як розвивати себе?”.

Відповідь на це питання постійне навчання. Ми рекомендуємо в якості наступного кроку вибрати саме Software Engineering: CI/CD. Отримавши і поглибивши знання в певній технології, розробнику необхідно розширювати їх і в суміжних дисциплінах. Тому програма побудована таким чином, щоб дати глибоке розуміння процесу розробки програмного забезпечення. SDLC (Software Development Life Cycle) не просто абревіатура, це набір ключових аспектів, які повинен знати і розуміти кожен розробник програмного забезпечення.

Головне завдання даного курсу об’єднати фундаментальні знання та сучасні інструменти, щоб молодий спеціаліст мав міцне підґрунтя для розвитку в світі нулів і одиниць.

Для кого

Junior/ Junior+ / Middle розробникам

розробникам, тестувальникам, DevOps

SRE, support-інженерам

Викладачі курсу

Владислав Курмаз

Викладач і розробник курсу Software Engineering

Software-девелопер із 20-річним досвідом роботи. Сфери діяльності: game development, 3D printing, Finance & Trading software, Avia simulators, ITSM. Основний фокус роботи: інновації в розвиток компаній і побудова ефективного та результативного робочого середовища.

Що будете вміти

Дізнаєтеся, що таке життєвий цикл розробки ПЗ (SDLC), за рахунок чого Git став стандартом де-факто для зберігання вихідного коду, як Code Review допомагає покращувати якість програмного продукту, навіщо потрібні Pull Request, зможете застосовувати TDD на практиці, чому потрібно обов'язково застосовувати механізм Drop-ів навіть для невеликих проектів.

Зрозумієте, як використовувати гілки, що таке Release Management, як ізолювати великі функціональні частини системи, використовуючи User Story Isolation, дізнаєтеся як потрібно вибудувати процес розробки, щоб без нічних переробок випускати нові версії продукту і ефективно реагувати на призначені для користувача ескалації, витримуючи заявлені SLA.

Ви зможете налаштовувати системи безперервної інтеграції (CI / CD), пов'язуючи воєдино Jenkins, SonarQube, Nexus і Github.

Познайомитеся з Docker і Kubernetes, дізнаєтеся як з їх допомогою створювати програмні продукти, які можуть працювати з високим навантаженням і бути стійкими до відмов. За допомогою Terraform розгорнете Enterprise-grade хмарну інфраструктура, а Helm допоможе зрозуміти як працювати з системами, побудованими на базі Kubernetes.

Програма

Введення

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

Continuous Integration

Сфокусуємось на сучасному процесі створення ПЗ. Які поняття – основні, на чому потрібно робити акцент розробнику, щоб взаємодіяти з іншими членами команди максимально швидко та ефективно? Головне на цьому етапі – ресурсний менеджмент, робочий графік, інструменти перевірки якості коду та сховище артефактів.

  • Git
  • Branching і Release Management
  • Github
  • Jenkins
  • SonarQube
  • Рев’ю кода, User Story Isolation, PR/PUSH builds

Continuous Delivery

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

  • Репозиторій артефактів
  • Змінні середовища
  • NoOps, Opsless
  • Docker, Docker compose, Swarm, Kubernetes, Service Mesh (Istio)

Continuous Deployment

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

  • Різні типи середовищ розробки (dev, qa, uat, prod)
  • Blue / Green, A / B, Canary deployment, 0-downtime, Rolling updates, стратегія «Follow the sun»
  • Kubernetes, Terraform, Helm
Запис на консультацію

Якщо у вас є питання стосовно курсу або програми навчання, запишіться на індивідуальну консультацію зі мною.

Записатися на консультацію







Дякуємо за реєстрацію.

Найближчим часом з вами зв‘яжеться наш менеджер

Контакти