Тост обнаруживает тепло на медленных сборках с градилькой DPE

Когда разработчик Аида Иссайева присоединилась к Toast в марте 2023 года, у компании были серьезные проблемы с длинными циклами выпуска для своего популярного приложения для управления ресторанами и заказа по еде. Из -за длинных циклов выпуска Toast было тяжело быстро получить новые функции в выпусках приложения и сразу же для клиентов. Задержки также вызывали разочарования и отставания к развитию тоста.

«Мы видели проблему, и самой большой проблемой для нас было время за выполнение стоимости», — сказал The New Stack, инженер -программист и технологический лидер для команды по производительности продаж в Toasteava. «И мы начали смотреть на то, почему наши циклы выпуска длиннее. Чем больше мы сдвинулись налево, мы видели, как разработчики тратят больше возможностей для строительства, потому что время настройки непрерывной интеграции (CI) было медленным».

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

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

Выбор стратегии, чтобы найти лекарство от времени

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

Имея все это в виду, Иссайева начала думать о том, как она и ее команда могут решить долгосрочные проблемы цикла Toast, внедряя инструмент разработчика производительности (DPE). Она работала с одним таким инструментом, Gradle Enterprise, на предыдущих работах в Twitter и Doordash, поэтому она начала оценивать его снова. Теперь инструмент сборки Gradle Develocity работает, чтобы ускорить сборки и обеспечить тестирование на локальном и системах CI, чтобы команды разработчиков могли видеть, что происходит в их коде. По ее словам, используя Develocity, разработчики могут исправлять проблемы и узкие места, когда они появлялись в приложениях Android в процессе сборки.

«Разработчики скажут, что они думают, что все происходило, но не могли знать наверняка», — сказала она, когда они боролись через проблемные сборки. «Это была комбинация инструментов и процессов. Первым шагом для нас было определение инструмента, которым нам не хватало. У всех нас были догадки, и мы знали [on the issues]это то, что заставило нас попасть в DPE и градл девственность ».

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

«Если мы знаем, что один из испытаний из 50 000 или 100 000 тестов является сложенным, это означает, что наша система сборки, Gradle, должна выполнить этот тест несколько раз», — сказала она. «И выполнение этого теста, который много раз поставляется с ценникой ресурсов и замедляет ситуацию. Он требует энергии и не позволяет вам запускать другие вещи, которые вам нужно запустить. И представьте, что у нас не будет только один тест, но если 80% этих тестов подбирают ресурсы, это является серьезной проблемой».

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

Наблюдая за тем, как длительное время строительства падает

Насколько плохим было увеличение времени сборки, наблюдаемое в тосте до того, как Градл была приведена?

По ее словам, в 2022 году, до прибытия Иссайева, время строительства составляло около 55 минут каждый. Когда она присоединилась к компании в марте 2023 года, среднее время сборки увеличилось до 78 минут. Но через три четверти, используя Develocity, время сборки сократилось до 27 минут, сказала она.

«Это предоставило нам данные по каждой задаче», — сказал Иссайева. «Возможность увидеть каждую задачу и сколько времени она занимает и от того, от чего это зависит; вся эта информация доступна в разработке. Вот почему мы можем добраться до гранулированного уровня и выяснить проблемы, которые вызывают у нас проблемы в режиме реального времени».

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

«Каждый раз, когда происходит сборка, будь то локальная или удаленная, Градл публикует снимок этого сканирования сборки», — сказала она. «Мы загружаем его в нашу базу данных, которая представляет собой специальную базу данных всех сканирования сборки. И затем, основываясь на этой информации, мы получаем тенденции и шаблоны от развития градл, определяя то, что мы можем видеть о тенденциях для времени сборки. Мы не делаем этого каждый раз». У нас есть обзоры метриков, которые мы делаем каждые две недели, и когда мы смотрим на эти данные ».

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

«Обычно моя работа — найти проблему и сказать:« Эй, это проблема прямо сейчас, и она станет в два -три раза хуже через два или три месяца », — сказала она. «Тогда я поднимаю это до руководства, чтобы они могли его увидеть. Это был интересный момент, когда я [identified why] У нас было более медленное время настройки ».

Как связаны инженерная инженерия платформы и разработка производительности?

Брайан Демерс, адвокат разработчика в Gradle и давний разработчик Java, заявил в новом стеке, что платформная инженерия и DPE являются «взаимодополняющими подходами, которые компании и команды разработчиков могут использовать для повышения производительности разработчиков», каждый из которых рассматривает различные аспекты повышения производительности разработчиков.

«Platform Engineering смотрит на производительность разработчиков с организационной точки зрения и фокусируется на создании и поддержании внутренних платформ разработчиков (ВПЛ), которые обеспечивают возможности самообслуживания для разработчиков»,-сказал Демерс. «DPE идет еще дальше и фокусируется на оптимизации процессов сборки, тестов и устранения неисправностей — вещи, которые влияют на каждого инженера, независимо от их среды разработки».

По его словам, DPE может специально помочь компаниям, которые могут бороться с медленными циклами сборки и тестирования, чтобы оптимизировать и ускорить их сборку и тестирование. Между тем, Platform Engineering предоставляет оптимизированную и эффективную среду, в которой разработчики могут создавать свои приложения с помощью кураторских инструментов, сказал он.

«Зрелая и эффективная стратегия в конечном итоге будет включать в себя как DPE, так и инженерию платформы», — сказал Демерс. «Например, Platform Engineering предоставляет унифицированную среду с возможностями самообслуживания, в то время как DPE гарантирует, что эти инструменты и процессы работают как можно более эффективно».

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Тодд Р. Вайс освещает технологические удары с 2000 года, сначала в качестве штатного писателя Computerworld и Eweek, а затем в качестве фрилансера для нового стека, MSSP Alert, Computerworld, TechRepublic, Cio.com, Eweek, знание центров обработки данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *