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

в 14:20, , рубрики: big data, docker, kubernetes, meetup, Qiwi, Блог компании QIWI, Разработка веб-сайтов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если говорить о Kubernetes, то у нас он сейчас используется для тестирования. Мы недавно его внедрили для того, чтобы попробовать и посмотреть, насколько с ним будет удобно работать. Позже, уже с полученным опытом работы в тестовой среде, мы внедрим его и в 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 твоя тема, ждем! Вход свободный, но нужно зарегистрироваться, чтобы мы не промахнулись с количеством посадочных мест и традиционными “админскими” угощениями. По этой же ссылке можно узнать все детали.

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

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

Автор: Prosfera

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js