возможностями и может быть описано буквально тремя словами: «производительность», «стабильность» и «безотказность». Важный нюанс: технологическое качество, в отличие от функционального, имеет смысл исключительно в рамках конкретного внедрения – производительность, стабильность и безотказность информационной системы должны обеспечиваться не «в принципе», а при ежедневной параллельной работе заданного числа пользователей с заданной прикладной конфигурацией на заданном оборудовании.
Разницу между технологическим и функциональным качеством работы информационных систем можно проиллюстрировать следующим примером. Предположим, что нам необходимо решить бизнес-задачу складского учета. Функциональное качество достигается в случае, если выбранная (или выбранная и доработанная) нами прикладная конфигурация позволяет вводить в систему и получать из нее все необходимые данные (номенклатура, поступление и реализация товаров, инвентаризация, отчетность и т. д.) – без учета числа пользователей и нагрузки на систему. А технологическое качество будет обеспечено, если построенная нами информационная система соответствует следующим критериям:
• Любая прикладная операция (проведение документа, формирование отчета, и т. д.) выполняется за установленное время. Максимально допустимое время выполнения отдельно оговаривается для каждой операции и зависит от ее функциональной «тяжести». Например, отчет по текущим складским остаткам должен формироваться мгновенно, за секунды, а формирование оборотно-сальдовой ведомости по всем номенклатурным позициям за год может занимать несколько минут.
• Многопользовательская работа не вызывает никаких проблем с блокировками (ожидание на блокировках, взаимные блокировки). В периоды пиковой загрузки (все пользователи предприятия активно работают с системой) среднее время выполнения прикладных операций не увеличивается или увеличивается незначительно.
• Производительность системы не зависит (или зависит в ничтожной степени) от числа пользователей, работающих с системой, и от объема данных, хранящихся в системе. Допустим, за год промышленной эксплуатации количество пользователей увеличится с 10 до 50, а объем информационной базы с нуля до 10 Гбайт, а производительность системы при этом ухудшиться не должна.
• Информационная система работает стабильно, без сбоев и простоев. «Технологические перерывы» в работе системы (резервное копирование средствами «1С: Предприятия», обновление конфигурации, выполнение других регламентных работ, требующих монопольного доступа) не выходят за рамки установленного графика и не мешают работе пользователей.
Таким образом, общая задача управления качеством работы информационной системы распределяется по «зонам ответственности». За функциональное качество отвечают разработчики конфигурации, а за технологическое – специалисты, выполняющие внедрение и сопровождение информационной системы. Очевидно, что эти зоны ответственности не полностью обособлены и пересекаются друг с другом: разработчик конфигурации не может не учитывать требования и нюансы многопользовательского режима работы «1С: Предприятия 8», а специалистам по внедрению и сопровождению часто приходится изменять функциональность внедряемых решений. Но подходы, методики и инструментальные средства, применяемые для управления функциональным и технологическим качеством работы «1С: Предприятия 8», обладают принципиальными различиями и должны рассматриваться по отдельности.
Если рассматривать информационную систему с точки зрения ответственного за технологическое качество ее работы специалиста, жизненный цикл информационной системы будет иметь следующий вид:
• развертывание системы и опытная эксплуатация;
• начало промышленной эксплуатации;
• промышленная эксплуатация.
На первом этапе управлять, по сути, еще нечем – информационная система пока не вышла на проектную мощность, числа пользователей ограниченно, нагрузка на систему незначительна. Разумеется, и на первом этапе могут быть выявлены какие-то технологические проблемы и даже возникать аварийные ситуации (например, по причине заводских дефектов или неправильной настройки нового оборудования), но такое случается крайне редко. Обычно на этапе опытной эксплуатации претензий к технологическому качеству работы информационной системы не возникает.
Почему начало промышленной эксплуатации выделено в отдельный этап? При переводе системы в «промышленный» режим работы резко увеличивается нагрузка на систему, и, если в ней существовали скрытые технологические проблемы, они с высокой вероятностью будут выявлены почти сразу, в течение первых же недель или даже дней. Этот этап – критически важен для проекта внедрения – если будет выявлено слишком много проблем производительности или выявленные проблемы окажутся слишком серьезными, последствия могут быть самыми плачевными, вплоть до отказа от использования информационной системы.
На этапе собственно промышленной эксплуатации информационная система находится в состоянии «настроено, отлажено и работает», необходимый уровень технологического качества достигнут. Но поскольку многопользовательская информационная система представляет собой довольно сложный организм, живущий насыщенной событиями жизнью, мониторинг качества работы системы и выявление потенциальных проблем производительности должны выполняться на регулярной основе.
«Технологический» жизненный цикл информационной системы – замкнутое кольцо: любые изменения условий работы системы (увеличилась нагрузка, изменилась прикладная конфигурация, произведен переход на другую СУБД и т. д.) означают возврат к первому этапу жизненного цикла. Задачи, решаемые в рамках управления технологическим качеством работы информационной системы на базе «1С: Предприятия 8», можно сформулировать следующим образом.
• На этапе опытной эксплуатации: провести нагрузочное тестирование системы, проанализировать конфигурацию на предмет выявления явных и скрытых проблем производительности, устранить проблемы, определенные в ходе синтетических тестов.
• На начальном этапе промышленной эксплуатации: проанализировать проблемы производительности, выявленные при работе с системой реальных пользователей, и максимально оперативно устранить их в порядке убывания важности.
• На этапе промышленной эксплуатации: выстроить процесс технического обслуживания информационной системы, вести постоянный мониторинг системы, выявлять и устранять потенциальные проблемы производительности, не допускать ухудшения технологического качества ее работы.
Инструментальные средства и методики локализации и оптимизации проблем производительности конфигураций «1С: Предприятия 8» уже рассматривались в предыдущих статьях нашего цикла. Сегодня мы рассмотрим задачи профилактики таких проблем.
Методика, позволяющая поддерживать технологическое качество работы информационной системы на стабильно высоком уровне и выявлять скрытые проблемы производительности, довольно проста и выглядит следующим образом: