Pull to refresh

Тернистый путь ITSM в России

Reading time16 min
Views15K
20 марта 2015 года было очередное солнечное затмение. Офисные работники центральной и северо-западной России пытались его разглядеть: через солнечные очки, тонировку автомобиля, пивную бутылку. И только ушлые запасливые админы отодвигали шторку дискет и с наслаждением передавали из рук в руки спасительную плёнку. А ведь совсем недавно подписанные дискеты были одним из самых важных носителей информации — на них сдавали курсовые, носили отчёты и выгрузки из отдела в отдел, с них загружали программы. С дискетами в руках недавно ещё советская Россия открывала капитализм. Впереди были сети, доступный интернет, внешние жёсткие диски, флешки и невероятное количество связанных с этим проблем. Сегодня мы предадимся ностальгии, а заодно вспомним, как развивались системы управления ИТ-активами.



Полный штиль


Сетевая ИТ-инфраструктура современного предприятия — это уже давно не сети и каналы передачи данных. Офисные сети поумнели, обросли возможностями виртуализации и стали программно-конфигурируемыми (речь идёт о Software Defined Networks, SDN, когда уровни управления сетью и передачи данных разделяются за счёт переноса функций управления (маршрутизаторами, коммутаторами и т. п.) в приложения, работающие на отдельном сервере (т.н. контроллере). ИТ-вендоры предлагают бесчисленное количество инструментов, самые сложные архитектуры и одновременно — программные продукты для мониторинга и контроля за всем этим набором.

В доперестроечный период как таковых средств мониторинга не требовалось: компьютеры широко использовались только в крупных организациях, где каждый работник нёс ответственность за свои действия, а соблазнов в виде интернета или желания поставить нелицензионный Фотошоп просто не было. Всё хулиганство сводилось к невинным шуткам вроде распечатывания картинок на промышленных принтерах (помните «Джоконду» над столом секретарши Верочки из фильма «Служебный роман»?). В более ранние периоды не было и этого.


Разработка первой малой электронной счётной машины в СССР началась осенью 1948 года. 25 декабря 1951 г. МЭСМ была принята комиссией Академии наук СССР под председательством легендарного академика М.В. Келдыша и передана в эксплуатацию. В декабре 1951 г. практически одновременно и независимо в Советском Союзе были изготовлены и введены в эксплуатацию две первые электронные цифровые машины: автоматическая цифровая вычислительная машина АЦВМ М-1 в России и малая электронная счетная машина МЭСМ в Украине. АЦВМ М-1 и МЭСМ открыли начало практической реализации создания цифровых вычислительных машин в СССР:

Весной 1952 г. начались разработка и изготовление быстродействующей универсальной ЭВМ М-2, а в 1953 году появилась быстродействующая Машина электронная вычислительная общего назначения БЭСМ-1 (средняя производительность — 8000—10000 операций в секунду). Машины поставлялись без системного ПО и использовались предприятиями и вычислительными центрами сперва для вычислительных операций (это были научные изыскания и учёт показателей народного хозяйства). Позже машины советской разработки, а затем и первые компьютеры IBM в СССР использовались в обороне, космической сфере, для учёта данных и даже для запуска и использования первых автоматизированных систем управления (АСУ). Компьютерами управляли операторы и у них, в отличие от наших с вами современников, не было возможности (да и потребности) подключить к компьютеру носитель с заражёнными файлами или сделать что-либо, кроме того, как, например, вывести на печать свою диссертацию. В то время распечатка какой-нибудь книги или репродукции (как на примере из фильма) была единственным неправомерным использованием служебного компьютера.

Пираты молодой России — методы защиты ПО в конце 80-х


Одна из первых проблем, с которой столкнулся СССР в последние годы своего существования (примерно с 1988 года) и которую унаследовала новорожденная Российская Федерация, была проблема использования нелицензионного программного обеспечения (проще говоря, пиратства). Вместе с пиратством в компании и университеты пришли угрозы заражения вирусами, а к производителям — вопросы защиты авторских прав и несанкционированного копирования. Уже тогда стали появляться первых механизмы защиты. Одни из них пережили добрые 25 лет и успешно применяются до сих пор, другие вызывают у современных разработчиков улыбку. (Раздел о методах защиты написан с использованием информации сборника БИТ, выпуск 3, М.: ИнфоАрт, 1991 г. — прим. ред.)


Защита с помощью серийного номера. Обеспечивается наличие уникального номера в каждом экземпляре программы. При копировании программы на носитель (а в начале 90-х это были по большей части дискеты) в неё заносится порядковый номер, который затем проставляется на регистрационной карточке продажи этой программы конкретному покупателю. При обнаружении копии программы у незарегистрированного пользователя можно найти источник похищения программы и даже проследить цепочку. Уверен, многие из вас ещё успели зарегистрировать подобные карточки для правовых и бухгалтерских систем. В своём изначальном виде (наличие уникального номера в каждом экземпляре) этот способ не используется никем с того момента, как экземпляры программы перестали записывать вручную на магнитный носитель.

Защита счётчиком установленных копий (и вновь мы можем увидеть наследие этого метода у некоторых вендоров, но с поправкой на электронную поставку). Компании поставляли носители с заранее обговоренным числом копий, которые можно получить с дистрибутивной (поставочной) дискеты. Как правило, для такого продукта существует зашитая программа установки (инсталляции), которая при очередном копировании уменьшает счётчик числа копий. Если же основную программу скопировать без программы установки, то такая копия, в лучшем случае, не будет работать. Нельзя также скопировать и всю дискету с установочной программой, так как программа установки проверяет оригинальность дискеты, на которой она записана. В основном такую защиту применяют на игровых программах. Этот вид защиты иногда сочетался с защитой серийным номером. Именно такой метод могут вспомнить любители легендарной игры Ice Hockey.

В чистом виде серийный номер — это ушедшая технология и безумно примитивный механизм, который легко ломается с помощью реверс-инжиниринга. Собственно, именно так и создавались генераторы ключей для популярных пользовательских приложений (кейгены).

Но возможность сделать хорошую защиту на основе серийного номера сохраняется. Сегодня активация программ происходит по иной модели: количество инсталляций для каждой лицензии считается на сервере производителя ПО, для чего при вводе серийного номера нужно пройти процедуру активации онлайн. Например, так делает Microsoft.

Программная защита от дизассемблирования. Практически любую защиту можно снять или обойти: что в 90-е, что в 2016 году. Поэтому необходимо принять меры, чтобы для взлома программы требовались серьёзные затраты, сравнимые с покупкой. Тем более, что в России были прецеденты, связанные с дорогостоящим взломом — попытки подломать 1С, защищённый аппаратным ключом (донглом). Но это единичные случаи.


Как вскрывались программы с помощью дизассемблирования?
  • Прямое построение по загрузочному модулю текста программы на ассемблере или другом языке. После этого из текста удаляются подпрограммы проверки и строится заново загрузочный модуль. Согласитесь, трудозатратно и требует работы хорошо оплачиваемого профессионала.

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

  • С помощью отладчика программа загружается в ОЗУ, проходятся все ступени защиты, и в момент завершения работы программы защиты на диск записывается копия ОЗУ, чтобы в дальнейшем можно было загрузить с диска программу с пройденным этапом защиты.

  • Аппаратная трассировка с помощью внутрисхемных эмуляторов или логических анализаторов с блоками для трассировки.


Впрочем, купить лицензию чаще всего оказывалось дешевле, безопаснее и целесообразнее.

Использование технических отличий в машине для программной защиты — ещё один примечательный и весьма интеллектуальный способ защиты ПО. Как правило, каждая модель ПК (ЭВМ) имеет свои индивидуальные особенности. Это можно было использовать для проверки уникальности компьютера, на котором установлена программа.

Подробнее
  • При копировании программа записывалась в произвольное место на гибком диске (для MS-DOS). Если не узнать, на какие физические секторы произведена запись, практически невозможно перенести программу на другой диск. Эта защита использовалась для борьбы с чёрным копированием ещё во времена позднего СССР, и умерла вместе с дискетами.

  • Специальная обработка конкретного бита на диске (речь идёт исключительно о гибких дисках (дискетах)), поверхность которых была доступна и на которую можно было произвольно воздействовать). При нормальном чтении диска происходит анализ: если есть магнитный сигнал, – 1, нет – 0. А если сигнал слабый? Тогда считывание десять раз дает, допустим, три раза 1, а семь раз – 0. Можно записать такой слабый сигнал, а потом проверять его.

  • Прожигание лазером (или прокалывание) отверстия в оригинальной дискете по заранее определенному адресу. Во время проверки делается попытка записи 1 по такому адресу и считывание её. Если считалась 1, то это копия, а не оригинал.

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


