Ускоряем разработку для Cloud Run с помощью Cloud Code
При разработке сервисов для полностью управляемой контейнерной платформы Cloud Run, вы, скорее всего, быстро устанете постоянно переключаться между редактором кода, терминалом и Google Cloud Console. Мало того, вам ещё придется по много раз, при каждом развертывании, выполнять одни и те же команды. Cloud Code – это набор инструментов, включающий все необходимое для написания, отладки и развертывания облачных приложений. Он повышает эффективность разработки в Google Cloud за счет использования плагинов для популярных сред разработки, таких как VS Code и IntelliJ. С его помощью вы сможете легко заниматься разработкой в Cloud Run. Подробнее под катом.
Интеграция Cloud Run и Cloud Code упрощает создание новых сервисов Cloud Run в привычной для вас среде разработки. Вы сможете запустить сервисы на локальном компьютере, быстро выполнить их итерацию и отладку, а затем развернуть в Cloud Run, легко управлять ими и обновлять их.
На первый взгляд контейнеризация и бессерверные сервисы могут казаться чересчур сложными. Если вы только начинаете знакомиться с Cloud Run, обратите внимание на обновленный список примеров Cloud Run в Cloud Code. Примеры доступны на языках Java, NodeJS, Python, Go и .NET. Опираясь на них, вы сможете сразу приступить к написанию собственного кода с учетом всех рекомендаций.
Все примеры включают файл Dockerfile, чтобы вам не пришлось тратить время, разбираясь в конфигурациях контейнеров. Если вы переносите в Cloud Run существующий сервис, то, возможно, вы ещё не работали с файлами Dockerfile. Ничего страшного! В сервисе Cloud Code есть поддержка объектов Google Cloud Buildpack, позволяющих контейнеризовать сервис прямо в коде. Файл Dockerfile при этом не требуется. Cloud Code содержит все необходимое для развертывания вашего сервиса в Cloud Run.
Разработка и отладка сервисов Cloud Run в локальной среде
Прежде чем развернуть сервис в Google Cloud, вы, скорее всего, захотите попробовать его на своем компьютере, чтобы посмотреть, как он работает, внести необходимые правки и отладить ошибки. При разработке сервисы Cloud Run необходимо постоянно собирать и развертывать в облаке, чтобы тестировать изменения в репрезентативной среде Cloud Run. Отладить код можно и локально, подключив отладчик, однако, поскольку это осуществляется не на уровне всего контейнера, вам придется устанавливать инструменты локально. Запустить контейнер в локальной среде можно с помощью Docker, но команда, необходимая для этого, слишком длинна и не отражает особенности производственной среды.
В Cloud Code имеется эмулятор Cloud Run, позволяющий разрабатывать и отлаживать сервисы Cloud Run локально. Согласно исследованию, проведенному DevOps Research and Assessment (DORA), у команд, показавших высокую эффективность поставки ПО, сбои при внесении изменений случались в 7 раз реже, чем у менее эффективных команд. Благодаря возможности быстро выполнять итерацию кода локально и отлаживать его в репрезентативной среде, вы можете оперативно находить ошибки на ранних этапах разработки, а не во время непрерывной интеграции или, того хуже, в продакшене.
При запуске кода в эмуляторе Cloud Run можно включить режим просмотра. Каждый раз при сохранении файлов ваш сервис будет повторно развертываться в эмуляторе для непрерывной разработки.
Первый запуск Cloud Run Emulator:
Отладка сервисов Cloud Run с помощью Cloud Code осуществляется так же, как в привычной вам среде разработки. Выполните команду "Debug on Cloud Run Emulator" в среде VS Code (или выберите конфигурацию "Cloud Run: Run Locally" и выполните команду "Debug" в среде IntelliJ) и просто установите точки останова кода. Как только точка останова будет активирована в вашем контейнере, вы сможете переключаться между командами, наводить курсор на свойства переменных и проверять журналы из контейнера.
Отладка сервиса Cloud Run с помощью Cloud Code в VS Code и IntelliJ idea:
Развертывание сервиса в Cloud Run
После того как вы протестируете в локальной среде все изменения, внесенные в код для сервиса Cloud Run, останется создать контейнер и развернуть его в Cloud Run.
Развернуть сервис из среды разработки не составит никакого труда. Мы добавили все параметры, необходимые для настройки сервиса перед развертыванием. Когда вы нажмете "Развернуть", Cloud Code выполнит все требуемые команды, чтобы создать образ контейнера, развернуть его в Cloud Run и передать URL-адрес сервису.
Развертывание сервиса в Cloud Run:
Управление сервисами Cloud Run
Благодаря Cloud Code в VS Code можно просматривать журналы версий и сервисов одним нажатием. Эта функция была перенесена из Cloud Console в среду разработки, чтобы вам не приходилось постоянно переключаться. На странице просмотра отображаются именно те журналы, которые имеют отношение к версиям и сервисам, выбранным в проводнике Cloud Run.
Кроме того, в проводнике Cloud Run можно быстро найти и просмотреть сведения обо всех управляемых сервисах Cloud Run и сервисах Cloud Run для Anthos в нужном проекте. Там же можно легко узнать, какой процент трафика перенаправляется и сколько выделено ресурсов ЦП.
Cloud Run explorer в VS Code и IntelliJ
Нажав на версию правой кнопкой мыши, можно посмотреть URL-адрес сервиса. В Cloud Console можно проверить трафик или настроить его перенаправление между сервисами.
Начало работы
Приглашаем вас поработать с Cloud Code в Cloud Run, чтобы оптимизировать процессы развертывания сервисов и ведения журналов. Дополнительные сведения можно найти в документации по Cloud Run для сред разработки Visual Studio Code и JetBrains. Если вы ещё не работали с этими средами, для начала установите Visual Studio Code или IntelliJ.
Присоединяйтесь к Google Cloud Next OnAir
Также хотелось бы напомнить нашим читателям, что прямо сейчас проходит онлайн конференция Google Cloud Next OnAir EMEA для которой мы подготовили контент как для разработчиков, так и для архитекторов решений и руководителей.
Более подробно узнать о сессиях, спикерах и получить доступ к контенту можно бесплатно зарегистрировавшись на странице Next OnAir EMEA. Вместе с уникальным контентом, который будет представлен для Next OnAir EMEA вы также получите полный доступ к более чем 250 сессиям с глобальной части Google Cloud Next ’20: OnAir.