Используемые технологии в разработке
Мы стремимся использовать современные методологии и технологии в разработке ПО. Это позволяет добиваться лучших результатов и обеспечивает более высокую сопровождаемость проектов.
На бэкенде в большинстве проектов мы используем язык программирования Ruby и фреймворк Ruby on Rails, в качестве слоя хранения — СУБД PostgreSQL, для поиска — ElasticSearch, а кеширование и очереди реализуем на базе Redis. Эта связка особенно хорошо зарекомендовала себя в разработке высоконагруженных ecommerce-проектов и в создании приложений со сложной бизнес-логикой.
Впрочем, решениями на базе Ruby мы не ограничиваемся, так как выбор технологий должен быть целесообразным и основываться на специфике решаемых задач. В проектах, связанных с машинным обучением и большими данными, мы чаще всего используем Python, так как возможности этого языка и его экосистема более подходящие для этого класса задач. Для наиболее нагруженного функционала используем язык Go, так как он компилируемый и благодаря этому по производительности обгоняет интерпретируемые Ruby и Python.
Интерфейсы разрабатываем на базе HTML5, CSS3 и JavaScript, используя современные системы сборки и компонентную архитектуру. Как правило, мы делаем приложения в виде Single Page Application Фронтэнд обычно делается на связке React + MobX + MobX State Tree, а на бэкенд большую часть запросов обрабатывает в режиме API, хотя и реализует полноценный Server Side Render для соответствия SEO-требованиям и для ускорения отрисовки страниц при первой загрузке.
На серверах у нас операционные системы семейства Linux, в основном дистрибутивы CentOS. У нас собственные «железные» сервера и виртуализация, построенная на KVM, что позволяет эффективно использовать вычислительные ресурсы и спасает от типичных проблем VPS — «оверселлинга» и «шумных соседей». В качестве веб-сервера у нас используется NGINX, конфигурирование осуществляем через Ansible, а для мониторинга используется Zabbix. В качестве системы контроля версий используем Git, система управления репозиториями кода и платформа CI/CD — GitLab (self-hosted).
Используемый стек технологий позволяет создавать отличные решения для широкого спектра бизнес-задач и под самые жёсткие требования.
Мы используем технологии, которые хорошо зарекомендовали себя в «боевых» условиях.
При выборе технологического стека для проектов мы всегда основываемся на двух основных критериях — эффективности и экономической целесообразности.
Разрабатываем сайты любой сложности, интернет-магазины и веб-приложения для автоматизации бизнеса.
Наша основная специализация — разработка нетиповых проектов с высокими требованиями к качеству ПО. Мы ориентированы на максимально эффективное решение бизнес-задач клиента. Приоритет разработки — коммерческая успешность создаваемых сайтов и веб-приложений, а инструментами для её достижения являются продуманные и красивые интерфейсы, быстрая и надёжная работа программной части, а также устойчивость к нагрузкам в сочетании с высокой производительностью.
К нам обращаются тогда, когда другие говорят, что реализовать задачу невозможно.
Legacy
Ниже представлены технологии с которыми мы умеем работать, но новые проекты обычно реализуем уже без их использования.
Получилось так, что с 2004 года мы успели поработать с весьма большим количеством разнообразных систем и достаточно много занимались разработкой проектов в экосистеме PHP — это дало нам бесценный опыт и экспертизу, а также хорошее понимание внутреннего устройства многих из перечисленных ниже технологий и платформ.
В 2013 году мы приняли решение обновить технологический стек для разработки новых проектов на более перспективный с точки зрения возможностей и качества разработки. Но мгновенно перейти на новые технологии и прекратить работать с прежним стеком в реальном мире невозможно — многие ранее созданные проекты (некоторые даже с начала нулевых годов), до сих пор работают и мы их сопровождаем. Ещё нередко бывают ситуации, когда мы сопровождаем проекты на этих технологиях и платформах просто потому, что у Заказчика эти сайты или приложения уже были сделаны до начала работы с нами, изначальные разработчики «бесследно пропали», но проекты должны продолжать работать пока не получится их заменить.
По историческим причинам мы сопровождаем и часто дорабатываем проекты на технологиях, которые уже не входят в наш основной стек.
В основном, это PHP-проекты: сайты на коробочных CMS UMI.CMS и 1С-Битрикс, а также приложения на фреймворках Yii, Laravel и Symfony.