Рассчитать требования к кластеру под проект
Известно, что проекту нужны база данных, система кеширования, а само приложение состоит из бекенда и фронтенда. Опишите, какие ресурсы нужны, если известно:
- Необходимо упаковать приложение в чарт для деплоя в разные окружения.
- База данных должна быть отказоустойчивой. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
- Кэш должен быть отказоустойчивый. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
- Фронтенд обрабатывает внешние запросы быстро, отдавая статику. Потребляет не более 50 МБ ОЗУ на каждый экземпляр, 0.2 ядра. 5 копий.
- Бекенд потребляет 600 МБ ОЗУ и по 1 ядру на копию. 10 копий.
- Домашняя работа оформляется в своем Git репозитории в файле README.md. Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.
- Сначала сделайте расчет всех необходимых ресурсов
- Затем прикиньте количество рабочих нод, которые справятся с такой нагрузкой.
- Добавьте к полученным цифрам запас, который учитывает выход из строя как минимум одной ноды.
- Добавьте служебные ресурсы к нодам. Помните, что для разных типов нод требовния к ресурсам разные.
- В результате должно быть указано количество нод и их параметры.
Исходим из того, что БД и Кеш находятся на отдельных узлах, где нет других приложений, кроме них. Часть ресурсов будет провисать, но головняка будет меньше, так надежнее.
Предлагаю 2 приложения back + 1 front размещать на одном узле, в результате там будет ресурсов для ещё поднятия приложения back и front-ов, если в других местах будет падать.
Также один узел как запасной, который не превышает самый больший по ресурсам из узлов, с целью, если такой узел упадет.
БД |
---|
3 ноды |
2 ядра |
5 ГБ |
Общее количество ресурсов: 6 ядер 15 ГБ
КЕШ |
---|
3 ноды |
2 ядра |
5 ГБ |
Общее количество ресурсов: 6 ядер 15 ГБ
Два приложения back и одно приложение front на одной ноде
back(2)+front(1) |
---|
5 нод |
3 ядра |
2 ГБ |
Общее количество ресурсов: 15 ядер 10 ГБ
Запас |
---|
1 нода |
2 ядра |
5 ГБ |
Общее количество ресурсов: 2 ядра 5 ГБ
Общее количество ресурсов для кластера: 29 ядер и 45 ГБ с учетом расходов на ОС и кубик.