Система администрирования "Купол"
Ялуторовск
Программное обеспечение

Выберите вознаграждение

Инфографика

Идея

Однажды занимаясь установкой локальной компьютерной сети на предприятии я, ради спортивного интереса, подсчитал затраченное время и количество однотипных действий, которые было необходимо совершить для этого. Как оказалось, для решения такой задачи в типовом офисе было необходимо более 7 рабочих дней и множество беготни между рабочими местами пользователей, решение множества мелких и крупных проблем с потерянными ярлыками, документами, установкой приложений и т.п.

Позже я настраивал в офисе систему извещений и так же рассчитал сложность этой процедуры, кроме того как оказалось на практике такую систему даже в простом виде реализовать практически не возможно.

Через какое то время была еще одна задача - наладить для различных отделов web-конференции, и мной был получен расчет трудозатрат на эту процедуру. В общем, оказалось что работы много а в зарплате это не отразится.

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

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

Идея быстро оформилась во вполне детальный прототип, который мог обеспечить для меня не только оптимальные возможности но и позволить значительно предупредить все будущие "эксцессы" в офисе. Собственно, основная цель была поставлена так - создать некую распределенную между всему рабочими станциями систему, которая в реальном времени будет отслеживать состояние всех технических параметров компьютеров, извещать меня о различных проблемах за долго до того как это приведет к серьезным недоразумениям, и даже автоматически решать эти проблемы по возможности. Это был первый набросок системы администрирование "Купол".

План

Прошло несколько дней и у меня окончательно сложилось представление о том, какой должна быть эта система. Я не буду подбирать громкие высокотехнологичные эпитеты, достаточно назвать три основные характеристики системы, обеспечивающие ее ценность: стабильность, практичность, юзабельность. Устойчивая к поломкам и действиям пользователей, имеющая широкие практические возможности и удобная в эксплуатации программная система будет для меня именно тем инструментом, который значительно облегчит работу и избавит от беготни по офисным кабинетам.

Так родился план будущей системы администрирования "Купол".

На текущий момент план имеет следующие обязательные пункты, часть из которых уже реализована, а другая часть реализуется. Ежедневно появляются новые идеи, которые получат практическое воплощение в будущих версиях.

1. Система состоит из трех основных частей: удаленная утилита на рабочих станциях, локальный web-сервер и настольное приложение для администрирования. Утилита работает на всех станциях сети предприятия и обеспечивает администратора текущей информацией о состоянии станции, а также позволяет выполнять удаленные вызовы процедур, или иначе удаленно выполнять полезную работу. Web-сервер предоставляет доступ к "браузерной админке", т.е. к единому кабинету для обработки совокупной информации и управления станциями. Удобство в том, что администратор получает доступ в админку с любой рабочей станции сети через любой браузер без установки дополнительного программного обеспечения. И последняя часть - настольное приложение, обеспечивает администратора большим количеством различных отчетов, рабочих режимов, удаленного управления станциями (одна из основных функций будет удаленное управление рабочим столом по образцу известной утилиты TeamViewer).

2. Аналитически модуль системы в реальном времени анализирует состояние всех рабочих станций, и выявляет различные отклонения от нормы. Администратор немедленно получает состояние всех рабочих станций с рекомендациями, к каким станциям необходимо проявить внимание. Модуль аналитики обеспечивает комплексное извещение всех заинтересованных лиц (работников) а так же пользователей. И наиболее интересная функция модуля - автоматический "ремонт" станций в тех случаях, когда это возможно. (Представим, что Купол самостоятельно определяет все жесткие диски в сети предприятия, на которых исчерпано свободное пространство и сам запускает на этих станциях утилиту очистки, и все становится на свои места!).

3. Среди основных функций управления обязательно должны присутствовать такие, как: запуск, завершение, блокировка удаленных приложений; создание ярлыков; установка программ; управление рабочим столом; управление процессами и службами; управление реестром; доступ к удаленной панели управления; мессенджер сообщений, картинок, мультимедиа; синхронизация станций по дате и времени; ведение трендов различных параметров рабочих станций (например отслеживание загрузки процессора).