Использование программно-аппаратной защиты. Она аналогична программной, но требует больших усилий при снятии.

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

  • Наличие платы защиты, вставляемой в слот ПЭВМ. Эту защиту практически невозможно обойти, но такая плата слишком дорога для широкого применения и используется исключительно в дорогостоящем корпоративном программном обеспечении.

Все описанные методы защиты относятся к концу 80-х — началу 90-х годов, и не используются в современном мире.

Единственное, что актуально на сегодняшний день — это привязка ПО к уникальности железа, а именно к моделям и серийным номерам компонентов. Как видите, проблема защиты программного обеспечения была довольно обширной, раз было создано такое количество методов её решения. Но это было ещё полбеды.
Главным источником проблем управления ИТ-инфраструктуры стало не столько нарастание объёмов и многообразие ПО, сколько интенсивное расширение количества и наименований аппаратного обеспечения. Очень быстро персональный компьютер появился у каждого работника компаний и предприятий, стали закупаться серверы, оргтехника, периферийное оборудование. С распространением Интернета и сетевых технологий появились дополнительные проблемы. Это были задачи совершенно иного уровня, многие из которых до сих пор решаются с трудом.

Корпоративный сектор попал в сети: первые стандарты


Первые полноценные сетевые решения стали появляться в начале 90-х, почти сразу после распада СССР. Подход государства к экономике изменился: в прошлое ушла командная экономика, когда государство боялось, что учёные или руководители предприятий получат доступ к неискажённой статистике. К тому же, на рынок пришли зарубежные компании-производители компьютеров. С другой стороны, стал развиваться бизнес, появились многочисленные фирмы — персональные компьютеры были востребованы. Большое количество ПК требовало изменений подхода к управлению взаимодействием пользователей — рабочие станции нужно было объединять. Рос спрос не только на ПК, но и на программное обеспечение, и на обслуживание, и на масштабные проекты, из которых выросла сегодняшняя системная интеграция. Первопроходцы российского сетевого рынка остались в истории. Возможно, кто-то ещё помнит такие имена, как SCO Unix, Cabletron, Novell Netware, Wellfleet. Сейчас их мало кто вспомнит, но тогда они несли сетевые технологии в молодой российский бизнес. Чуть позже пришла Cisco.


