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, автоматизация, администрирование, проектирование инфраструктуры и сервисов.