Эластичность - это способность системы увеличивать (или уменьшать) емкость вычислений, хранилищ, сетевых операций и т. Д. На основе определенных критериев, таких как общая нагрузка на систему .
Например, вы можете внедрить бэкэнд-систему, в которой изначально есть 1 сервер в кластере, но сконфигурировать ее для добавления дополнительного экземпляра в кластер, если среднее использование процессора всеми серверами в кластере за минуту превышает заданный порог ( например, 70%).
Аналогичным образом вы можете настроить свою систему на удаление серверов из внутреннего кластера, если нагрузка на систему уменьшается, а средняя загрузка ЦП в минуту ниже установленного вами порогового значения (например, 30%).
В качестве другого примера вы можете настроить свою систему так, чтобы увеличить общее дисковое пространство вашего внутреннего кластера на порядок 2, если используется более 80% от общего объема доступного в настоящее время хранилища. Если по какой-либо причине на более позднем этапе данные удаляются из хранилища и, скажем, общий объем используемого хранилища становится меньше 20%, вы можете уменьшить общее доступное дисковое пространство до его первоначального значения.
Но некоторые системы (например, устаревшее программное обеспечение) не распространяются, и, возможно, они могут использовать только одно ядро процессора. Таким образом, даже если вы можете увеличить вычислительную мощность, доступную вам по требованию, система не может использовать эту дополнительную мощность в любой форме или форме. Такие системы не масштабируются . Но система масштабируемая может использовать увеличенную вычислительную мощность и обрабатывать большую нагрузку, не влияя на общую производительность системы.
Масштабируемая система не зависит от эластичности. Традиционно ИТ-отделы могли заменить свои существующие серверы новыми серверами, на которых было больше ЦП, ОЗУ и хранилища, и перенести систему на новое оборудование, чтобы использовать дополнительные вычислительные мощности, доступные для него.
Облачные среды (AWS, Azure, Google Cloud и т. Д.) Обеспечивают гибкость, и некоторые из их основных служб также можно масштабировать из коробки. Кроме того, если вы создаете масштабируемое программное обеспечение, вы можете развернуть его в этих облачных средах и воспользоваться гибкой инфраструктурой, которую они предоставляют вам для автоматического увеличения / уменьшения вычислительных ресурсов, доступных вам по требованию.