Тут надо остановиться и сказать, что в компаниях позднего СССР и России начала 90-х использовались стандарты построения сети X.25 и Frame relay (оба — канальный уровень сетевой модели OSI). X.25 позволял организовывать глобальные вычислительные сети на основе телефонных сетей, работал с установлением соединения: использовалась внешняя физическая среда в виде цифровых каналов передачи, попарно связывающих узлы коммутации друг с другом и с абонентскими терминалами по принципу точка-точка. При использовании этого стандарта частота ошибок была высокой, поэтому приходилось разрабатывать многочисленные механизмы коррекции ошибок. Однако стандарт был надёжным и доступным (работал поверх телефонных сетей), поэтому широко использовался в корпоративном секторе. Сети Х.25 способны работать по каналам низкого качества, но с небольшой скоростью (речь о десятках килобит в секунду). Недостаток стандарта — невозможность интерактивной работы в режиме реального времени.

На коммутации точка-точка построен и протокол Frame relay, призванный заменить Х.25 и распространённый до сих пор. Это канал E3 с максимальной скоростью 34,368 мегабит/сек. Frame Relay первоначально был задуман как протокол для использования в интерфейсах ISDN и был предназначен для динамического разделения ресурсов физического канала между пользовательскими процессами передачи данных. Протокол обеспечивает множество независимых виртуальных каналов в одной линии связи, идентифицируемых в FR-сети по идентификаторам подключения к соединению. Сеть Frame Relay является сетью с коммутацией кадров или сетью с ретрансляцией кадров, ориентированной на использование цифровых линий связи. Frame relay применялся и применяется для построения территориально распределённых корпоративных сетей в качестве каналов для обмена данными между удаленными локальными сетями (в корпоративных сетях) и каналов для обмена данными между локальными и территориальными (глобальными) сетями. Протокол хорош высокой надёжностью сети и обеспечивает передачу трафика, чувствительного к временным задержкам. Но Frame relay не обеспечивает достоверность доставки кадров и требует качественные каналы связи (что, впрочем, сегодня в корпоративном секторе не является проблемой).

