CRM / ERP

Масштабируемый SaaS-конструктор CRM/ERP-систем, реализованный как монолитный PHP-проект с изоляцией пользователей на уровне сервера.

Каждый аккаунт в системе — это отдельный пользователь операционной системы с собственной домашней директорией, в которой размещается PHP-приложение.

Архитектура и стек

Проект развернут на Linux-серверах и сочетает веб-, серверную и инфраструктурную составляющие:

Stack:
PHP, Apache2, NGINX, MariaDB, Python
Ubuntu, Docker, Ansible
PowerDNS, Zabbix, RabbitMQ

Администрирование и автоматизация

Для управления SaaS-инфраструктурой разработан отдельный Python-демон, который принимает задачи с параметрами и выполняет административные операции, возвращая статус их выполнения.

Функциональность демона включает:

  • управление пользователями и правами доступа
  • создание и администрирование баз данных
  • работу с файловой системой
  • управление почтой, веб-серверами и DNS
  • оркестрацию сервисов и инфраструктуры

Развертывание серверов полностью автоматизировано с помощью Ansible, мониторинг осуществляется через Zabbix. Управление всей инфраструктурой выполняется из собственной системы администрирования, построенной на этом же CRM/ERP-конструкторе.

База данных

На каждом сервере развернута MariaDB.
Каждый пользователь имеет:

  • отдельную базу данных
  • индивидуальные учетные данные доступа
  • изоляцию данных на уровне СУБД

Роль

SRE-инженер
Dev-Ops, автоматизация, администрирование, проектирование инфраструктуры и сервисов.