2.45M

Построение окружения для микросервисных приложений на примере CCFA

1.

CCFA
Копирайт © 1998-2021 ООО «Компас Плюс». [Публичная | Конфиденциальная | Есть ограничения | Секретная | Индивидуальная], v[1.00][L], 14 марта 2022 г. Разработана: [Имя, Фамилия].

2.

• Введение
• Постановка задачи
• Окружение для микросервисного приложения
• Общая схема взаимодействия микросервиса с его инфраструктурой
• Компоненты
• Service Mesh Data Plane
• Service Mesh Control Plane
• Monitoring
• Logs processing
• Logs and monitoring visualization and alerting
• Infrastructure as Code
• Окружение для микросервисного приложения на примере стенда для тестирования CCFA
• Инфраструктурная схема разработческого кластера
• Таблица размещения микросервисов и компонент инфраструктуры на тестовом стенде CCFA
• Результаты нагрузочного тестирования, тестирования на отказоустойчивость и обновление компонент
под нагрузкой
2

3.

• На основании требований к конечному продукту
разработать окружение для микросервисного
приложения
• Ключевые требования к окружению:
• Доступность различных типов поставки
приложения
• Высокая отказоустойчивость используемых
компонент
• Минимизация использования проприетарного ПО
3

4.

4

5.

Service Mesh Data Plane
• DNS:
• Consul DNS
• Networking:
• Nomad CNI plugin and Multi-Interface
networking
• Proxies:
• Nginx
• Envoy
• Consul Connect
• Service discovery:
• Consul SD
• Data:
• Consul KV
5

6.

Service Mesh Control Plane
• Orchestration:
• Nomad
• Scheduling:
• Nomad
• Cron
• Resource management:
• Resource utilization analyser (в
разработке)
• Resource manager (в разработке)
6

7.

Monitoring
• Telemetry shipping:
• Prometheus Node Exporter
• Prometheus
• Telemetry transforming and filtering:
• Prometheus
• Telemetry storage:
• Prometheus
7

8.

Logs processing
• Logs shipping:
• Filebeat OSS
• Logs transforming / filtering:
• Logstash OSS
• Logs storage:
• Opendistro’s Elasticsearch
8

9.

Logs and monitoring visualization and alerting
• Dashboards:
• Grafana
• Opendistro’s Kibana
• Alerting:
• Alertmanager
9

10.

Infrastructure as Code
• Ansible:
• Взаимодействует с хостами посредством ssh
• Пользователь описывает чёткую
последовательность действий для достижения
поставленного результата
• Большое число плагинов для управления
компонентами ОС и приложениями
• Terraform
• Взаимодействует с провайдерами посредством
вызовов их API
• Пользователь описывает желаемое конечное
состояние системы, по большей части оставляя
построения плана выполнения на Terraform
• Большое число плагинов для взаимодействия с
различными провайдерами
10

11.

CCFA
11

12.

CCFA
CCFA
Node1
Node2
Node3
Node4
Node5
Node6
REx
0
1
1
1
1
0
OREx
0
10
10
10
15
0
Chronicler
0
2
2
2
2
0
Postgres+Patroni
0
1
1
1
0
0
Nginx
1
0
0
0
0
0
Consul Server
1
1
1
1
1
0
Consul Client
0
0
0
0
0
1
Nomad Server
1
1
1
1
1
0
Nomad Client
0
0
0
0
0
1
Filebeat
1
1
1
1
1
1
Logstash
0
0
0
0
0
1
Elasticsearch
0
0
0
0
0
1
Kibana
0
0
0
0
0
1
Node exporter
1
1
1
1
1
1
Prometheus
0
0
0
0
0
1
12

13.

CCFA
13

14.

CCFA
14

15.

CCFA
15
English     Русский Rules