09.01.2024_
пресса

Масштабирование инфраструктуры 

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

 

Давайте рассмотрим, что такое масштабирование веб-сайта и как конкретные решения по дизайну архитектуры программного обеспечения обеспечивают эффективное масштабирование.

 

Что такое масштабирование веб-сайта? Масштабирование веб-сайта - это способ обработки дополнительных рабочих нагрузок путем настройки вашей инфраструктуры. Увеличение рабочей нагрузки может быть вызвано чем угодно - от всплеска пользователей до большого объема одновременных транзакций или чего-то еще, что выходит за пределы заложенных в программное обеспечение возможностей.

 

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

 

Вертикальное масштабирование

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

 

Горизонтальное масштабирование

Для горизонтального масштабирования вы предоставляете новые серверы для запуска вашего программного обеспечения - например, с дополнительными экземплярами. С запуском большего количества экземпляров вашего программного обеспечения рабочая нагрузка может быть распределена между ними для одновременной обработки большего объема работы. Обычно компании настраивают балансировщики нагрузки для автоматического распределения веб-трафика между экземплярами программного обеспечения. Горизонтальное масштабирование может быть эффективным, но оно также добавляет сложности в вашу инфраструктуру.

 
 

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

Что такое Decoupled CMS?

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

В данном случае процесс публикации контента осуществляется с помощью механизма публикации, при котором контент передается с платформы управления (и основного хранилища контента) на инфраструктуру предоставления контента. Примерами распределенных CMS являются DC CMS и Adobe AEM.