Рубрики
Uncategorized

От доставки до масштабирования: как Goji Investments Masters Developer Prevect через наблюдаемость

Этот гостевой пост блогов был написан рекордом DEAN, инженером в Goji Investments. Goji Investments Laun … С меткой DevOps, наблюдаемости, мониторинга, регистрации.

Этот гостевой пост блогов был написан рекордом DEAN, инженером в Goji Investments.

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

Создание отличного опыта разработчика

За четыре года с тех пор, как мы запустили, разработчики Goji Investments работали усердно, чтобы помочь нам расширить наш товар, предлагающий и принести новые клиенты. Взамен мы сделали все, чтобы сохранить их счастливыми, и это означает, что они предоставляют их подходящими инструментами, чтобы помочь им перейти от создания нашей платформы для его масштабирования.

Наш трубопровод DevOps — это сложная машина со многими движущимися частями. Мы постоянно перерабатываем его и добавляя или вычитающие инструменты на основе обратной связи разработчиков и наших изменяющихся результатов.

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

Автоматизация развертываний было недостаточно

Наши приложения написаны в современном стеке Java, и мы используем Dropwizard в качестве нашей структуры. Наши разработчики обычно пишут код, а затем толкают его на Github для просмотра. Если одобрен, новый код объединяется в Master, который автоматически запускает конвейер по сборке с использованием продуманных разработок GCD. Затем мы запустим автоматизированные модули, интеграцию и приемочные тесты, и наши разработчики также имеют возможность запустить ручные тесты, чтобы поощрять исследовательские тестирования.

Оттуда мы можем продвигать новый код в нашу предварительно производственную среду, которая отражает нашу текущую настройку производства. Что-нибудь, не охваченное предыдущим тестированием, которое проходит свой путь в нашу производственную среду, может быть легко откатывается с использованием функции развертывания сине-зеленых развертываний Hashicorp Nomad, нашей платформы оркестрации контейнеров. Мы небольшая команда, и наша кодовая база относительно компактна, поэтому нам не нужна сложность Kubernetes GKE или EKS, чтобы развернуть и управлять нашими приложениями.

» Расчесывание через журналы для мониторинга приложений — это трата ценных ресурсов разработчиков ».

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

Случайная прослеживаемость

Последнее, что вы хотите сделать со своим днем, анализируют файлы журнала. Вы хотите построить следующую функцию Killer, но если вы должны погрузиться в сорняки, вы хотите сделать это как можно быстрее, а также безболезненно. Вот где приходит наблюдаемость и мониторинг производительности приложений (APM). APM включает в себя мониторинг инфраструктуры, но также предоставляет метрики на уровне обслуживания, включая информацию о вызове базы данных и целевой активности. Это позволяет нам найти узкие места и другие проблемы с производительностью без отвлечения наших разработчиков из их основных обязанностей.

Я использовал программное обеспечение APM в моей предыдущей позиции, и когда пришло время принять платформу в инвестициях Goji, я пошел с тем, что я знал. Опыт показал мне, что Instana — это решение Zero Touch, которое делает все, что нам нужно прямо из коробки. Когда вы запускаете 20 различных микросервисов, которые покрывают все от налогов, платежей и уведомлению о клиентах — и когда вы масштабируете, чтобы добавить еще больше — вам нужно оптимизировать каждый элемент вашего трубопровода DEVOPS. Инстана была последней кусочностью в нашей головоломке, и это позволило нам автоматизировать одну из самых громоздких частей цикла развития.

Инстана дает нам полную прослеживаемость от нашего интерфейса до нашего спина. Мы можем отслеживать действия пользователей на нашем веб-сайте и проследить последующие звонки по нескольким услугам. Он автоматизирует оповещения и может отправлять сигнал тревоги нашим расслоенным каналам разработчиков, когда он сталкивается с проблемой с процессором, использованием CPU, контейнерных памяти или размером кучи JVM.

Instana также интегрируется с Humio Решение регистрации в реальном времени мы недавно приняты. Когда мы определим проблему в Гумоо, мы можем прыгнуть в Инстана и перейдите непосредственно к контейнеру Docker или Host, который сгенерировал ошибку. Мы также можем просматривать метрики AWS в Instana и больше не нужно получать информацию от консоли AWS. Консолидация всех этих функций экономит время и упрощает устранение неполадок.

Найти наши узкие места

Когда мы проверяем новую сборку или функциональность, мы можем использовать Instana для просмотра десятков метрик в режиме реального времени, и это полный шанжер игры. Недавно мы разработали функцию, которая распределяет дивиденды для инвесторов и до освобождения мы хотели проводить тесты производительности, чтобы обеспечить масштаб для удовлетворения требований нашей растущей клиентской базы. Изначально мы провели испытание на производительность нескольких сотен тысяч выплат, и потребовалось более 20 часов.

Во время тестов производительности, поскольку мы итализировали на нашем коде, мы оказались на полпути в процессе через пять или десять минут, ударяя узкое место, а затем забираю от 10 до 12 часов, чтобы завершить остаток.

С Instana мы смогли увидеть, где возникла проблема. Мгновенная особенность профилирования Java, AutoProfile ™ , показал нам горячие точки, где код был медленным, и мы определили, что наши вопросы базы данных были узкими местами. Как только мы знали, куда посмотреть, мы вернулись, исправили код и перевели приложение, пока мы не получили его правильно.

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

Если у нас не было инстана, это было бы легко забрать нас через четыре в пять раз, чтобы получить этот процесс правильно.

Давая нашему разработчику инструменты для сияния

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

Инстана помогает Goji Investments Streamine Prequestine Process DEVOPS, предоставив нас на внутреннюю работу наших приложений и микросервисов. Мы можем трассировать звонки и запросы базы данных, и мы можем контролировать хосты, контейнеры докеров и виртуальные машины Java в режиме реального времени. Все это ускоряет тестирование и развертывание. Мы можем сделать больше и масштабировать быстрее и привлечь самые талантливые разработчики в мире.

В конце концов, самые умные люди хотят работать на компании, которые бросают их, а также дают им инструменты для сияния.

Дин рекорд является инженером в Goji Investments. Вы можете связаться с ним на Linkedin. .

Оригинал: «https://dev.to/instanahq/from-shipping-to-scaling-how-goji-investments-masters-developer-experience-through-observability-36l7»