Стэк технологий в WiseAdvice.Tech

Публикация № 1574227 22.12.21

Управление - Управление ИТ-подразделением

Олег Филиппов, СТО WiseAdvice.Tech, рассказал, как эволюционировал стэк технологий в компании.

Я пришел в компанию в 2018 году. На тот момент стэк был «классический», плотно основанный на 1C (что логично) и Windows. И, кстати, работало все тоже неплохо, видели и хуже. Зачем же тогда мы встали на путь перемен?

Да все просто. IT – без прикрас, самая развивающаяся отрасль в мире. 

«Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее» – крылатое выражение из книги «Алиса в стране чудес» прекрасно описывает темп. Нельзя останавливаться ни на секунду, встал = проиграл. Именно поэтому в WiseAdvice.Tech мы постоянно растем, меняемся и улучшаемся. Это позволяет нам быть востребованными на рынке. В том числе, как работодатель.

 

 

Расскажу, как менялся наш стэк технологий.

Команда

Быстрый рост сопровождался быстрыми темпами непрерывных инноваций и изменений внутри компании и команды. Сейчас в WiseAdvice.Tech работает более 70 человек. Они разбиты на 5-7 человек. Это позволяет быть эффективными и не распыляться.

 

 

Команды существуют двух типов – продуктовая и инфраструктурная. Продуктовая состоит из продакт-менеджера, разработчиков, чаще всего в командах есть аналитик и QA. Инфраструктурная команда делится на две части: инженеры и саппорт. У нас нет тимлидов, так как мы стремимся к плоской структуре, однако спросить «что, как» в команде можно у продакт-менеджера.

Начальный стэк 

Основой стэка были технологии 1С, ОС – Windows. СУБД – MS SQL. Хранение – Ceph.

Основой Web-стэка был Bitrix, для управления репозиториями кода использовался GitLab. Тикет-система была RedMine. Документация была не систематизирована и представляла из себя хранилище doc и pdf файлов в общем ресурсе.

Текущий стэк

 

 

ОС

В большинстве своем – это Windows, в силу большого количества зависимостей от сервисов криптографии, которые работают только под управлением этой ОС + ограничения продиктованные 1С и MS SQL. Но уже порядка  30% сервисов у нас под управлением Ubuntu.От распределенной ФС пришлось отказаться в пользу дисковых полок и SAN, в силу того что основной профиль нагрузки - OLTP (финансовые данные), Latency Ceph были неприемлемы.

 

СУБД

  • PostgreSQL
  • Elasticsearch
  • MS SQL
  • Redis
  • BigQuery
  • ClickHouse

В качестве RDBMS мы предпочитаем PostgreSQL, хотя большая часть нагруженных реляционных систем у нас пока на MS SQL. Часть сервисов выносим в Яндекс.Cloud. Конечно каждый элемент стэка, включая СУБД, у нас оброс некоторым количеством вспомогательных библиотек, что естественно за годы эксплуатации. ElasticSearch используется для корпоративного и клиентского поиска, а также частично для хранения логов. Хотя большинство логов переезжает в ClickHouse – мы коммерческая компания, и пытаемся экономить ресурсы, а для ElasticSearch их нужно немало.

 

Backend

  • Node.js
  • .NET

Поскольку основные задачи, с которыми мы сталкиваемся, так или иначе связаны с учетом, а что-то «костылить своими руками» мы не любим, то основой стэка продолжает быть 1С. 1С обеспечивает большинство функций хранения, бэкенда, и бэкофиса. Из 1С мы выносим сервисы, которые требуют нереляционных систем хранения, либо к которым предъявляются повышенные требования по скорости ответа или отказоустойчивости. Также для большинства клиентских сервисов мы пишем свой фронт.

 

Код

  • GitLab

Gitlab в компании используется активно и как удобный интерфейс к хранилищу кода, и как Gitlab CI для автоматизации процессов сборки и развертывания приложений (как в классических стэках, так и 1С). Практически весь код, да и не только код, а также скрипты администрирования и большинство настроек, у нас хранится в GitLab. Почти в каждом репозитории настроен CI. Он пока не статичен, конечно, ещё есть над чем поработать, но уже экономит нам сотни трудочасов ежемесячно.

 

Frontend

  • Angular 
  • PrimeNG
  • Storybook
  • Material
  • NgXs
  • WebStorm

