суббота, 10 марта 2012 г.

Существующие подходы к оценке масштабируемости систем: AKF куб

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

AKF куб
AKF куб – весьма интересная модель, названная идентично разработавшей ее организации и позволяющая сформировать некое средство, которое может быть первым шагом при обсуждении проблем масштабируемости. Данная модель основана на представлении данных в виде куба, т.е. информация разложена по трем координатным осям. Ключевая особенность – высокоуровневое представление информации, что подразумевает полное исключение особенностей конкретных технологий или продуктов, другими словами концепты превалируют над техническими средствами.

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

В общем случае каждая ось представляет собой деление элементов системы по какому-либо признаку. На оси Х отображаются «клоны» - одинаковые элементы, которые идентично выполняют задачу целиком, например: при необходимости увеличить число обслуживаемых клиентов в банке – число операторов, при задаче напечатать больше страниц текста – число машинисток. Данное разделение имеет схожие черты с зеркалированием и не теряет производительности при распределении задач, т.к. один элемент выполняет задачу целиком, не требуя взаимодействия с остальными элементами системы. Разделение по оси Х легко в понимании и не требуют больших финансовых вложений. Проблемой могут оказаться какие-либо кардинально новые задачи, которые требуют «переобучения» всех элементов системы, а также рост данных, что ведет к увеличению времени обработки запросов. 

Ось Y разделяет задачи по уровню обязанностей  или функциональности,  принимая в большее внимание по сравнению с осью Х конкретные данные для обработки. Идеальным примером отличия типов разделения осей Х и Y является конвейер – в случае оси Х 100 работников по отдельности собирали по 1 машине каждый, в случае оси Y – был организован конвейер, где каждый из работников имел свою задачу. Другими словами, особенность данной оси – четкое разграничение обязанностей и ролей. В примере про машинисток разделение по оси Y означает разграничение прав и обязанностей, т.е. часть машинисток будет выполнять базовые операции, часть – специальные запросы, часть – запросы от руководителей компании из-за высшего уровня важности данных задач. Из вышеперечисленного следует очевидное преимущество оси Y – существенный прирост в производительности.

Ось Z ориентирована на оценку людей, вовлеченных в имеющуюся систему: как внутри организации, так и вне ее (в английском языке такого человека можно назвать «stakeholder») В этом и заключается ее ключевое отличие от осей Х и Y, которые сосредоточены на непосредственно данных. С помощью разбиения по оси Z можно, например, показать, что запросы от определенной группы лиц занимают 90% от времени работы всех операторов. Затраты на внедрение такого типа разделения значительно больше, чем в первых двух случаях, но и преимущества, полученные от внедрения, могут быть значительно более важными для бизнеса. Дополнительным преимуществом разбиения по оси Z является возможность разграничения запросов по географическим соображениям. Важно отметить, что ось Z разбивает не только непосредственно участников системы – людей, сколько данные, которые получены от определенных групп лиц, оценивая в отличие от осей Х и Y систему извне. 

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

Рисунок 1. Одновременное использование всех осей

Ось Z показывает наличие 3х групп пользователей-заказчиков в системе, по оси Y распределены функции системы: вход, выбор и контроль, по оси Х отражено наличие нескольких одинаковых серверов для выполнения каждой подзадачи.

Выводы
  1. Данная методика позволяет провести  высокоуровневый анализ и является лишь первым шагом к оценке масштабируемости организации и ее ИТ инфраструктуры, не включая какие-либо конкретные рекомендации по развития определенных технологий.
  2. Ось Х характеризуется полным выполнением задачи на нескольких идентичных узла
  3. Ось Y означает специализацию или разделение задачи на подзадачи с точки зрения каких-либо функций
  4. Ось Z помогает оценивать масштабируемость не только данных внутри системы, но и учитывать особенности внешних пользователей системы и специфику их запросов
  5. Наличие разделения по всем осям не является обязательным для всех организаций, а зависит от тех целей, которые ставит перед собой бизнес в каждой из них.
 

Комментариев нет:

Отправить комментарий