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

Содержание

Слайд 2

Содержание Введение Постановка задачи Окружение для микросервисного приложения Общая схема взаимодействия

Содержание

Введение
Постановка задачи
Окружение для микросервисного приложения
Общая схема взаимодействия микросервиса с его инфраструктурой
Компоненты
Service

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

ВВЕДЕНИЕ Постановка задачи На основании требований к конечному продукту разработать окружение

ВВЕДЕНИЕ

Постановка задачи

На основании требований к конечному продукту разработать окружение для микросервисного

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

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Общая схема взаимодействия микросервиса с его инфраструктурой

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Общая схема взаимодействия микросервиса с его инфраструктурой

Слайд 5

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Компоненты DNS: Consul DNS Networking: Nomad CNI

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Компоненты

DNS:
Consul DNS
Networking:
Nomad CNI plugin and Multi-Interface networking
Proxies:
Nginx
Envoy
Consul Connect
Service

discovery:
Consul SD
Data:
Consul KV

Service Mesh Data Plane

Слайд 6

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Компоненты Orchestration: Nomad Scheduling: Nomad Cron Resource

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Компоненты

Orchestration:
Nomad
Scheduling:
Nomad
Cron
Resource management:
Resource utilization analyser (в разработке)
Resource manager (в

разработке)

Service Mesh Control Plane

Слайд 7

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Компоненты Telemetry shipping: Prometheus Node Exporter Prometheus

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Компоненты

Telemetry shipping:
Prometheus Node Exporter
Prometheus
Telemetry transforming and filtering:
Prometheus
Telemetry storage:
Prometheus

Monitoring

Слайд 8

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Компоненты Logs shipping: Filebeat OSS Logs transforming

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Компоненты

Logs shipping:
Filebeat OSS
Logs transforming / filtering:
Logstash OSS
Logs storage:
Opendistro’s

Elasticsearch

Logs processing

Слайд 9

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Компоненты Dashboards: Grafana Opendistro’s Kibana Alerting: Alertmanager

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Компоненты

Dashboards:
Grafana
Opendistro’s Kibana
Alerting:
Alertmanager

Logs and monitoring visualization and alerting

Слайд 10

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ Infrastructure as Code Ansible: Взаимодействует с хостами

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ

Infrastructure as Code

Ansible:
Взаимодействует с хостами посредством ssh
Пользователь описывает

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

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA Инфраструктурная схема разработческого кластера

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA

Инфраструктурная схема

разработческого кластера
Слайд 12

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA Таблица

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA

Таблица размещения

микросервисов и компонент инфраструктуры на тестовом стенде CCFA
Слайд 13

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA Результаты нагрузочного тестирования

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA

Результаты нагрузочного

тестирования
Слайд 14

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA Результаты тестирования на отказоустойчивость

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA

Результаты тестирования

на отказоустойчивость
Слайд 15

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA Результаты тестирования обновления компонент под нагрузкой

ОКРУЖЕНИЕ ДЛЯ МИКРОСЕРВИСНОГО ПРИЛОЖЕНИЯ НА ПРИМЕРЕ СТЕНДА ДЛЯ ТЕСТИРОВАНИЯ CCFA

Результаты тестирования

обновления компонент под нагрузкой