Необходимо создавать продукт, который близок пользователю, однако в то же время поддерживает сложные процессы. Не стоит забывать и о разработчиках – каждый член команды должен быть обеспечен лучшими и самыми современными инструментами. За последние три года стэк WiseAdvice.Tech претерпел громадные изменения.

Angular – Основной фреймворк разработки фронта. Все приложения, разрабатываемые в рамках WiseAdvice.tech являются достаточно сложными и нагруженными различной логикой, поэтому мы на старте закладываем определенные архитектурные паттерны. Angular позволяет нам изначально корректно организовывать код фронтенда для масштабирования приложений. Естественно мы используем только TypeScript. Мы также используем state manager NGXS для управления состоянием в наших приложениях. 

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

Storybook — мы придерживаемся компонентного подхода для разработки Web приложений. В идеале уложить приложение в UiKit, и для этого у нас есть PrimeNG. Но если мы пишем свой компонент с какой-то более-менее сложной логикой, то мы сразу описываем и тестируем поведение компонента отдельно. Для того, чтобы упростить разработку, уменьшить количество багов и дать возможность переиспользовать реализованный компонент в других наших Web-проектах. 

WebStorm – мы используем единую IDE, чтобы проще было обучать новых членов команды, делиться какими-либо настройками, рекомендованными плагинами. Мы выбрали WebStorm от компании JetBrains. Всем разработчикам мы конечно предоставляем лицензии на WebStorm.
 

Middleware

  • Mule ESB
  • RabbitMQ

Скорее всего, еще появится ещё GrahpQL, но пока его нет. Mule ESB мы используем как некоторую «прослойку» между интернетом с cloud-сервисами и Incorporate 1С, в простонародии API Gateway. Впрочем, MuleESB существенно гибче, чем классические API Gateway решения, поэтому при необходимости мы используем и её функционал и для решения задач классической ESB, и для ETL задач.

RabbitMQ  – позволяет нам организовывать асинхронные обмены как с внешними так и с внутренними сервисами. Протокол AMQP оборачивается в http в нашем случае, соответственно мы не используем все преимущества RabbitMQ. Но в большинстве сервисов хотя бы не «костылим» свои реализации очередей сообщений на таблицах реляционных БД.


 

API

  • Postman
  • OpenAPI

Все наши API мы описываем, Mock-аем и тестируем с использованием Postman. Большая часть наших API уже описана в формате OpenAPI 3. Postman очень удобен для тестирования API. Собственно, об этом, пожалуй, знают все. Но мы пошли дальше – тестирование API прогоняется как часть CI процесса с использованием утилиты Newman. Более того, часть тестов регистрируется как регулярные и добавляется в Postman мониторинг. Использование Mock-серверов позволяет не привязывать жестко разработку фронта к разработке бэка.

 

Тестирование

  • Postman
  • Katalon Studio
  • Vanessa Behavior 

Юнит-тестов у нас нет и не планируется. Мы, к счастью, не банк, и можем себе позволить иногда (но очень редко) ошибиться, не тратя миллионы трудочасов разработчиков на покрытие тестами каждой строчки кода. Хотя и те, кто тратят, как показывает практика, тоже ошибаются.  Katalon – отличный стэк для автоматизированного тестирования, который позволяет «ручного» QA превратить в «автоматизированного» за пару дней, абсолютно для него незаметно. Тесты Katalon, конечно, тоже интегрированы в CI на некоторых проектах. Ну а про Postman я уже кратко рассказал выше.

 

BI

  • Google Data Studio
  • Google Big Query

Основа нашего BI стэка – продукты Google. Это обеспечивает нам достаточно низкую стоимость владения и очень неплохую интеграцию с маркетинговой аналитикой.

 

Мониторинг

  • Zabbix
  • Prometheus

Мы используем оба продукта. Prometheus оброс достаточно большим числом коннекторов, позволяет собирать некоторые метрики, которые не может Zabbix. 

Zabbix считают несколько устаревшим продуктом, однако и в нем есть свои плюсы. Например, законченность и визуализаци из коробки, которые снижают стоимость вложения, по крайней мере на начальном этапе.
 

Орг. среда

  • Jira
  • Confluence
  • Slack
  • Telegram
  • Zoom
  • Miro

