SDCast #72: в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM

sd-podcast-logoРад представить вам 72-й выпуск SDCast’а! У меня в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM. В этом выпуске мы с Ильясом обсуждаем различные аспекты разработки, начиная от технических составляющих и заканчивая различными “soft skills” темами.

В начале Ильяс рассказал про проект retailCRM, как он появился, какие решает задачи, как устроен и работает. Обсудили мы архитектуру проекта и используемые технологии. Под капотом проекта используются: PHP/Symfony/Doctrine, PostgreSQL, Redis, сервисы на Python и Go и много чего ещё.

RetailCRM — это SaaS с большим количеством пользователей, где под пользователями понимается не конкретный человек, а целая компания, использующая retailCRM, внутри которой уже работает некоторое количество человек-пользователей. Сейчас сервис используют порядка 5000 магазинов, то есть пользователей-компаний, 30 млн хитов в сутки.

Ильяс рассказал, как они организуют хранение разных пользователей-компаний в базе данных и как организована работа бэкенда с этими данными. Забегая вперёд скажу, что retailCRM — это по большому счёту монолит на PHP/Symfony, где каждый пользователь-компания живёт на своём поддомене, однако все запросы обрабатываются этим самым монолитным приложением, а данные каждого пользователя-компании — это отдельная схема в базе данных PostgreSQL.

Также Ильяс рассказал про архитектуру и программные компоненты всей системы в целом. Обсудили мы вопросы миграции данных и выкладки новых версий компонентов, задачи мониторинга и обслуживания и другие сопутствующие вопросы.

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

Читать далее «SDCast #72: в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM»

Скачать (mp3, 91 MB) Скачать (ogg, 68 MB)

SDCast #27: в гостях Анатолий Панов, ведущий разработчик биллинга в Badoo

sd-podcast-logoВсем привет! На этот раз у меня в гостях Анатолий Панов, ведущий разработчик и руководитель технической составляющей биллинга в компании «Badoo». В этом выпуске мы ведем речь о системах биллинга в целом, в чем их отличие от других типов приложений, из каких функциональных частей они состоят. Обсуждаем, какое значение в биллинге имеют безопасность, скорость, отказоустойчивость.

Анатолий рассказывает про архитектуру систем биллинга в целом и как устроена система биллинга в Badoo. Отдельно обсуждаем вопросы интеграции с большим количеством сторонних систем и сервисов, их удобство, API, безопасность и прочие вопросы.

Не обошли мы стороной и пользовательский интерфейс. Обсудили что важно для пользователей, какое значение имеют простота и удобство, ощущение защищенности. Какие способы оплаты бывают, какие из них наиболее популярны в разных странах и как, в конечном итоге, это сказывается на прибыли компании.

Еще Анатолий рассказал про то, какие бывают виды мошеничества и какие есть способы борьбы с ними, какие технологии приняты на вооружение в банковской сфере, как бороться с фродом и как определить подозрительные транзакции.

Обсудили вопросы логирования и мониторинга, и как в дальнейшем это помогает не только поддерживать работоспособность системы, но и в случае каких-то проблем, неверных списаний или еще чего-то, вернуть систему в консистентное состояние, не потеряв деньги пользователя. Не забыли и про тестирование. Анатолий рассказал, как у них происходит тестирование ядра системы и модулей интеграции с внешними сервисами.

Так же мы немного затронули холиварную тему архитектуры приложений «Микросервисы или же монолит»? Обсудили разные подходы, и Толя высказал свою точку зрения по этому поводу.

Ссылки на ресурсы по темам выпуска:
  • Слайды и видео доклада Анатолия «Прием платежей в Badoo – взгляд изнутри».
  • Pinba. MySQL storage engine that acts as a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.
  • Skyline. Open source система обнаружений аномалий.
Скачать (mp3, 25 MB)