> For the complete documentation index, see [llms.txt](https://chatme-ai-4.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chatme-ai-4.gitbook.io/docs/dlya-razrabotchikov/tekhnologicheskii-stek-platformy.md).

# Технологический стек платформы

Продукт Chatme.ai представляет собой программное решение – Платформу (Platform) для создания чат-ботов с искусственным интеллектом, состоящую из:

* Ключевых микросервисов – Ядра (Core, бекэнд);
* Пользовательских интерфейсов (фронтэнд) – Приложений (Apps);
* Интеграционных интерфейсов – External API и Коннекторов, для связи со сторонним ПО и системами;
* Пользовательской и технической документации.

## Список сервисного программного обеспечения платформы Сhatme.ai, с указанием версий

PostgreSQL — свободная объектно-реляционная система управления базами данных.

* Postgres v11.10
* лицензия PostgreSQL

Redis — резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ — значение». Используется как для баз данных, так и для реализации кэшей, брокеров сообщений. Ориентирована на достижение максимальной производительности на атомарных операциях.

* Redis v5.0.9
* модифицированная лицензия BSD

MinIO — совместимый с Amazon S3 набор объектных хранилищ, способный обрабатывать структурированные и неструктурированные данные, включая файлы журналов, артефакты, резервные копии, изображения контейнеров, фотографии и видео.

* Minio vRELEASE.2020-07-24T22-43-05Z
* лицензия Apache-2.0

RabbitMQ — программный брокер сообщений на основе стандарта AMQP — тиражируемое связующее программное обеспечение, ориентированное на обработку сообщений.

* Rabbitmq v3.7.13
* лицензия Mozilla Public License

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.

* Docker v24.0.5
* лицензия Apache-2.0

Docker compose — инструмент для создания и запуска многоконтейнерных Docker приложений.

* docker compose v2.20.2
* лицензия Apache-2.0

Kubernetes — открытое программное обеспечение для оркестровки контейнеризированных приложений — автоматизации их развёртывания, масштабирования и координации в условиях кластера.

* Kubernetes v1.24.0
* Apache-2.0 License

## Дополнительное системное программное обеспечение

### Дополнительное системное ПО оркестратора Kubernetes

* cert-manager v0.16.0
* ingress-nginx v2.14.0
* helm v3.12.0
* calico 3.18.1

### Сервис сбора журналов событий

1\. Сервер сбора журналов событий:

* kibana v7.11.2
* elasticsearch v7.11.2
* fluentd v1.11.2-debian-1.0
* filebeat v7.11.2
* nginx v1.18.0
* curator v5.8.3

2\. В составе оркестратора Kubernetes:

* fluentd-bit v1.7.1

### Сервис мониторинга

1\. Сервер мониторинга:

* nginx v1.18.0
* Grafana v7.4.5
* Prometheus v2.26.0
* Alertmanager v0.21.0
* Blackbox-exporter v0.18.0
* Node-exporter v1.1.2

2\. В составе оркестратора Kubernetes:

* Kube-state-metrics v1.9.7
* Node-exporter v1.0.1
* Prometheus v2.20.1

## Перечень используемых языков программирования и сред их исполнения

* Python (3.6.8, CPython)
* Go (1.14)
* JavaScript (ES6, node.js 12)
* TypeScript (3.7.3, node.js 8.11)