Jira и Confluence – основа орг. среды, контроля задач и база знаний. Slack мы используем не во всех командах, а вот Telegram, Zoom и Miro – гигиенический набор. В какой-то момент мы четко поняли, что для ретроспективы необходим Miro, где каждый участник команды может разместить свой стикер. Все делают по стандартизированному формату. Что хорошо, что плохо идеи, предложения – каждый сотрудник накидывает стикеры, и мы их дружно обсуждаем.

Заключение

Надеюсь, эта статья пролила свет на то, как работает WiseAdvice.Tech изнутри и что «под капотом». Конечно, это неоконченная история – по мере развития технологий, роста компании и требований к продуктам будет развиваться и наш технологический стэк. Каждый член команды может вносить что-то новое – и это тоже важная часть развития. У нас не надо согласовывать миллион лет идеи: если что-то нужно – обсуждаем. И кажется, это крайне важно для роста сотрудников и компании в целом.

 

Присоединяйтесь к нам!

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2245 22.12.21 12:43 Сейчас в теме
Спасибо за статью, Олег. Вопрос.
PrimeNG работает на Agular вы это дело, насколько я понял, используете как отдельную ветвь разработки, которая никак не связана с 1С. Верно?
3. comol 4639 24.12.21 13:00 Сейчас в теме
(1)
PrimeNG работает на Agular вы это дело, насколько я понял, используете как отдельную ветвь разработки, которая никак не связана с 1С. Верно?
Как это не связана? Все продукты с бэк-ом на 1С. Но фронт для клиентов, на 1С, к сожалению, мы не пишем. Много ограничений, не говоря уже об интерфейсе...
5. user813936 25.12.21 20:50 Сейчас в теме
(3) Под какие задача пишется фронт на не 1С, хотя бы пару? Для поддержки нетипового фронта заказчик готов нанимать зоопарк из разных программистов?
6. comol 4639 25.12.21 21:25 Сейчас в теме
(5) да примеров сколько угодно:

https://1c-wiseadvice.ru/lichniy-kabinet-sotrudnika/
https://1c-wiseadvice.ru/personal/
https://gardium.online/