Однако условия рынка диктовали всё более новые требования к организации сетей: гигантскими темпами росла нефтянка, развивались банки и финансовые учреждения, появились операторы пейджинговой, а чуть позже и сотовой связи, которые предъявляли по тем временам просто космические требования к управлению ИТ-инфраструктурой. Все эти компании не могли обходиться без большого количества ПК, надёжно и быстро обменивающихся данными по сети, и без порядка в работе ИТ-департамента. Для многих это становилось вопросом выживания в бизнесе.

Интернет, локальные сети и первые шаги ITSM в России


Уже в конце 90-х — начале 2000-х управление IT-активами обретает черты зарубежных практик и в страну приходит ITSM (IT Service Management, управление ИТ-услугами), то есть в Россию идеи управления ИТ-сервисами пришли с опозданием в 10 лет. Для этой оценки мы точкой отсчёта берём конец 80-х годов, когда под эгидой правительства Великобритании были разработаны первые тома библиотеки лучших практик управления ИТ-инфраструктурой ITIL (IT Infrustructure Library), ставшей реакцией ИТ-сообщества на необходимость управления сложной ИТ-инфраструктурой.

Кстати, о том, что было за рубежом
Середина 70-х годов стала революционным, переломным моментом в мире информационных технологий. Изобретение микропроцессоров и создание компактных ЭВМ привело к тому, что компьютерные технологии стали доступны большому количеству компаний, а круг задач перестал ограничиваться вычислительными функциями. Уже в конце 80-х годов компании, холдинги, корпорации и государственные структуры столкнулись с интенсивным развитием ИТ-инфраструктуры. Гиганты Microsoft, IBM, HP требовали методологии управления IT-услугами. Нужна была точка вдохновения.
Как известно, если нет идей, их нужно искать в других индустриях, «красть как художник», адаптировать и внедрять. Так и произошло — экспертов вдохновил конвейер, который стал использовать Генри Форд в автомобилестроении. ИТ-индустрию устраивали преимущества: минимизация человеческого фактора, сокращение рутины, автоматизация, рост качества и производительности. По итогам обсуждения в 1989 году появились первые тома библиотеки ITIL. В 1991 организовался некоммерческий форум itSMF, который стал местом обсуждения и непрерывного развития методов и практик. ITIL быстро набрала популярность и стала стандартом.

Примечание об ITIL. Нас, Alloy Software, часто спрашивают, нужно ли владеть ITIL для того, чтобы использовать Alloy Navigator и Alloy Discovery. Отвечаем однозначно: нет, не надо. Да, при разработке наших сервисов мы руководствовались лучшими практиками и создавали ПО исходя их положений ITIL, но одновременно с этим интерфейс и логика построены так, что клиентам просто удобно использовать софт, без знания, а порой и малейшего понимания ITIL.

Первыми заинтересованность в изучении ITIL проявили структуры Центрального Банка РФ ещё в 1998 году. Именно тогда компания Hewlett-Packard начинает продвигать на рынок свою методологию управления ИТ-сервисами на базе ITIL. HP знала, что делает — у неё на тот момент в портфеле были программы, которые были разработаны благодаря приобретению в то время ведущего разработчика средств автоматизации служб технической поддержки и других процессов ITIL/ITSM, голландской компании Prolin. ITSM популяризировали и внедряли посредством модного и доныне маркетингового приёма — бесплатных обучающих семинаров.