4. Администратор должен быть обеспечен удобным управлением не только через локальную сеть, но и через интернет. Кроме того, должно быть разработано приложение для Android, которое обеспечит удобное управление с мобильного устройства с широкой диагональю. Фактически, это означает что администратор сможет управлять всей системой с планшета стоимостью в 5-10 т.р. находясь в любой точке мира, где присутствует 3-4G или WiFi интернет. Таким образом достигается мобильность и оперативность.

Реализация

Подбор технологий для реализации задуманной системы оказался не из самых простых, поскольку множество деталей будущей системы находились в области "системного программирования". Сравнительно просто разработать web-интерфейс админки с использованием html, css и jquery, но реализация даже такой незначительной функции как установка системного времени на удаленной машине требует особых привилегий и низкоуровневого кода на c++ и winapi (и это только в применении к ОС windows). Тем не менее, после перебора различных библиотек, я остановил свой выбор на следующих технологиях:

1. Web-система администрирования - php5, html5, css3, jquery, mysql;

2. Настольная система администрирования - c#, .net;

3. Утилита для удаленного управления - c++, winapi. Утилита реализуется как многопоточный windows-сервис. Такой вариант позволяет работать с удаленным компьютером даже при заблокированном рабочем столе пользователя.

4. Планшетная система администрирования - ОС Android. Выбор на этой операционной системе остановился не случайно, программа рассчитана для применения на предприятиях произвольного сектора, и стоимость аппаратного обеспечения должна быть достаточно низкой. Планшеты с ОС Android в разы дешевле чем планшеты iOS.

Перспектива

Для каких целей может потребоваться такая система администрирования вам уже понятно, остается подумать над рыночным сектором, в котором она может быть реализована. Для этой цели я изучил структуры компьютерных сетей в 15 организациях города и получил вполне закономерный результат: структура и технологии идентичны на 90%. В двух словах можно описать эти технологии так: рабочие станции на windows xp, windows 7-8-10; сервер на ОС WIndows Server 2008 R или Windows Server 2012; на низком уровне все сети работают по протоколу TCP/IP. Как видно, система администрирования "Купол" может применяться для управления сетью практически в каждой организации. Простое исследование показало что этот рынок свободен более чем на 80 процентов.

Итак, могу уверенно заявить что намерен разработать эту систему и внедрить во всех организациях, которые идут в ногу со временем и настроены на автоматизацию производственных процессов.

Лицензия на эксплуатацию системы пока не разрабатывалась, но можно точно сказать что она будет платная и стоимость будет рассчитываться исходя из количества рабочих мест.

Для чего нужны деньги?

Денежная сумма, которую планируется собрать в этом проекте, будет потрачена на приобретение выделенного сервера в интернет, который станет центром обновлений и технической поддержки для пользователей ; лицензии на ряд программных библиотек и технологий, которые будут включены в пакет администрирования, а также на оплату работы нанятых программистов (когда это потребуется). Завершить все работы по проекту в области программирования мы способны собственными силами, но закупка необходимого оборудования, лицензий, домена и выделенного интернет-соединения на первый год работы требует немедленного вложения средств. На конечном этапе пользователи получат полностью автономный web-сервис с документацией, дистрибутивами демо-пакетов, форумом, технической поддержкой, электронным магазином. Мы ориентируемся не на сиюминутный быстрый заработок а на долговременное многолетнее сотрудничество и дальнейшее совершенствование системы администрирования "Купол".

Кроме этого, планируется интеграция в систему дополнительных аппаратных единиц - цифровых камер, атс, voiceIp и т.п. Это значит, что как минимум необходимо иметь одно такое устройство для разработки и отладки программного кода, и это устройство необходимо будет либо покупать, либо арендовать.

Разработчики

Инициатор идеи и главный разработчик - Воронин Павел Сергеевич. (1979 года рождения; высшее образование, Ленинградский Электротехнический университет, факультет разработки программного обеспечения).

Ведущий программист - Иванов Роман Викторович. (1987 года рождения; высшее образование, Тюменский Государственный Университет, институт математики и компьютерных наук).

Несколько скриншотов проекта

(браузерная система администрирования)

Группа проекта в социально сети В Контакте

Сайт разработчиков