Книга: Философия DevOps. Искусство управления IT

Соображения по выполнению масштабирования

Соображения по выполнению масштабирования

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

Дома возводятся на основе чертежей и 3D-моделирования. В основу внешнего и внутреннего проектов зданий архитекторы закладывают существующие культурные традиции и тенденции[54]. Универсального проекта здания, который удовлетворял бы всем требованиям, не существует. То же самое касается и программных проектов и организаций.

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

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

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

Планирование масштабирования

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

В настоящее время благодаря специальному программному обеспечению можно освоить искусство дизайна. Более того, специалисты, добившиеся значительных достижений в этой сфере, могут получить звание архитектора. Различные истории, посвященные архитектуре программного обеспечения, ограничивают наше понимание ПО, мешая рассмотреть его с других позиций. Не бывает плохих монолитных программных структур, также некорректно сравнивать их с микросервисами. Благодаря изучению технологий, процессов и стратегий действий в конфликтных ситуациях гарантированно принимаются продуманные решения в пользу гибкости или негибкости в определенной среде. Принятие осознанных решений по поводу гибкого подхода, применяемого в организации, позволит более целенаправленно подготовиться к будущим изменениям. Лучшей подготовке также способствует прочный фундамент, которому присуща необходимая степень гибкости, а также возможность статического или динамического отклика в ответ на изменения.

Оглавление книги


Генерация: 1.276. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз