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.1. Введение в микросервисы](/src/homework/11-microservices/11.1)
|
||||||
* [11.2. Микросервисы: принципы](/src/homework/11-microservices/11.2)
|
* [11.2. Микросервисы: принципы](/src/homework/11-microservices/11.2)
|
||||||
* [11.3. Микросервисы: подходы](/src/homework/11-microservices/11.3)
|
* [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