mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 15:22:37 +03:00
homework 11.4: complete homework
This commit is contained in:
@@ -56,3 +56,4 @@
|
||||
* [11.1. Введение в микросервисы](/src/homework/11-microservices/11.1)
|
||||
* [11.2. Микросервисы: принципы](/src/homework/11-microservices/11.2)
|
||||
* [11.3. Микросервисы: подходы](/src/homework/11-microservices/11.3)
|
||||
* [11.4. Микросервисы: масштабирование](/src/homework/11-microservices/11.4)
|
||||
|
||||
33
src/homework/11-microservices/11.4/readme.md
Normal file
33
src/homework/11-microservices/11.4/readme.md
Normal file
@@ -0,0 +1,33 @@
|
||||
Выполнение [домашнего задания](https://github.com/netology-code/devkub-homeworks/blob/main/11-microservices-04-scaling.md)
|
||||
по теме "11.4. Микросервисы: масштабирование"
|
||||
|
||||
## Q/A
|
||||
|
||||
> Вы работаете в крупной компанию, которая строит систему на основе микросервисной архитектуры.
|
||||
> Вам как DevOps специалисту необходимо выдвинуть предложение по организации инфраструктуры, для разработки и эксплуатации.
|
||||
|
||||
### Задание 1
|
||||
|
||||
> Кластеризация
|
||||
>
|
||||
> Предложите решение для обеспечения развертывания, запуска и управления приложениями.
|
||||
> Решение может состоять из одного или нескольких программных продуктов и должно описывать способы и принципы их взаимодействия.
|
||||
>
|
||||
> Решение должно соответствовать следующим требованиям:
|
||||
> - Поддержка контейнеров;
|
||||
> - Обеспечивать обнаружение сервисов и маршрутизацию запросов;
|
||||
> - Обеспечивать возможность горизонтального масштабирования;
|
||||
> - Обеспечивать возможность автоматического масштабирования;
|
||||
> - Обеспечивать явное разделение ресурсов доступных извне и внутри системы;
|
||||
> - Обеспечивать возможность конфигурировать приложения с помощью переменных среды, в том числе с возможностью безопасного хранения чувствительных данных таких как пароли, ключи доступа, ключи шифрования и т.п.
|
||||
>
|
||||
> Обоснуйте свой выбор.
|
||||
|
||||
В данном случае `kubernetes` будет самым очевидным выбором. Эта система целиком и полностью основана на запуске контейнеров
|
||||
и поддерживает autodiscovery запущенных контейнеров. Здесь есть горизонтальное масштабирование путём указания количества реплик контейнера,
|
||||
которые должны быть запущены. Так же в рамках горизонтального масштабирование поддерживается различные методы балансировки запросов.
|
||||
|
||||
Автоматическое масштабирование можно настроить путём подключения метрик `prometheus` и настройки предельных значений.
|
||||
|
||||
Явное разделение реализовано путём "проброса" портов, как это реализовано в `docker`.
|
||||
А так же контейнеры без проблем конфигурируются через переменные окружения или dotenv-файлы.
|
||||
Reference in New Issue
Block a user