Остання редакція: 2020-04-18
Тези доповіді
У сучасній економіці використання цифрових інструментів у бізнес-рішеннях грає визначальну роль. Разом зі зростанням складності високотехнологічних платформ, важливим чинником стає безперебійність роботи та постійні оновлення з метою дотримання безпекових заходів критично важливих ІТ-систем. Торкнулася ця тенденція й розробки програмного забезпечення для порталів типу web-to-print. При отриманні замовлень онлайн, клієнти завантажують великий обсяг даних у вигляді файлів оригінал-макетів. Система зберігання та контролю версій таких файлів потребує чимало серверних ресурсів, а також не допускається наявність помилок в ядрі програмного забезпечення. У даному випадку CI/CD дає швидкий цикл зворотного зв’язку, що дозволяє майже миттєво визначити, наскільки якісними є зміни у коді, а також перевірити функціональність продукту). При waterfall-підході (каскадна розробка програмного забезпечення, де розробники незалежно працюють над різними частинами системи, стадія інтеграції є заключною) можна швидко вносити зміни у код, але без постійних перевірок, бо виявлення помилок потребує набагато більше часу й може статися вже після початку комерційної експлуатації, причому таких «відкладених» помилок в одному релізі може виявитися декілька. Одні помилки у програмному забезпеченні можуть містити інші, які включають у себе треті тощо. Чим більше помилок накопичується, тим складніше тестувати й знаходити їх, що у результаті може привести до неприємних наслідків. Тим часом у CI/CD-розробці автоматизовані тести у разі неуспішного їх проходження покажуть, що саме потрібно виправити. Для впровадження системи потрібен час, але це допоможе розробляти програмне забезпечення максимально швидко й зручно. Автоматизовані процеси допомагають значно знизити трудовитрати різних відділів підприємства. Без автоматизації CI/CD можуть ставатися помилки, викликані людським фактором й необхідністю здійснення ручних операцій. При аналізі досліджень та опитувань компаній, що впровадили CI/CD, було виявлено основні переваги та покращення процесів з точку зору цих компаній, які зображено на рисунку 1.
Отже, на підставі багатьох проаналізованих джерел, встановимо та узагальнимо основні переваги використання CI/CD для web-to-print:1. Швидкість введення нової функціональності від ідеї до запуску в експлуатацію. Безперервна інтеграція дозволяє запускати оновлення за лічені дні або тижні порівняно з цілим календарним роком при класичному waterfall-підході. Нові сервіси — нові конкурентні бізнес-переваги. З’являється можливість не просто відтворювати функціональність рішень конкурентів, але й значно випереджати їх у розробці та впровадженні нових інструментів. 2. Можливість вибору оптимального варіанту за рахунок оперативного тестування й більшого числа ітерацій. Відмовившись від роботи над безперспективними рішеннями, можна досягти значного заощадження ресурсів компанії. 3. Якість кінцевого результату вищеа за рахунок можливості впровадження автоматичного тестування, яке охоплює всі аспекти продукту, що важко буде реалізувати при стандартному релізному підході. Всі помилки й тонкі місця виявляються та видаляються ще на ранніх етапах розробки. На рис. 2 наведено типовий процес CI/CD для веб-порталів типу web-to-print.
Отже, у результаті аналізу особливостей та переваг запровадження й використання систем безперервної інтеграції для порталів типу web-to-print, можна зробити висновок, що: системи безперервної інтеграції CI/CD є потужним інструментом, який допомагає суттєво покращити робочий процес розробки програмного забезпечення із підвищенням його надійності та з можливістю внесення коректив та застосування ітераційного принципу розробки із скороченням циклу одиничних спрінтів (одна ітерація життєвого циклу розробки програмного забезпечення).