И даже дефолт августа 1998 года сыграл HP и его нарождающимся конкурентам на руку. Напуганные представители бизнеса пытались выжить на руинах экономики и стремились экономить буквально на всём. Бесплатные семинары позволили HP продемонстрировать «товар лицом». Предприниматели внимательно изучали предложение до покупки и заключали сделки в атмосфере относительного спокойствия. Курсы и семинары в учебном центре постепенно коммерциализировались, а HP получил свою долю на рынке российского ITSM.

Мы неслучайно оговорились о том, что сотовые компании нуждались в управлении ИТ-инфраструктурой. Представьте себе: огромный оператор с массой серверов в территориально-распределённых зданиях, сотнями ПК сотрудников, биллинговой системой (это отдельная инфраструктура внутри компании), тогда ещё тысячами и сотнями тысяч абонентов, сервисными инженерами с портативными ноутбуками. На фоне распространения внутрикорпоративных сетей и внешнего интернета вся махина с трудом управлялась и инвентаризировалась ИТ-отделом или даже всем ИТ-департаментом. Телефоны системных администраторов разрывались от звонков сотрудников, срочность и приоритет задач определялись наугад, по-братски или «за пиво». Пора было с этим покончить.

Так вот, на пике бума мобильных технологий GSM и скачка в развитии операторов связи в России начали широко применяться практики ITSM. Это был примерно 2004 год. Вслед за сотовиками в сторону ITSM стали смотреть банки и финансовые корпорации. Такой спрос со стороны платёжеспособного сектора не мог не породить предложение сперва консалтинговых услуг, а затем и услуг автоматизации всех процессов управления ИТ-инфраструктурой.

Подходы к организации ИТ-службы: российский менталитет и адаптированный ITSM


Уже в начале 2000-х в России сложилось два типа компаний с двумя разными подходами, которые до сих пор сохраняются.

Первый — компонентный подход. В компании есть ИТ-департамент и он предоставляет всей остальной компании компоненты: средства автоматизации, программно-аппаратные комплексы, периферийные устройства, программное обеспечение, расходные материалы. ИТ-служба поддерживает парк техники и выполняет внутренние заявки по запросу. Кстати, стимулом к формированию подобных служб в российских компаниях стало повсеместное использование средств бухгалтерского учёта 1С: организации требовались конфигурации и администрирование системы, а услуги сторонних организаций по обслуживанию и настройке бухгалтерского ПО были слишком дорогими. Так появились ИТ-службы внутри компаний, реализующие компонентный подход. Минусов у такого похода не так уж и много — в основном, всё сводится к человеческому фактору и проведению некоторых работ «для галочки». Неоспоримый плюс — формирование подконтрольной ИТ-службы внутри бизнеса, из числа сотрудников, а значит, людей, досконально знающих процессы в компании.

Второй — сервисный подход. ИТ-служба предстаёт полноценной сервисной службой внутри компании, эдаким внутренним подрядчиком. Профессионалы в составе службы поставляют те же компоненты, но осуществляют полноценный сервис. Чаще всего взаимоотношения с ИТ-департаментом осуществляется посредством тикетных систем (заявок, инцидентов). В отличие от компонентного подхода, владельцы бизнеса не вникают в подробности работы ИТ-службы, а лишь встраивают её стратегию в общую бизнес-стратегию и процессы. Такой формализованный подход обеспечивает быстрое решение задач и проблем, подконтрольность хода исполнения заявок инициатору, протоколирование взаимоотношений. При таком подходе ИТ-департамент обеспечивает уровень сервиса, а значит, работа не встанет по невнятным или вовремя неисправленным техническим причинам. Кстати, все задачи в рамках ITSM покрывают наши продукты — система полной автоматизации ИТ Alloy Navigator и система комплексного учёта и контроля программного и аппаратного обеспечения Alloy Discovery.
Именно сервисный подход стал требовать комплексные программные системы управления ИТ-активами, SAM (Software Asset Management, управление лицензиями), технической поддержки и управления инцидентами. Опыт Alloy Software показывает, что такой софт востребован не только ИТ-службами.


