News

Представляем решение для удаленной разработки с помощью Space

Read this post in other languages:
English, Français, 日本語, 한국어, Deutsch, Português do Brasil, Español, 简体中文

Возможно, вы уже слышали большую новость: мы выпустили решение для удаленной разработки в IDE JetBrains

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

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

Что можно использовать в качестве удаленного бэкенда? Есть несколько вариантов, но конечно же, мы предлагаем свое решение для удаленного размещения бэкендов наших IDE и рады представить облачные среды разработки в JetBrains Space

Удаленная разработка в облачных средах Space позволит вам:

  • Ускорить адаптацию новых членов команды с помощью заранее настроенных стандартизированных сред.
  • Быстро готовить IDE к работе, используя сохраненные образы.
  • Централизованно управлять средами разработки.
  • Экономить ресурсы благодаря автоматической гибернации сред разработки.
  • Работать над несколькими задачами одновременно.
  • Работать над кодом вместе с коллегами.

В этом посте мы хотим подробнее рассказать об облачных средах Space.

Что такое облачная среда разработки

Облачная среда разработки представляет собой выделенную виртуальную машину с запущенным Docker-контейнером, который имеет доступ к исходному коду проекта и передает бэкенд-компоненты в редактор, работающий на вашем компьютере. Контейнер размещается на том же движке, который используется в Space Automation. Подробнее о том, как это работает, читайте в документации.

Облачные среды разработки

Преимущества Space для удаленной разработки

Мы создавали Space как универсальное решение для команд разработки, которое охватывает все этапы создания ПО: от хостинга Git-репозиториев и автоматизации CI/CD-пайплайна до публикации пакетов. 

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

Готовое решение для удаленной разработки, созданное в JetBrains

Создавайте облачные среды, администрируйте их и подключайте к IDE JetBrains, чтобы вы и ваши коллеги могли быстро приступать к работе откуда угодно.

Возможности удаленной разработки уже поддерживаются в IntelliJ IDEA Ultimate и во Fleet — IDE следующего поколения, которую мы представляем в этом релизном цикле. Скоро поддержка появится в PyCharm, GoLand, WebStorm, CLion и других IDE JetBrains.

В этой статье мы подробнее рассказываем о возможностях удаленной разработки с инструментами JetBrains.

Экономичное решение

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

Надежная защита кода

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

Гибкие возможности аутентификации и авторизации

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

Какие функции уже доступны

  • Готовые к использованию среды с заданными настройками

Поскольку облачные среды работают в Docker-контейнерах, вы можете установить все необходимые для вашего проекта библиотеки и инструменты с помощью файла Dockerfile. Если в вашем проекте нет файла ./.fleet/Dockerfile, Space будет использовать образ контейнера по умолчанию. Это гарантирует, что все члены команды смогут работать в одинаковой среде, и упрощает процесс адаптации новичков: они смогут приступать к работе практически сразу, так как им не придется ничего настраивать на своем компьютере.

Активная среда разработки в Space
  • Подготовка рабочей среды

Это самое интересное! Space позволяет полностью подготовить бэкенд к работе: клонирует Git-репозиторий, индексирует проект и загружает зависимости — словно кто-то пришел в офис за час до вас, включил компьютер, открыл проект в IDE и все сделал заранее. А вы можете начать свой день с чего-то более приятного и программировать в IDE, на 100% готовой к работе.

Подготовка осуществляется с помощью Space Automation. Добавьте задание автоматизации в файл .space.kts, поместите в него скрипты для подготовки среды и запустите. Вы даже можете настроить ежедневный запуск по расписанию. Подробнее о том, как подготовить среду разработки, читайте в документации.

Снапшот подготовки облачной среды в Space
  • Совместный доступ к рабочей среде

Отправьте ссылку на среду разработки своим коллегам, и они смогут открыть ее в своей IDE, просмотреть ваш код, запустить и отладить его (пока эта возможность поддерживается только во Fleet).

Совместный доступ к облачной среде Space
  • Режим гибернации

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

Гибернация среды разработки в Space
  • Поддержка в IDE JetBrains

Сейчас есть два способа работы с удаленными средами Space:

  • IntelliJ IDEA с JetBrains Gateway (можно установить через Toolbox App). IntelliJ IDEA устанавливается локально и подключается к удаленной среде разработки с помощью инструмента запуска JetBrains Gateway. На данный момент только IntelliJ IDEA поддерживает удаленные среды разработки Space. Но скоро к ней присоединятся и другие наши IDE на платформе IntelliJ — будем держать вас в курсе.
  • JetBrains Fleet — IDE следующего поколения, разработанная нами с нуля. В ее основе движок IntelliJ, распределенная модель архитектуры и новая концепция интерфейса. Возможности удаленной и совместной разработки занимают во Fleet особое положение.
JetBrains Fleet
  • Масштабируемость

Для оптимизации расходов на вычислительные ресурсы вы можете выбрать тип виртуальной машины, соответствующий размеру вашего проекта. Мы предлагаем три типа машин: Regular (4 ядра ЦП, 8 ГБ ОЗУ), Large (8 ядер ЦП, 16 ГБ ОЗУ) и Extra Large (16 ядер ЦП, 32 ГБ ОЗУ).

Что дальше

  • Поддержка в других IDE

Помимо IntelliJ IDEA Ultimate и Fleet, мы планируем добавить поддержку удаленной разработки в PyCharm, GoLand, WebStorm, CLion и другие IDE на базе IntelliJ.

  • Совместный доступ к средам для разработчиков веб-приложений

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

  • Поддержка нескольких Git-репозиториев

Пока что среда разработки может работать только с одним проектным репозиторием.

  • И еще:
    • Расширенные настройки совместного доступа — несколько способов отправки приглашений и список гостей.
    • Предоставление секретов пользователей облачной среде разработки.
    • Поддержка формата Devfile для описания рабочего пространства среды разработки.
    • Управление ресурсами среды разработки на уровне организации и проекта с поддержкой квот на ресурсы.
    • Локальное размещение сред разработки.
    • Аудиты безопасности и многое другое.

Как начать работу с облачными средами

Все, что вам нужно, — это установить на свой компьютер JetBrains Fleet или JetBrains Gateway и иметь проект, размещенный в Space. Вот подробные инструкции:

Попробуйте удаленную разработку в IDE JetBrains с помощью Space

Если у вас возникнут какие-либо проблемы со средами разработки в Space, свяжитесь с нашей командой поддержки.

Что думаете об облачных средах разработки в Space? Делитесь своими мыслями в комментариях, мы будем рады вашим отзывам.

Ваша команда JetBrains
The Drive to Develop

Автор оригинальной статьи:

Oksana Mandryka

Valerie Andrianova

Discover more