Безперервне розгортання обчислювальних систем (ІСТ)

Тип: Нормативний

Кафедра: радіоелектронних і комп'ютерних систем

Навчальний план

СеместрКредитиЗвітність
46Залік

Лекції

СеместрК-сть годинЛекторГрупа(и)
432доцент Флюнт О. Є.ФеС-21

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
432ФеС-21доцент Флюнт О. Є., доцент Флюнт О. Є.

Опис навчальної дисципліни

Курс „Безперервне розгортання обчислювальних систем” є вибірковою дисципліною циклу професійної та практичної підготовки для студентів бакалаврів, які навчаються за спеціальністю 126 – Інформаційні системи та технології.

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

Для досягнення поставленої у навчальному курсі мети студентам потрібно ознайомитись з системою котролю версій Git, системою автоматизованої перевірки якості Selenium, системою віртуалізації та контейнеризації Docker, системою непервного розгортання Kubernetes, ситемою котролю процесів Jenkins і ін. Після проходження навчання за цією програмою студенти повинні вміти реалізувати цикл розгортання простого програмного забезпечення від розробки та тестування до автоматизованого розгортання.

Завдання процесу вивчення дисципліни є набуття студентами знань з основних практик процесів розробки, перевірки, інтеграції і розгортання, формування початкових умінь та навиків:

  • створення образів програмних додатків з організацією контролю версійта розміщення в репозиторіях;

  • здійснювати віртуалізацію програмних процесів за допомогою контейнерів Docker;

  • запускати та налаштовувати обчислювальні кластери та керувати їхньо роботою;

  • аналізу результатів тестування програмного забезпечення.

Курс повинен забезпечити знайомство студента із основами проактиками та інструментами циклу програмного забезпечення. Показником оволодіння студентом матеріалу курсу є вміння здійснювати повний цикл розробки простого програмного додатку від розробки до розгортання.

В результаті вивчення даного курсу студенти повинні:

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

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

Міждисциплінарні зв’язки. Для вивчення дисципліни необхідні знання з таких курсів: „Операційні системи”, „Основи програмування”, „Бази даних та знань дисциплін,” „Основи Web програмування”, достатніх для сприйняття категоріального апарату процесів віртуалізації, організації системи контролю версій, основ функціонування операційних систем, зокрема Linux, використання bash оболонки команд.

Рекомендована література

  1. McQuaid M., Chacon S. Git in practice. – Manning, 2015. https://www.manning.com/books/git-in-practicea_bid=5688bbf4&a_aid=
    MikeMcQuaid#toc

  2. Chacon S. Git internals // Pro Git. – 2009. – P. 223-250. file:///home/orest/Downloads/
    peepcode-git.pdf

  3. Farhan Hasin Chowdhury The Docker Handbook https://www.freecodecamp.org/news/the-docker-handbook/

  4. Jenkins Handbook www.jenkins.io/doc/book/

  5. Kubernetes Handbook https://tanzu.vmware.com/kubernetes-handbook

  6. Kubernetes Documentation https://kubernetes.io/docs/home/

  7. Chacon S., Straub B. Pro git. – Springer Nature, 2014. – P. 456.

  8. Kubernetes Handbook Non-Programmer’s Guide to Deploy Applications with Kubernetes Stephen Fleming

  9. Docker Engine overview https://docs.docker.com/engine/

  10. Jenkins User Handbook jenkinsci-docs@googlegroups.com

Матеріали

Електронний навчальний курс знаходиться в системі Moodle за посиланням:

https://e-learning.lnu.edu.ua/course/view.php?id=3136

Навчальна програма

Завантажити навчальну програму

Силабус:

Завантажити силабус