Лінукс очима розробника: II - Чому розробка для GNU/Linux?
Нагадую, що ті, хто вже підписані на розсилку „Груша.org.ua - новини“ ще пару днів тому прочитали це продовження. Тому якщо хочете якомога швидше отримати наступну частину - підписуйтеся. Тим паче, що в нас на сайті все чесно. Тут можете детальніше прочитати про умови підписки та відмови від розсилки.
Ось продовження статті:
Ми подібні до карликів на плечах гігантів. | ||
— Бернар де Шартр |
Навіть на теренах систем охорони, традиційно стабільному ринку, в якому гравці добре знають один одного десятки років, відбувається конкуренція: нові продукти, нові якості, нові вимоги. З розвитком нових технологій з’являються нові можливості, без яких покупці не звертають увагу на продукцію. Наприклад, з розвитком інтернету та вебу користувачі схотіли отримати доступ до охоронної системи свого житла зі звичайного оглядача: якщо дитина повернулася раніше зі школи, зняти з охорони, дистанційно вимикати побутові прилади, переглядати зображення з камер, якщо трапилася-таки тривога тощо. Отже, перед розробником вибір: або самому написати стек протоколів інтернету (IP) або скористатися вже готовим.
Правда, вибрати серед готових платформ для розробки непросто: доводиться шукати компроміс між пропонованими засобами, якостями, підтримкою, ціною. Власне, для маркетингу всі ці терміни вимірюються кількістю грошей: додаткові риси — плюс до вартості приладу, проблеми з розробкою та супроводом — плюс до витрат, та ще й власна вартість. Тому попри особисті вподобання розробників рішення приймається прагматично. Цього разу вони таки співпали.
Отже, для побудови веб-комунікатора PowerLink компанія Visonic вибрала дистрибутив Лінуксу montavista для процесора Xscale-256, дала йому 32 Мб оперативної пам’яті, 128 Мб постійної пам’яті для кореневої файлової системи, контролер дротяної мережі і т. ін. Цього виявилося достатньо для взаємодії з охоронною панеллю, запуску веб-сервер Apache, обслуговування десятка камер у локальній мережі і не тільки. У такій системі користувач має змогу зайти на сторінку системи охорони свого житла, переглянути зображення з камер, стан побутових приладів, при потребі щось дистанційно змінити. Крім того, веб-комунікатор у випадку тривоги передає повідомлення із зображенням на сервер, звідки воно може переправитися на телефон чи/і електронну пошту господаря. Насправді зважаючи на вимоги надійності та безпеки система трохи складніша, проте її успіх зобов’язаний вибору відкритих технологій, громадській підтримці (на противагу комерційній) та відсутності ліцензійних зборів за користування доробками.
Трохи інша ситуація із сервером, бо кількість його інсталяцій заздалегідь менша. До нього висуваються більш жорсткі вимоги до продуктивності, адже один сервер повинен обслуговувати до ста тисяч приладів. Крім того, логіка роботи значно складніша, багато задач свідомо були перенесені на сторону більшої потужності. Це стосується, наприклад, обробки отриманих зображень. Проте все необхідне у нас вже є: C++ для вимогливих задач, Python, XSLT для редагування конфігурації, bash для склеювання різних частин, PHP для користувацького інтерфейсу тощо.
Найбільш цікавий та показовий випадок розробці сервера трапився тоді, коли постала задача розробити надлишкове рішення, тобто звести нанівець результат відмови обладнання. Вирішили використати два однакові сервери, на яких працює служба drbd для синхронізації оперативних даних. Інша служба heartbeat слідкує за життєздатністю, і як тільки виявляється зникнення зв’язку чи інша неполадка, роботу починає виконувати резервний сервер.
Найбільшим здивуванням для нас, розробників прикладної частини, стало те, що додання аспекту надлишковості обійшлося без втручання в наш код. Важко собі було б уявити таку можливість, якби не чітко розмежована архітектура ядра Лінуксу: драйвер жорсткого диску → віртуальна файлова система → системні виклики. В цей ланцюг легко додати нову ланку, яка у нашому випадку займається синхронізацією даних із іншою системою. До слова, на це пішло місяців зо два, а от у попередньому підприємстві так і не розв’язали, наскільки мені відомо.
Давайте підсумуємо. Відкритість, простота, надійність, зручність для розробки — все це причина вибору платформи GNU/Linux у компанії Visonic.
Наступну частину:
Чому розробка у GNU/Linux?
Якби люди знали інструменти grep, sed, awk, ніколи не з’явилося б стільки красивих програм. | ||
— Народна творчість |
чекайте через декілька днів у наступному випуску розсилки, або пізніше, на наступному тижні тут на сайті Груша.org.ua.
__________________________
Коментарі
Написати нове повідомлення