- PVSM.RU - https://www.pvsm.ru -

QIWI Server Party: пиво DevOps не помеха

Привет всем! Совсем скоро состоится мероприятие под кодовым названием QIWI Server Party! [1] Встреча для back-end разработчиков, которым важно дело, а не “эффективные рабочие процессы”.

Будут интересные доклады и квалифицированные спикеры! Например, наш коллега Сергей Чеканский расскажет, «Почему BigData бесполезна»! А также своим опытом работы с Kubernetes поделится Антон Дубенчук. Плюс будет еще пара интересных тем.

QIWI Server Party: пиво DevOps не помеха - 1

Ну и, разумеется, неформальное общение, пиво и BBQ. За подробностями добро пожаловать под кат!

Это наше первое мероприятие, на котором мы хотим собрать back-end разработчиков для неформального общения. Главная цель — обмен знаниями в неформальной обстановке. С нашей стороны мы обещаем четырех интересных спикеров, с двумя из которых хотим вас познакомить прямо сейчас.

Первый — Антон Дубенчук — менеджер группы разработки систем интеграции провайдеров. Направления: микросервиризация, Kubernetes, платформа. Мы задали ему несколько вопросов.

Привет, Антон. Что такое «системы интеграции провайдеров»? Расскажи о своей работе подробнее? Чем ты и твоя команда занимаетесь?

Да, действительно, я занимаюсь системами интеграции провайдеров. У компании QIWI есть много различных поставщиков услуг, с которыми нам нужно интегрироваться по разным протоколам. Либо партнеры предоставляют нам интерфейс, который мы реализуем на своей стороне, либо наоборот — мы даем им нужные протоколы и партнеры реализуют их на своей стороне.

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

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

Я слышал, что важным направлением твоей работы является построение микросервисной архитектуры приложений. Почему отдается предпочтение именно этому подходу?

Решение о переходе на микросервисную архитектуру у нас было принято не так давно — в начале 2015 года. До этого момента у нас работали большие системы и сервисы, которые были друг с другом сильно связаны. С ними было сложно разбираться, что-либо дорабатывать, релизить новую функциональность. После внесения изменений нам и нашим коллегами приходилось достаточно сложно перестраиваться. И это одна из причин, по которой мы перешли на микросервисы.

Вторая причина заключается в том, что нам было необходимо максимально быстро разрабатывать новые продукты, тестировать идеи и доносить их до пользователей. Единственное решение, которое мы увидели — это переход на микросервисную архитектуру.

Какой стек технологий используешь ты и твоя команда? Особенно интересно услышать о том, как у вас применяется Kubernetes.

Если говорить о Kubernetes [2], то у нас он сейчас используется для тестирования. Мы недавно его внедрили для того, чтобы попробовать и посмотреть, насколько с ним будет удобно работать. Позже, уже с полученным опытом работы в тестовой среде, мы внедрим его и в production-окружение.

Что касается приложений, то они у нас пишутся преимущественно на Java. Базы данных — Oracle, PostgreSQL. Конечно же, используем Spring для того, чтобы построить внутренности наших приложений.

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

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

Есть ли у вас определенный подход к разработке? Методология?

С точки зрения проектной деятельности мы ближе к гибким подходам к разработке. Изначально проект обсуждается совместно с заказчиками, юристами, бухгалтерией, то есть со всеми сторонами, которые участвуют в проекте. Вырабатываются предварительные решения, представления о конечном варианте проекта. После этого происходит процесс реализации.

В процессе реализации мы используем итерации, которые занимают две недели. Мы встречаемся, обсуждаем кто что сделал, удачи и неудачи, планируем что будем делать в следующей итерации.
Если говорить с точки разработки о инструментах и подходах, которые мы применяем, то, конечно же, используется система контроля версии, система code-review, CI/CD и тд.

Антон, о чем будет твой доклад на митапе «QIWI Server Party»?

Я планирую рассказать о нашем опыте внедрения Kubernetes. Хочется рассказать о том, почему мы его решили попробовать, какие у него, на мой взгляд перспективы и почему предыдущее решение нас не устраивало.

Kubernetes является open-source проектом. Насколько он активно развивается, большое ли у него community? И какие у него перспективы?

На мой взгляд развитие он переживает достаточное бурное. Я наблюдаю, как активно и стройно ведется разработка Kubernetes — сформированы специальные группы по разным направлениям развития, проводятся регулярные обсуждения, делаются pull request’ы. Люди собрались из разных компаний: Google, Microsoft, Red Hat, CoreOS, Huawei. При этом в процессе обсуждения они пытаются выработать решения, которые были бы с одной стороны достаточно прагматичны, а с другой, не загоняли людей и компании в слишком жесткие рамки. В итоге, получается достаточно гибкая система. Плюс, учитывая, что изначально идеи, которые были привнесены в Kubernetes, были позаимствованы из практики развертывания приложений в Google дают веру в то, что в результате получится решение, которое сможет занять свою нишу.

Второй из наших спикеров — Сергей Чеканский — руководитель проектов по машинному обучению и бигдате.

Сергей, расскажи подробнее о своей работе в QIWI? Что входит в круг твоих задач?

Я занимаюсь машинным обучением и аналитикой больших объемов данных. В компании огромное количество источников данных, объединяя которые можно извлекать дополнительную пользу. Мы объединяем, валидируем, структурируем данные и строим на этом описательную аналитику или применяем модели машинного обучения.

Какой стек технологий используешь ты и твоя команда?

Для обработки больших массивов данных мы используем Apache Spark и пишем в основном на Python, но отдельные модули на Scala. Задачи по загрузке, хранению и извлечению информации решаются комбинаций Apache Scoop, Kafka и собственных решений. Хранение редко обновляемых данных реализовано в Hadoop, преимущественно в формате parquet. Данные, которые часто обновляются, пишутся в Apache Kudu.

Есть ли у вас определенный подход к работе с BigData? Методология?

У нас скорее не методология, а принципы. Поскольку основные задачи аналитического характера, наши принципы — реализовывать задачу так, чтобы результаты можно было повторить. Если это результат какого-то анализа, то мы делаем не одноразовые скрипты, а то, что можно повторить многократно.

Сергей, я знаю, что твой доклад на конференции будет под названием «Почему Big Data бесполезна». Расскажи о чем ты будешь говорить?

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

6-е сентября — лучший день календаря

Если back-end твоя тема, ждем! Вход свободный, но нужно зарегистрироваться [1], чтобы мы не промахнулись с количеством посадочных мест и традиционными “админскими” угощениями. По этой же ссылке можно узнать все детали.

Приходите, будем рады вас видеть!

P.S. Для тех кто не успеет зарегистрироваться или не может присутствовать, ссылка на трансляцию [3], которая будет доступна 6 сентября с 18.00

Автор: Prosfera

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/qiwi/263284

Ссылки в тексте:

[1] QIWI Server Party!: https://qiwi-events.timepad.ru/event/560781/

[2] Kubernetes: https://kubernetes.io/

[3] ссылка на трансляцию: https://youtu.be/9CcyOkUCQn0

[4] Источник: https://habrahabr.ru/post/337122/