Я правда с трудом понимаю кто есть заказчики, мы продуктовая команда, платят клиенты за пользование сервисом. Пока они есть, значит "готовы". Фронт вполне себе "типовой" у нас технология уже отработана.
7. user813936 25.12.21 23:12 Сейчас в теме
9. alexey-simf 12.01.22 14:50 Сейчас в теме
(6) Решил проверить онлайн, с регистрацией по яндексу.
https://app.gardium.online/api/user/oauth?state=brand.GARDIUM-ONLINE%2Fprovider.yandex&code=ЦИФРЫ
{"answer": "{ОбщийМодуль.ВебСайт_HTTPСервисы.Модуль(1232)}: Поле объекта не обнаружено (Заголовки)"}
8. user907889 27.12.21 11:14 Сейчас в теме
(5) забавно читать удивленные комментарии, зачем тут Angular и неужели у 1С плохой фронт. Да нет, он ужасный друзья. А теперь я задам вопрос автору, зачем вообще 1С как бэкенд? ресурсы и latency, создаваемые эти монстром, не проблема?
2. ilyatroitskiy 24.12.21 08:52 Сейчас в теме
А есть примеры того, как вы ретроспективу с Миро проводите?
4. comol 4639 24.12.21 13:02 Сейчас в теме
(2) Ну скрины и видюхи с живой ретроспективы я наверное не пришлю... Надо чтобы люди не стеснялись писать что хотят :(
Оставьте свое сообщение

См. также

Пример предпроектного обследования Промо

Управление ИТ-подразделением Пищевая промышленность 1С:Франчайзи, автоматизация бизнеса Россия БУ УУ Бесплатно (free)

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

17.10.2006    97679    support    30    

ИТ-сопровождение: выжать максимум эффективности, сокращая затраты, и не потерять людей (и себя)

Управление ИТ-подразделением v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

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

13.05.2022    899    avolsed    8    

Как бизнес-аналитик может повысить эффективность и прибыльность разработчиков

Управление ИТ-подразделением Анализ и проектирование ИТ-систем Бесплатно (free)

Эксперты не устают спорить, насколько важны аналитики, какие функции они должны выполнять, как взаимодействовать с другими ролями в проекте. О том, как привлечение бизнес-аналитиков помогло увеличить эффективность разработчиков, рассказал директор и ведущий разработчик украинской компании «Арт Порт» Максим Артёменко.

31.01.2022    1092    drmaxart    2    

Бизнес-аналитики 1С: спрос есть, но кто они?

Управление ИТ-подразделением Внедрение ИТ-системы Анализ и проектирование ИТ-систем Бесплатно (free)

Каждый понимает по-своему, кто такой бизнес-аналитик и чем он занимается. Руководитель компании CORS Consulting Илья Отькало постарался ответить на вопросы, что должен знать такой специалист, какие знания и навыки ему пригодятся в работе.

24.01.2022    2939    otkalo    0    

Куда это все катится в ИТ? Конспект доклада Алексея Лустина для Желтого Клуба. Часть 1

Управление ИТ-подразделением Бесплатно (free)

Цитата “Польза всех докладов Алексея Лустина - записать кучу аббревиатур и терминов, которые он произносит, а потом по очереди начинать гуглить, ну и его энергетика, конечно”. - Шина данных уже умерла - Хранилища данных умерли - Микросервисы умерли - Кнопки на формах уже не нужны - RPA был мертв при рождении - PMBOK (и другие BOK) умерли - Agile не нужен - Где место 1С во всей этой движухе - OLAP/ETL мертв - devOps для лохов - MDM фигня К чему стоит присмотреться уже сегодня: - EIP - DFP - DeltaMesh - MicroFront - GGG (giant global graphs) - OpenAA - OpenSL - CIpher - EdgeVCR - xOps - SBSrtate

30.11.2021    1656    kiv1c    3    

Управление бизнесом как ИТ-проектом

Управление ИТ-подразделением Бесплатно (free)

Когда я создавал Инфостарт, у меня была фраза: «Создание компании – это просто очередной проект автоматизации».

29.10.2021    2470    support    8    

Service desk in ITIL 4: что изменилось?

Управление ИТ-подразделением Бесплатно (free)

ITIL – одно из популярных руководств по управлению ИТ-услугами и выстраиванию эффективного менеджмента. Появилась уже четвертая версия этой библиотеки, и по сравнению с прошлыми в ней много нового, в том числе для Service desk. О том, что изменилось, рассказал автор учебных курсов по управлению ИТ-услугами и тематических публикаций в периодических изданиях, автор и переводчик книг по управлению ИТ, архитектор ITIL 4 Роман Журавлев.

29.10.2021    1876    user1455784    0    

miniCIO: Исполнитель задач или партнер?

Управление ИТ-подразделением Анализ и проектирование ИТ-систем Бесплатно (free)

Что нужно бизнесу – простое решение его задачи «в лоб» или получение реальной пользы и ценности? А как обосновать, что это реальная ценность, даже если запрашиваемая система не будет внедрена, а всего лишь будут «исправлены» текущие бизнес-процессы? Вопросы очень дискуссионные и не имеют однозначных ответов. Попробуем найти решения. Если вы – программист или даже программист 1С, если вам неинтересно понять, почему бизнес развивается так, а не иначе, то эта статья не для вас. А вот если вам небезразлично развитие и функционирование вашего ИТ-отдела, вам интересны процессы и закономерности – читаем до конца и комментируем.

23.05.2021    1357    ashtey    1    

Управление в стиле Agile. Как создать самоуправляемую команду в ИТ проекте

Управление ИТ-подразделением Бесплатно (free)

Про Agile только на конференциях Инфостарта сказано уже так много, что, кажется, сложно кого-то удивить. Но руководителю компании Rodionov consulting Денису Родионову это удалось, потому что он в своем докладе на Infostart Event 2019 Inception рассказал не только сухую теорию, но и примеры из собственной практики.

25.09.2020    3184    denislan    0    

Кому и зачем нужна автоматизация? Кто и как ее должен делать?

Управление ИТ-подразделением Бесплатно (free)

1С-никам не надо объяснять, что такое автоматизация. Но они редко задаются вопросом «кому и зачем она нужна». Хотя, понимая эти моменты, не только проще выполнять свою работу, но и удобнее взаимодействовать с заказчиками. Об этом на конференции Infostart Event 2019 Inception рассказал индивидуальный предприниматель Юрий Бухонин.

31.08.2020    3272    sver_y    4    

Статья о системе маркировки

Управление ИТ-подразделением ИТ-компания Россия Бесплатно (free)

В этом году вышло сразу несколько статей о практике работы с новой системой маркировки “Честный знак”. Написаны они “айтишниками” IT-отделов компаний-участников оборота, что отражает их взгляд на ход пилотного проекта и первые дни запуска боевой системы. Систему часто критиковали и критикуют, в основном из-за частых изменений API, багов личного кабинета и белых пятен в некоторых процессах. Мы решили, пусть и не первыми, опубликовать свой опыт и свои мысли об этом новом амбициозном проекте государства, в котором мы активно участвуем.

03.08.2020    6884    Cleverence    38    

И еще раз об "аутстаффинге" в 1С

Управление ИТ-подразделением Бесплатно (free)

В ранее вышедшей статье «"Аутстаффинг" на проектах 1С - слово страшное, но симпатичное» была описана эффективная формой привлечения 1С-специалистов: "аутстаффинг" (лизинг персонала). С полным текстом исходной статьи можно ознакомиться тут: https://infostart.ru/public/1181532/ В данном очерке автор попытается несколько углубить описание «аутстаффинга», и более детально описать его возможное применение на проектах внедрения 1С, приведя примеры из собственной практики.

30.07.2020    2160    Богатырев Артур    3    

Как "сказка о репке" влияет на управление ИТ

Управление ИТ-подразделением Бесплатно (free)

Почему российские руководители не готовятся к кризису заранее, а ждут, когда жареный петух клюнет? Почему в кризис отечественный бизнес совершает подвиги, а в мирное время – застаивается? Почему сотрудники в «военный период» самоорганизуются и выполняют такие задачи, за которых в спокойный – даже браться боятся? На все эти вопросы в своем докладе на конференции INFOSTART EVENT 2019 Inception ответил директор по информационным технологиям ГК «МОСТ-1» Роман Троупянский.

13.07.2020    4183    useresu    3    

Где взять программистов, если вы не Google или Яндекс, и ваш офис расположен не в Москве?

Управление ИТ-подразделением Бесплатно (free)

Многие отечественные компании сталкиваются с нехваткой квалифицированных кадров, особенно если расположены в небольших городах. Вузы специалистов не готовят, отбирать у конкурентов – дорого, приглашать из столиц – еще дороже, да и никто не согласится. Как же быть? Об одном из решений проблемы подготовки специалистов рассказал на конференции IT-директор компании «ДНС Ритейл» Андрей Гончарук.

30.03.2020    4457    Goncharuk.a    10    

От стажера до эксперта: развиваем команду разработчиков

Управление ИТ-подразделением Бесплатно (free)

Большинство руководителей компаний понимают, что сотрудников надо обучать и развивать, но как это делать, плохо себе представляют. Как организован процесс обучения и развития разработчиков 1С в компании ФТО, на конференции Infostart Event 2019 Inception рассказал Виталий Онянов.

20.03.2020    8289    Tavalik    19    

Эмоциональный интеллект в управлении ИТ-командами

Управление ИТ-подразделением Бесплатно (free)

Эмоциональный интеллект, как явление и направление, начали изучать сравнительно недавно – около 30 лет назад. Но за это время появилось уже немало знаний, которые можно и нужно использовать в управлении ИТ-командами. Как это сделать, участникам конференции рассказала консультант студии креативного консалтинга «Не просто ИДЕЯ» Ирина Шишкина.

18.11.2019    5034    user596192_shiiisha    7    

Система автоматизации управленческого учета как эффективный инструмент управления бизнесом

Управление ИТ-подразделением Россия УУ Бесплатно (free)

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

05.10.2017    10816    POPOK.BIZ    10    

Управленческий учет для программиста 1С. Статья первая - общее понятие управленческого учета.

Управление ИТ-подразделением Бесплатно (free)

Авторский взгляд на управленческий учет с точки зрения и для программиста 1С.

22.08.2014    33040    profiprog1c    74    

Почему я не использую типовые конфигурации фирмы 1С?

Управление ИТ-подразделением v8 1cv8.cf Россия Бесплатно (free)

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

28.03.2010    8540    Yurisel    6