Статті (Технології розробки і супроводження)
25.07.2003
Atlas SDS - система автоматичного розповсюдження версій ПЗ та керування конфігурацією комп’ютерів.
Особливості національного впровадження великих автоматизованих систем в експлуатацію
Будь-яка комп’ютерна програма (додаток) для використання має бути інстальована на комп’ютері кінцевого користувача. Як програми, так і їх засоби інсталяції розрізняються за рівнем складності. Деякі програми інсталюються тільки за рахунок копіювання файлів у директорію. Більшість з сучасних програм для Windows при інсталяції записують файли у директорію, створюють ключі реєстру, реєструють COM компоненти, що теж призводить до змін реєстру, створюють ярлики у меню запуску та на робочому столі. Усі ці дії, як правило, виконує спеціальна програма інсталятор.
На наступному рівні складності відносно інсталяції стоять системи, які призначені для автоматизації специфічних для організації робіт. Як правило, це заказні системи. Ці системи є багаторівневими (тобто включають клієнтське ПЗ, сервер(а) додатків, сервер(а) СКБД). Ці системи мають тенденцію постійно розвиватися і змінюватися (принаймні на початкових етапах) свого життєвого циклу. Для інсталяції таких систем, крім описаних вище дій, необхідно проводити налагодження системного ПЗ (наприклад, параметрів ODBC з’єднання). Крім того, може бути необхідно встановлювати це саме системне ПЗ (наприклад клієнтське ПЗ доступу до СКБД). Після початкової інсталяції та налагодження подібної системи, необхідно регулярно проводити її оновлення. Ситуація ускладнюється у разі використання розподіленої системи. Тобто система встановлена у географічно віддалених відділеннях (вузлах) організації, і працює як єдина система за допомогою використання реплікації БД. У цьому випадку встановлення нових версій ПЗ має відбуватися одночасно, або послідовно за деяким алгоритмом в усіх вузлах системи. Як правило, оновлення таких систем включає оновлення прикладного ПЗ та структури БД.
Усі роботи по інсталяції системи, та особливо по її оновленню в майбутньому покладаються на системних адміністраторів організації, яка впроваджує у себе систему. Розробник при цьому створює максимально зручні у використанні пакети інсталяцій, пише детальні інструкції по інсталяції та налагодженню, проводить навчання адміністраторів Замовника. В деяких випадках, представники розробника проводять повне налагодження і запуск системи у Замовника і її адміністративну підтримку (зрозуміло що не задарма).
Щоб завершити картину, треба уявити велику організацію, що має відділення по усій країні, яка впроваджує комплексну розподілену систему і немає можливості підтримувати штат висококваліфікованих адміністраторів, а розробник системи фізично не спроможен підтримувати інсталяцію і налагодження системи в усіх вузлах. За таких умов виникає необхідність, автоматизувати процес встановлення та оновлення системи, звести участь адміністраторів в цьому процесі до абсолютно необхідного мінімуму. В ідеалі, кінцевий адміністратор має тільки відслідковувати процес встановлення системи та у разі виникнення нештатних ситуацій звертатися за допомогою до більш кваліфікованих фахівців. Наявність подібного процесу встановлення ПЗ стає критично важливим для процесу впровадження системи.
Сьогодні існують подібні рішення від великих корпорацій. Це, наприклад, Microsoft Systems Management Server. Ця система призначена для автоматичного керування великими корпоративними системами на базі мереж Microsoft Windows. Але використання цієї системи обмежено наступними факторами:
- Велика ціна ліцензій на використання продукту. Це особливо помітно у великих системах з сотнями або тисячами клієнтських місць. Ці гроші ліпше вкласти в розвиток.
- Для функціонування цього продукту необхідно, щоб корпоративна мережа використовувала інші технології Microsoft: Active Directory, SQL Server (потребує додаткового ліцензування).
Таким чином, під час впровадження замовних інформаційних систем у великих організаціях можуть виникати наступні проблеми:
- Складніть інсталяції, конфігурації та регулярного оновлення прикладного ПЗ на великій кількості клієнтських робочих станцій та серверів, які можуть бути ще й географічно розподіленими.
- Відносно низький рівень кваліфікації системних адміністраторів у Замовника.
- Необхідність виконання синхронізованого оновлення компонент системи, для розподілених систем.
- Відсутність у Замовника засобів керування конфігурацією комп’ютерів, таких як Microsoft SMS.
- Велика вартість продуктів такого класу (як для придбання Замовником, так і для включення розробником у склад своєї системи).
- Відсутність налагодженого загальносистемного середовища (наприклад, впровадженої мережі на основі ActiveDirectory) для впровадження таких систем.
Atlas SDS як інструмент для вирішення зазначених проблем
Для вирішення зазначених проблем Департаментом программних систем компанії “Атлас” було розроблено систему для автоматичної інсталяції та конфігурування ПЗ Atlas SDS (Software Distribution System).
Atlas SDS – розподілена система розповсюдження ПЗ побудована за принципом клієнт – сервер. Нижче наведені головні принципи та особливості її функціонування. Корпоративна мережа (та структура) Замовника розглядається як набір вузлів (відділень з локальною мережею), поєднаних через глобальну мережу будь-якого типу.
У кожному вузлі системи встановлюється один сервер SDS. Сервер SDS працює у взаємодії з FTP сервером. Для побудови розподіленої системи необхідно, щоб сервери SDS мали змогу з’єднуватися один з одним по протоколу TCPIP.
На сервері SDS зберігаються пакети інсталяцій, пакети параметрів для налагодження ПЗ. На клієнтських комп’ютерах працюють агенти SDS. Це маленькі програми, які встановлюють зв’язок з сервером SDS, отримують з нього інсталяції та інструкції і встановлюють ПЗ на станції, де вони працюють. Агент інсталяції може бути сконфігурован для автоматичного встановлення будь-якого продукту, або для вибору будь-якого продукту з списку можливих.
При отриманні Замовником нового ПЗ, він розміщує його на сервері SDS та проводить налагодження усіх необхідних параметрів. Параметри налагоджуються один раз для усіх компонент системи і зберігаються централізовано на сервері SDS. Також, за допомогою ПЗ керування сервером SDS можна створити активаційні пакети для встановлення ПЗ на цільові комп’ютери. Після створення подібного пакету він копіюється на цільовий комп’ютер і запускається. Якщо усі параметри ПЗ налагоджені на сервері SDS, то інсталяція та конфігурація цього ПЗ на цільовому комп’ютері відбувається в автоматичному режимі без втручання користувача або адміністратора.
Після інсталяції запуск цього ПЗ на цільовому комп’ютері налаштовується через агента інсталяції. Тобто, коли користувач запускає ПЗ він фактично запускає агент інсталяції. Цей агент перевіряє на сервері SDS наявність оновлень ПЗ, у разі їх наявності автоматично їх встановлює і запускає необхідне клієнтське ПЗ. Коли Замовник отримує від розробника оновлення ПЗ, це оновлення також розміщується на сервері SDS. Оновлення автоматично використовує параметри налагоджені для попередньої версії цього ПЗ. У функції адміністратора системи входить:
- Встановлення та конфігурація сервера SDS.
- Створення активаційних пакетів для необхідного ПЗ, з інтерфейсу керування сервером.
- Розповсюдження активаційних пакетів по цільовим комп’ютерам та їх перший запуск.
- Розміщення пакетів інсталяцій оновлень на сервері SDS.
- Налагодження нових конфігураційних параметрів.
- Видача дозволу на встановлення ПЗ.
Після видачі цього дозволу ПЗ автоматично буде розповсюджено по усій системі. Після впровадження системи регулярно повторюються тільки останні три пункту. Разом з пакетами інсталяцій Замовник отримує типові конфігурації параметрів, які треба налагоджувати для ПЗ у сервері SDS, та інструкції по налагодженню цих параметрів “під себе”.
На базі SDS можливо створювати розподілені системи розповсюдження ПЗ. В типовому випадку сервера SDS конфігуруються у ієрархічну древовидну структуру. Підлеглі сервери звертаються до головного за отриманням пакетів інсталяції. На головному сервері адміністратор розміщує пакети інсталяцій, конфігурує параметри, і дає дозвіл на розповсюдження цих пакетів на підлеглі сервери. Цей дозвіл може даватися разом або за декілька днів до дозволу на встановлення ПЗ на цільові комп’ютери у центральному вузлі. Підлеглі вузли отримують пакети інсталяції з головного серверу разом з налагодженими там параметрами. Адміністратори цих вузлів мають провести необхідну доконфігурацію параметрів та дати дозвіл на подальше розповсюдження та встановлення пакетів у своєму вузлі.
Під час встановлення ПЗ на цільовому комп’ютері агент інсталяції передає на сервер SDS що, де встановлено, і з якими параметрами. Адміністратор системи має можливість проводити централізований моніторинг встановленого ПЗ у своїй мережі. Важливою особливістю SDS є залежність інсталяційних пакетів одного від іншого. Для кожного пакету (кожної версії) можуть бути вказані інші пакети та їх версії, які необхідні для функціонування цього пакету. Сервер SDS аналізує ці залежності і сигналізує у разі відсутності якоїсь з необхідних компонент. Агент інсталяції при встановленні пакета автоматично встановлює і усі інші пакети, які необхідні для функціонування. При налагодженні параметрів пакету, параметри пакетів, від яких він залежить, налагоджуються у тому ж самому інтерфейсі.
Розвитком цього принципу є залежність можливості (дозволу) на встановлення ПЗ від факту встановлення іншого пакету на цьому або іншому комп’ютері. Такі залежності створює і описує розробник пакетів інсталяції. Так, наприклад, клієнтське ПЗ не може встановлюватися, якщо десь не встановлено сервер додатків необхідної версії, а він у свою чергу не може встановлюватися, якщо не встановлене необхідне оновлення БД.
Наведені вище залежні пакети інсталяції формують мета-пакет інсталяції системи. Розробник завжди передає Замовнику подібні мета-пакети.
Таким чином, Atlas SDS має наступні головні особливості:
- Для його функціонування потрібне мінімальне загальносистемне середовище (TCPIP мережа та можливість проходження по дільницям глобальної мережі FTP трафіку). Крім FTP серверу SDS не потребує додаткового системного ПЗ.
- Простота встановлення та налагодження.
- Повністю автоматичне, без втручання адміністратора, встановлення компонент ПЗ на цільові комп’ютери.
- Централізована конфігурація та збереження параметрів ПЗ, яке підлягає автоматичному встановленню.
- Автоматичне оновлення встановленого ПЗ на основі pop-моделі (ПЗ перед запуском звертається за оновленнями до SDS сервера).
- Можливість оновлення усіх частин корпоративної системи, включаючи структуру БД.
- Можливість побудови розподіленої системи розповсюдження ПЗ з централізованою конфігурацією ПЗ і ініціацією процесу оновлення.
- Можливість побудови планового процесу оновлення ПЗ у розподіленій системі, за рахунок видачі дозволів на розповсюдження інсталяційних пакетів, та автоматичного оновлення версій ПЗ.
- Система пов’язаних інсталяційних пакетів, яка дозволяє автоматично встановлювати усі необхідні компоненти системного ПЗ, такі як драйвери доступу до БД, оновлення ОС, тощо.
- Atlas SDS автоматично входить до усіх рішень, які розробляються ДПС компанії “Атлас”. Це дозволяє прискорювати процес впровадження та підтримки цих систем.
- Для використання окремо від систем компанії “Атлас”, SDS коштує суттєво дешевше від Microsoft Systems Management Server.
- На даному етапі SDS призначено для конфігурації комп’ютерів з будь-якими ОС з сімейства Windows.
SDS використовується у наступних рішеннях компанії “Атлас”:
- Білінгові системи СИБІЛ, АБОНЕНТ для ВАТ "Київгаз", ВАТ "Одесагаз", ВАТ "Дніпропетровськгаз".
- Система електронного документообігу для ДПАУ.
- Експериментальна система СПОВ-МЗ (Місячна звітність) для ПФУ.
- Система видачі страхових свідотств (СВС) для ПФУ.
- Буде використовуватися у ІКІС (комплексній інформаційній системі) для ПФУ (700 вузлів впровадження по усій Україні).
- Та усіх інших проектах, які реалізує ДПС компанії “Атлас”.
В усіх зазначених проектах SDS принесла значну користь у вигляді суттєвого зниження витрат на підтримку систем зі сторони розробника і практично повну відсутність витрат на впровадження систем (відносно інсталяції та конфігурування) зі сторони Замовника.
Перспективи розвитку SDS
На даному етапі розвитку SDS успішно впроваджена і активно використовується у великій кількості проектів. Для подальшого удосконалення процесів впровадження та підтримки Замовника планується наступний розвиток системи. В першу чергу:
- Приведення структури сховища версій у повну відповідність, зі структурою сховища зафіксованих версій програмних продуктів, яке стандартизовано і використовується у ДПС компанії “Атлас”. Це дозволить ще більш спростити і зробити більш ефективним та оперативним процес випуску оновлень ПЗ.
- Розвиток можливості побудови розподілених систем оновлення версій, за рахунок вдосконалення підсистеми захисту інформації у системі, і організації централізованого глобального сховища оновлень і інсталяцій усіх продуктів через веб-сайт ДПС компанії “Атлас”. Замовники зможуть автоматично отримувати призначені для них оновлення через Інтернет а бо за допомогою модемного зв’язку. Тобто адміністраторам Замовника залишиться тільки проводити доконфігурацію параметрів на своєму сервері SDS та давати дозвіл на встановлення відповідних пакетів та оновлень.
- Вдосконалення механізмів зворотнього зв’язку агентів інсталяції з сервером SDS та серверів між собою. У перспективі на центральному сервері SDS у розподіленій системі можливо буде проводити моніторинг встановленого ПЗ на усіх комп’терах усіх підлеглих вузлів.
- Можливість використовувати стандартні інсталяції MSI. Ціль - виконувати інсталяції стандартних компонент ПЗ у бездіалоговому режимі. (Наприклад, інсталювати по усій мережі Microsoft Office, у бездіалоговому режимі).
Висновки
Багаторічний досвід ДПС компанії “Атлас” у впровадженні заказних систем у великих організаціях показав необхідність використання будь-якої системи автоматичної конфігурації компютерів організації.
Використання рішення особистої розробки (SDS), обумовлює оперативність і комплексність у проведенні оновлень системи, дозволяє знизити вартість, як технічної підтримки з боку розробника, так і системного адміністрування з боку Замовника системи.
Олександр Кот
Начальник відділу загальносистемних рішень
Департаменту програмних систем
АТЗТ "Атлас"
Alexander.Kot@dps.kiev.ua