Что получают руководители и владельцы бизнеса?


  • Сокращение и прозрачность затрат на ИТ — учёт лицензий и инвентаризация парка техники позволяют своевременно планировать закупку софта и оборудования исходя из реальных потребностей. SAM (управление лицензиями) помогает выявлять реально используемое программное обеспечение и приобретать/продлевать только нужные лицензии.

  • Снижение репутационных рисков — управляя активами, компания контролирует появление нелицензионного ПО на машинах сотрудников, соответственно, избегает санкций вендоров и простоев в работе до момента устранения всех коллизий и нарушений.

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

  • Рост общей производительности — управление инцидентами и тикет-система позволяют закрывать запросы внутреннего клиента быстро и с чётким распределением ответственности.

  • Безопасность использования ИТ-активов — компания надёжно защищена в том числе от хищения компонентов и замены их на менее мощные с целью «апгрейда» личных компьютеров.

  • Стабильность персонала, меньше увольнений  по причине перенапряжённых условий и коммуникационных проблем.


Что получают системные администраторы и сетевые инженеры?


  • Обоснование ИТ-бюджетов — размер потребностей и сроки замены устаревшего оборудование заранее известны, можно заложить точные потребности в рамках бюджетного планирования.

  • Упорядоченность рабочих процессов, протоколы действий, возможность планирования деятельности способствуют эффективной и продуктивной работе, обеспечивают прозрачность действий, формируют ответственность работников ИТ-службы и исключают лишнюю работу, которая возникала вследствие хаотичности в управлении.

  • Автоматическая обработка и эскалирование заявок обеспечивают грамотное управление своим рабочим процессом, сокращают сроки изучения и решения проблемы.

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

  • Возможность отслеживать историю аппаратного обеспечения в одном месте — когда купили, когда истекла гарантия, когда возили в ремонт, сколько раз возили в ремонт, какие были жалобы пользователей, связанные с этой железкой.

  • Отслеживание трендов. Например, винчестеры XYZ из поставки 2013 года уже наполовину вышли из строя —  возможно, не нужно ждать, когда откажут все и стоит заменить их превентивно.

  • Рост производительности труда, скорости обработки заявок и удовлетворённости пользователей. Инженерам и администраторам не нужно собирать подробности инцидента и искать общий язык с пользователями для понимания их проблемы. Все детали можно просмотреть онлайн исходя из заявки.

  • Измеримость деятельности ИТ-службы: никому не нужно доказывать свою продуктивность в отчётном периоде, все данные по обработанным инцидентам, вопросам и работа с ИТ-инфраструктурой есть внутри системы мониторинга.


Что получают работники компании?


  • Быстрое выполнение заявок — работа проходит без простоев, человеческий фактор минимизируется, отзывчивость к решению проблем возрастает.

  • Безопасность — пользователь уверен в том, что его ПО и компьютер всегда имеют актуальную версию, верно сконфигурированы и потенциальные проблемы потери данных уменьшаются.

  • Использование лицензионного ПО гарантирует сохранность данных, позволяет обращаться за поддержкой не только в ИТ-департамент, но и к вендору.

Конечно, ITSM и ITIL в своей изначальной задумке — это не по-русски, и российскому менталитету сложно принять их такими, какие они есть в международной практике. Однако сегодня команда Alloy Software наблюдает стабильный рост спроса на системы мониторинга и управления IT-инфраструктурой. И мы выступаем за адаптацию ITSM к потребностям российского корпоративного сектора. Главное, что есть понимание того, что это не фишка и не наворот, а объективная часть бизнеса. Та самая, которая отвечает за безопасность, стабильность, бесперебойную работу и экономию. Собственно, оно всем и надо.
Tags:
Hubs:
Total votes 22: ↑16 and ↓6+10
Comments2

Articles

Information

Website
www.alloysoftware.ru
Registered
Founded
Employees
11–30 employees
Location
Россия