Источник: интернет-сайт "Верни деньги"
Решение об автоматизации принято. Выбрано программное обеспечение для оперативного учета в областях Soft-, Hard-, Legal-collection. И тут возникает вопрос о технических деталях внедрения.
Такие слова, как например, SQL, кластер серверов, программное обеспечение по доставке приложений, RAID могут заставить растеряться владельца бизнеса или топ менеджеров коллекторского агентства, принявшего решения об автоматизации. Кроме того, в условиях кризиса как никогда актуален вопрос минимизации издержек. Мы надеемся, что разобраться в сложившейся ситуации, поможет данная публикация.
На выбор аппаратного и программного обеспечения будут влиять следующие основные факторы:
- Количество пользователей, деятельность которых планируется автоматизировать и ожидаемый их ежегодный прирост.
- Программное и аппаратное обеспечение, уже имеющееся в наличии.
- Квалификация сотрудников (системных администраторов), производящих обслуживание (программной и аппаратной части).
Режимы работы программного комплекса
Итак, первое, с чем вы можете столкнуться это два варианта работы программного комплекса по автоматизации взыскания задолженности:
- Файл-серверный
- Клиент-серверный
Что это означает? Файл-серверный режим работы предназначен для работы в системе небольшого числа пользователей. Этот режим характерен тем, что все данные хранятся непосредственно в программе (файловая база), зачастую в виде единого файла. Файловая база располагается в общедоступном для всех пользователей месте – файловом сервере. На всех рабочих местах устанавливается некая оболочка, в которой прописывается путь к базе. В дальнейшем, все пользователи работают с этими файлами (файлом) базы данных. При файловом варианте работы происходит передача больших объемов данных между компьютером, на котором расположены файлы базы и рабочей машиной пользователя – перекачивается либо вся база, либо существенная ее часть. Соответственно, чем больше данных в системе, тем больше объемы перекачиваемой информации. По достижении 1Гб, что в приближенном виде будет соответствовать данным по 100.000 должников (имеется в виду только справочная информация и сведения о задолженности, не включая какие-либо другие хранимые данные), такая система перестанет работать. Можете проверить это сами - попробуйте перекачать файл подобного размера (например, фильм) с одного компьютера в сети на другой. Кроме того, изменение однотипных данных (например, информации о двух разных должниках) будет выполняться в порядке «живой» очереди – сначала будет внесена информация, того пользователя, который первым нажал кнопку «записать», запись данных второго должника будет осуществлена сразу после записи первого. Обычно это небольшие величины, но в некоторых ситуациях это может стать критичным. Например, если в момент изменения данных должника произошел сбой на компьютере пользователя, то последствия этого сбоя могут почувствовать все пользователи, подключенные к данной базе и работающие с данными должников. Быстродействие такой системы будет определяться следующими факторами: быстродействием диска сервера, скоростью передачи данных по сети, производительностью рабочей станции. В результате, могут возникать существенные задержки, обусловленные нехваткой пропускной способности сети или недостаточной скоростью работы жесткого диска файлового сервера. Скорость обработки данных, в этом случае, будет напрямую зависеть от производительности рабочего компьютера конечного пользователя.
Клиент-серверный вариант. Сущность данного режима заключается в том, что приложение (рабочая программа) хранит данные в системе управления базами данных (СУБД). СУБД это программная среда, которая устанавливается на специально отведенном для этого компьютере (сервере) и отвечает за хранение данных и многопользовательский доступ к ним. Ее задача – обеспечить чтение и запись в базу непротиворечивой информации в режиме, когда много пользователей изменяет данные. Все действия связанные с обработкой данных происходят на сервере, а от рабочей станции пользователя посылаются компактные запросы к СУБД. Обратно возвращаются только те данные, которые были запрошены. В результате объемы перекачиваемой по сети информации существенно снижаются. Ресурсы клиентского компьютера (рабочей станции пользователя) используются, прежде всего, для обеспечения работы интерфейсной части. Помимо этого появляется возможность параллельного изменения сходных данных – вспомним пример о двух должниках (здесь нужно учитывать конкретную разновидность СУБД и режим ее работы).
Подведем итог - многопользовательские решения (имеется в виду 3-5 и более одновременно работающих пользователей) при средних объемах базы данных должны быть развернуты с применением исключительно клиент-серверной архитектуры.
Как выбрать СУБД?
Определившись с необходимостью использования клиент-серверной архитектуры, мы сталкиваемся с вопросом выбора конкретной СУБД. Современные решения, автоматизирующие деятельность организаций, должны иметь возможность хранения данных с использованием систем управления базами данных различных производителей. Вернемся к вопросу о количестве пользователей. На настоящий момент, количество одновременно работающих пользователей в автоматизируемых коллекторским агентствах (и других организациях, для которых актуальны вопросы истребования задолженности) не превышает 300. Наиболее распространенное количество пользователей при первичной автоматизации составляет порядка 15-25 рабочих мест. Причем большая часть пользователей, на первом этапе внедрения, приходится на soft-collection, а это означает, что большинство пользователей работают с одним типом информации – данными должника и мероприятиями, которые по отношению к нему применяются. Рассмотрим пример автоматизации организицаии с использованием решения на основе платформы 1С:Предприятие 8, как отвечающего требованию возможности использования СУБД от различных производителей.
Вариант 1. СУБД - Microsoft SQL Server
На данный момент, наиболее распространенной в нашей стране СУБД является Microsoft SQL Server. К достоинству MS SQL можно отнести, широкую известность, не плохие показатели производительности, интуитивно понятный графический интерфейс, позволяющий выполнять базовые операции по развертке системы и ее администрированию, механизмы резервирования. К недостаткам же можно отнести относительно высокую стоимость и возможность использования только на операционных системах Microsoft (Windows Server). Данная система вполне подходит для использования в качестве СУБД для нашего примера.
Какие есть альтернативы для использования в рассматриваемом примере? Варианта два:
PostgreSQL и IBM DB2.
Вариант 2. СУБД - PostgreSQL
Свободно распространяемая СУБД. Может использоваться на различных операционных системах. Имеет отличный от MS SQL и IBM DB2 механизм управления (так называемый «версионник»). Относительно платформы 1С:Предприятие 8 это не позволит раскрыть весь потенциал СУБД, поскольку из-за отсутствия поддержки блокировок на уровне записей в автоматическом режиме, могут возникнуть проблемы с параллельностью изменения однотипных данных, аналогичные выше описанным для файл-серверного режима работы.
Вариант 3. СУБД - IBM DB2
Система управления данных DB2 получила своё название в 1982 году, хотя историю своего разви-тия ведет с начала 1970-х. У IBM DB2 v9.5 во всех редакциях используется один и тот же программный код, так что даже бесплатная редакция IBM DB2 Express-C является полнофункциональной СУБД, без каких либо ограничений по объемам хранимой информации. Возможность использовать на начальной стадии бесплатный продукт с функциональностью коммерческой версии позволяет компаниям значительно сократить начальные инвестиции в проект, что особенно актуально для компаний с небольшим колчеством сотрудников и разветвленной сетью филиалов. С ростом бизнеса компаний, поддержка на IBM DB2 может быть приобретена в любой момент, при этом необхожимости в переустановки рабочей системы не требуется. Также как и PostgreSQL, IBM DB2 может использоваться на различных операционных системах, при этом она демонстриурует отличную производительность и масштабируемость.
Система IBM DB2 может без проблем использоваться в различных организациях и позволит сэкономить существенное количество денежных средств на начальных этапах проекта. Так например, при использовании бесплатной редакции IBM DB2 вместо Microsoft SQL Server в качестве СУБД для платформы 1С:Предприятие 8, экономия средств составит порядка 20-30%.
Что же мы имеем?
- Если вашей компанией уже приобретен Microsoft SQL Server, а тем более если есть другое программное обеспечение, которое на нем работает, то логичнее продолжить использования этой СУБД. При этом вы получите хорошую производительность и легкость администрирования.
- Если внедряемая система может в полном объеме использовать возможности СУБД PostgreSQL, то возможно, это ваш выбор.
- Система IBM DB2 может без проблем использоваться в различных организациях и позволит сэкономить существенное количество денежных средств. Так например, при использовании IBM DB2 вместо Microsoft SQL Server в качестве СУБД для платформы 1С:Предприятие 8, экономия средств составит порядка 20-30%.
Windows или не Windows
Итак, мы обратили внимания на СУБД которые могут работать на операционных системах (ОС), отличных от выпускаемых компанией Microsoft. Возникает вопрос, насколько ОС Windows вообще необходима с учетом того, что уже получили распространения бесплатные ОС на базе Linux/Unix? Для ответа на него придется рассказать о некоторых технических особенностях клиент-серверной архитектуры.
Клиент-серверная архитектура современной системы автоматизации представляет собой трехуровневую структуру:
- Терминал - это интерфейсный (обычно графический) компонент, который представляет собой первый уровень, собственно приложение для конечного пользователя. На первый уровень может быть вынесена простейшая бизнес-логика: интерфейс, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.
- Сервер приложения располагается на втором уровне, где сосредоточена большая часть бизнес-логики. Сервер приложения обеспечивает взаимодействие терминала с СУБД.
- Сервер базы данных. Обычно это стандартная система управления базами данных. СУБД отвечает за хранение данных и многопользовательский доступ к ним. Ее задача – обеспечить чтение и запись в базу данных непротиворечивой информации в режиме, когда много пользователей изменяют данные.
Достоинства такой системы в хорошей масштабируемости, безопасности и надежности. Кроме того, не предъявляются высокие требования к скорости сети между терминалом и сервером, а также техническим характеристикам терминалов.
Рассмотрим каждый уровень с точки зрения функционала, оборудования и возможности использования различных операционных систем.
Терминал. Представляет собой рабочую станцию пользователя с установленной клиентской частью системы. Кроме этого, помимо системы автоматизации взыскания, на нем установлены приложения для ежедневной работы пользователя (электронная почта, офисные приложения и т.п.). Вопрос в использовании той или иной ОС на рабочей станции в основном зависит от возможности работы с данной операционной системой клиентской части системы автоматизации. Так например, если все необходимы инструменты, такие как текстовой редактор, электронные таблицы, почтовый клиент доступны в Linux версиях (бесплатно), то клиент 1С:Предприятия 8 может работать только под управлением Windows. Требования же к аппаратной части, как уже было сказано, не высоки.
Сервер приложения. Размещается или на отдельном компьютере, или на том же, где установлена СУБД. Также может физически находится на нескольких машинах. Может иметь версии под Windows и Linux. Требования к аппаратной части - высокие.
Сервер баз данных. Размещается или на отдельном компьютере или на том же, где работает сервер приложений. Также возможно размещение на нескольких машинах. Может иметь версии под Windows и Linux (кроме MS SQL Server). Из всех трех уровней, имеет самые высокие требования к аппаратной части. В том случае, если сервер баз данных и сервер приложений размещаются на разных компьютерах, необходимо обеспечить высокую пропускную способность сети между ними.
Таким образом, на примере 1С:Предприятия 8, мы имеем следующую картину, отражающую возможность использования составных частей аппаратно-программного комплекса под разными операционными системами:
Windows | Linux | |
Терминал | + | – |
Сервер приложений | + | + |
Сервер баз данных | + | + |
Естественно, при комплексной автоматизации нужно учитывать доступность прочего программного обеспечения, без которого работа организации будет невозможна. Все это обеспечение существует, как правило, в платном варианте под Windows. Что касается Linux, то эта ОС создана на основе Unix технологий, изначально ориентированных на использование в серверах. Linux зарекомендовала себя как надежная и высокопроизводительная платформа для выполнения серверных функций. Кроме того, требования к оборудованию для Linux заметно ниже по сравнению с Windows, что дает дополнительную экономию. В настоящее время, Linux выходит на рынок рабочих станций. Имеется значительный набор офисного обеспечения, таких как, к примеру, OpenOffice. Использование OC Linux на рабочих станциях будет возможно только при поддержке работы на ней клиентской части системы по автоматизации взыскания.
Несколько слов организациям, занимающимся истребованием проблемной задолженности в сфере жилищно-коммунального хозяйства. Предприятия сферы ЖКХ, в основном, относятся к сфере бюджетных, а это значит, что они более чувствительны к государственной политике в области программного обеспечения. Руководствуясь этой политикой, Минкомсвязи подготовило проект распоряжения Правительства Российской Федерации «Об утверждении Плана перехода органов государственной власти и бюджетных учреждений на использование свободного программного обеспечения. Сам план рассчитан до 2015 года, а основные действия по переходу на свободное ПО (которым и является Linux), намечены на 2010-2012 года.
Не сисадмином единым...
Использование Linux в качестве операционной системы для серверов зачастую может иметь, в качестве сдерживающего фактора, противодействие со стороны системного администратора. Дело в том, что штатные системные администраторы в организациях численностью порядка 100 человек часто не имеют должной квалификации для поддержки программного обеспечения на базе Linux. Освоение этой системы не является чем-то из ряда вон сложным, но требует определенных временных затрат, а главное желания со стороны системного администратора. Так вот, если этого желания нет, то системный администратор назовет тридцать три причины, почему этого не следует делать. Наш совет, если вы обратили внимание на Linux, посчитайте деньги. За счет получившийся экономии вы несколько раз сможете отправить своего системного администратора на обучение. Кроме того, в условиях кризиса, амбиции IT-специалистов несколько уменьшились, а количество свободных специалистов на рынке наоборот возросло. Также обстоит дело и вопросе выбора между Microsoft SQL Server и IBM DB2. Если единственным сдерживающим фактором при выборе в пользу DB2 будут слова сисадмина о сложности ее настройке – стоит отнестись к этому скептически. По опыту, грамотный специалист, увидев первый раз в глаза IBM DB2, и имея опыт в администрирования MS SQL, может самостоятельно разобраться в базовых аспектах ее администрирования менее чем за неделю, при этом выполняя и другие обязанности.
При внедрении Linux на рабочих станциях проблемы могут возникнуть те же, но со стороны конечных пользователей. Привыкшие работать в MS Word сотрудники могут начать возмущаться переводу их на бесплатный OpenOffice. Совет тот же, считайте деньги и если вы уже определились с решением - проявляйте твердость. В нашей предыдущей статье «Автоматизация взыскания: новые подходы», говорилось о таком противодействии пользователей внедрению – обратите на нее внимание.
Терминальный доступ (технология тонкого клиента)
Еще одним способом сократить издержки является использование терминального сервера. Терминальный сервер это компьютер, предоставляющий клиентам вычислительные ресурсы для решения задач. Представляет собой мощный компьютер, соединенный по сети с терминальными клиентами — которые, как правило, представляют собой маломощные рабочие станции. Как это выглядит в действительности, рассмотрим также на примере 1С:Предприятия 8. Итак, мы говорили, что клиентская часть должна располагаться на рабочей станции. При использовании сервера терминала, клиентская часть будет располагаться и выполняться на этом сервере. На пользовательские машины по сети будет передаваться только изображение рабочего стола сервера терминалов, а обратно – действия пользователей. Все вычисления, теперь уже полностью, будут выполняться только на серверах. Существуют варианты, когда пользовательская рабочая станция взаимодействует с сервером терминалом, используя web-интерфейс (нужные приложения пользователя публикуются на веб-странице, доступ к которой, происходит через любой обозреватель). При этом, каждому пользователю на сервере заводится свое личное пространство, в котором он работает. Набор программ в таком пространстве строго определен администратором. Такая схема работы имеет следующие достоинства: централизованное администрирование (снижение издержек) и повышение безопасности (внутренние утечки). В соответствии с исследованиями Фраунгоферовского института экологии, безопасности и энергетических технологий (приведено по CTmagazin ) тонкие клиенты на 175 рабочих местах при эксплуатации в течении 5 лет оказались примерно на 28% дешевле (использовались платные Windows системы). При этом наблюдается сокращение скрытых затрат, составляют существенную часть всех расходов. Они могут проявиться, например, в следующем. Представим, что один из пользователей обращается за решением своих компьютерных проблем не в отдел IT, а к своему коллеге. Тот постоянно улучшает работу компьютера, при этом перестает заниматься своими прямыми обязанностями (понятие «Hey Joe support»). При работе с тонкими клиентами подобные проблемы исключены, потому что на конечном устройстве почти полностью отсутствует поле для настроек пользователей, а на терминальном сервере расширенные права пользователей запрещены из соображений безопасности.
При использовании терминальных клиентов на основе Linux потенциал экономии существенно повышается. Например, можно построить следующую систему:
- Рабочая станция - управляется Linux.
- Сервер терминалов – управляется Windows.
- Сервера приложения, СУБД, почты, FTP и т.п. – управляются Linux.
При такой организации программно-аппаратного комплекса существенно сокращаются затраты по лицензированию рабочих мест.
Что в остатке
Подводя итоги, хочется перечислить все способы сокращения расходов, описанные в этой публикации.
- Использование бесплатных СУБД взамен платных (например, IBM DB2 Express-C вместо Microsoft SQl Server).
- Использования серверных решений на основе Linux систем.
- Использование свободного офисного ПО взамен платного (например OpеnOffice, вместо MS Office).
- Использование рабочих станций (если возможно) под управлением Linux.
- Использование технологии тонких клиентов (терминальных серверов)
Начать дискуссию