Назад | Перейти на главную страницу

Лучшая практика для серверов с автоматическим восстановлением в облаке (за пределами AWS)?

Мы находимся в процессе перехода от AWS, где у нас есть высокодоступная настройка системы с использованием функции автоматического масштабирования EC2. Однако мы не используем это для изменения размера пула в зависимости от использования ресурсов, мы просто используем его для запуска новых экземпляров, когда один из них выходит из строя или перестает отвечать.

Без этой функции автоматического масштабирования у других облачных провайдеров (мы специально рассматриваем DigitalOcean, но она должна применяться где угодно), каковы некоторые варианты достижения этой настройки? Моей первой мыслью было создать экземпляр, который будет отслеживать другие, но затем этот сервер становится единой точкой отказа. Существуют ли какие-либо службы или установленные шаблоны для выполнения этого, будь то автоматизация или написание некоторых сценариев для API без создания единой точки отказа?

В итоге мы написали собственное решение, которое несколько имитировало поведение EC2. Мы назвали его healthcare.js и открыли исходный код на https://github.com/goldfire/healthcare.js. По сути, он использует API DigitalOcean и теги для обнаружения, а затем использует Демократия.js чтобы отслеживать, какие серверы работают. Это позволяет создать полностью распределенную систему самовосстановления, которая будет уничтожать / восстанавливать серверы на основе переданных конфигураций серверов.