Разработка на AWS
с помощью инструментов JetBrains

AWS Toolkit

Amazon Lambda Amazon ECS

Плагин AWS Toolkit наделяет вашу IDE возможностями работы в облаке. Легкое вхождение в разработку сервисов Lambda и ECS.

Создание функции AWS Lambda

AWS Toolkit теперь позволяет выполнять разработку функций Lambda в Java, Python, C# и JavaScript. Вы можете создавать новые проекты Lambda, выполнять запуск и отладку функций Lambda с помощью CLI-интерфейса SAM, после чего загружать код в AWS и выполнять вызов live-версии.

Нужна подробная информация об активности контейнеров ECS, которую нельзя получить из журналов?

AWS Toolkit теперь поддерживает облачную отладку. Просто выберите staging-копию вашей службы ECS, нажмите «Enable Cloud Debugging» (Включить облачную отладку) и создайте конфигурацию запуска, которая прикрепит отладчик к вашему коду. Теперь доступен для Java, C# и Python. И конечно же, все вносимые изменения можно быстро загрузить в ваш ECS-сервис непосредственно из IDE.

Достижение паритета разработки и работы приложения

Где бы ни было развернуто ваше приложение — в EC2, EKS, ECS или Lightsail, — у нас есть инструменты, которые помогут вам вести разработку в этих окружениях. IDE JetBrains помогут доставить код в вашу среду разработки и выполнить отладку кода непосредственно в ней.

Amazon EC2
Amazon Lightsail

Для виртуальных машин

Каждая IDE JetBrains способна выполнять развертывание кода и артефактов с помощью SCP, а также открывать терминал SSH. Имеется поддержка сложных конфигураций SSH с bastion-хостами; их настройка может выполняться с помощью конфигурационного файла SSH (даже в Windows).

Вы можете использовать Vagrant для упрощения автоматизации процессов, относящихся к виртуальным машинам. Поддержка Vagrant реализована во всех IDE JetBrains — вы можете подключиться к настроенным с помощью Vagrant виртуальным машинам без дополнительной настройки.

Amazon EKS
Amazon ECS

Для контейнеров

Все IDE JetBrains позволяют вам выполнять сборку и запуск как контейнеров Docker, так и проектов Docker Compose. Вы можете легко редактировать файлы Dockerfile и YAML Compose.

Пользуетесь Kubernetes? Несмотря на то, что Kubernetes значительно упрощает процесс развертывания, для его настройки требуются сложные YAML-файлы. Kubernetes-плагин от JetBrains помогает вам в этом: он генерирует сниппеты, позволяет выполнять навигацию по конфигурации и содержит инспекции, помогающие вам писать корректные конфигурации.

Удаленные интерпретаторы

Если вы разрабатываете код на Python, Node.js, PHP или Ruby, вы можете использовать встроенную в IDE JetBrains функциональность удаленного интерпретатора. Вне зависимости от цели подключения, будь то виртуальная машина или Docker-контейнер, вы можете настроить удаленный интерпретатор для использования удаленной машины в качестве среды выполнения проекта. После выполнения этой настройки все конфигурации запуска будут выполняться на удаленной машине, однако рабочий процесс будет соответствовать вашей локальной среде разработки.

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

После настройки удаленного интерпретатора консоль Python, IRB или Rails будет запускаться на удаленной машине: вы сможете прототипировать свой код в том же окружении, где он будет выполняться.

Удаленная отладка

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

Разработка на следующих языках поддерживается как в специализированных IDE для этих языков, так и в IntelliJ IDEA Ultimate с соответствующим языковым плагином. Поддержка JavaScript доступна во всех платных версиях IDE JetBrains.

О языках

Java

Настройте Java для запуска с включенной отладкой, используя командную строку или переменную окружения. Затем подключите отладчик IntelliJ IDEA.

Python

Скопируйте pydevd egg на свой сервер и скопируйте две строки из конфигурации запуска. Затем запустите сервер отладки в PyCharm и дождитесь подключения скрипта.

Node.js

Запустите приложение Node.js с флагом `--inspect`, а затем подключите отладчик WebStorm.

GDB

Запустите приложение под gdbserver, а затем подключитесь с помощью CLion.

Go

Запустите приложение, используя delve, а затем подключитесь с помощью GoLang.

PHP

Настройте Xdebug так же, как для локального использования. Веб-сервер должен быть в состоянии подключиться к компьютеру, на котором запущен PhpStorm. Попробуйте использовать SSH-туннель.

Amazon RDS
Amazon Aurora
Amazon Redshift

Интеграция с вашими данными

Сложно создать приложение без базы данных. У JetBrains есть решение — DataGrip, IDE для SQL. Помимо того, что это автономный продукт, его функциональность для работы с базами данных также интегрирована в большинство наших IDE*.

*Все платные IDE, за исключением WebStorm

С целью упрощения разработки удаленных окружений DataGrip поставляется с готовой поддержкой SSH-туннелей. Для соединения с базой данных вашего тестового окружения просто подключите DataGrip через свой bastion-хост.

JetBrains DataGrip

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

DataGrip не ограничивается какой-то отдельной РСУБД, а способна подключаться ко всем распространенным серверам баз данных: PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database и прочим.

С помощью DataGrip также легко подключаться к базам данных Amazon RDS, Amazon Aurora и Amazon Redshift.

Функции работы с базами данных в вашей IDE

Просматривайте данные в ходе разработки. Благодаря интеграции функциональности DataGrip в IDE JetBrains у вас есть возможность не только анализировать ваши данные, но и пользоваться механизмом автодополнения SQL-запросов — лучшим в своем роде инструментом, действительно умеющим понимать ваши данные. Все IDE JetBrains, интегрируемые с СУБД, содержат механизм автодополнения запросов SQL, учитывающий текущую схему и активирующийся всякий раз, когда вы вводите запрос в своем коде.

AWS CloudFormation

Программируйте инфраструктуру

Теперь можно настраивать свою инфраструктуру с помощью кода. Почему бы не делать это в первоклассной IDE? Установив плагины CloudFormation и HashiCorp Configuration Language (HCL), вы можете использовать такие возможности IDE JetBrains, как Ctrl-Click для перехода к определению в вашем инфраструктурном коде.

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

Управление конфигурацией

Доступны плагины как для Chief, так и для Puppet и Ansible. Плагин JetBrains для Puppet обеспечивает высококачественные механизмы автодополнения кода и рефакторинга, а также инспекции для вашей IDE. Также доступны плагины автодополнения кода для кукбуков Chef и сценариев Ansible.

Развертывание вашего приложения

Большинство команд используют то или иное решение непрерывной интеграции (CI) и/или непрерывного развертывания (CD). JetBrains TeamCity — это сервер CI/CD, созданный для сложного современного окружения.

Поддержка контейнеров

Конечно же, TeamCity может собирать и загружать Docker-образы в соответствии с файлом Dockerfile в вашем репозитории. Кроме того, TeamCity может задействовать контейнер Docker в качестве обертки для этапов сборки. Например, вместо запуска этапа сборки Gradle напрямую в вашем билд-агенте, вы можете сконфигурировать TeamCity для создания эфемерных контейнеров Docker, в которых будет запущен Gradle.

Amazon EC2
Amazon ECS

Нативная работа с облаком

JetBrains TeamCity позволяет с легкостью выполнять сборку кода в облаке. Вне зависимости от того, работаете ли вы полностью в облаке или используете гибридную конфигурацию (локальные и облачные машины), TeamCity возьмет на себя все сложности управления этим процессом.

Бывает, что очередь сборки становится слишком длинной? TeamCity может динамически запускать инстансы EC2 и ECS — как инстансы «по требованию», так и спотовые инстансы. Запуск этих инстансов осуществляется в том случае, если будут заняты все ранее сконфигурированные вами агенты (локальные или облачные). Работа инстансов будет прекращена, когда обработка очереди станет снова возможна силами ваших стандартных агентов.

В дополнение к EC2 облачный агент TeamCity может одновременно работать с различными вычислительными провайдерами: TeamCity способен динамически добавлять билд-агенты локально с помощью vSphere, в дополнение к Google Cloud Platform и Azure. С помощью стороннего плагина можно также динамически создавать агенты в частном облаке OpenStack.

Развертывание

TeamCity обеспечивает мощный механизм непрерывной интеграции, работающий «из коробки».

Внедрение лучших практик DevOps

Из отчета Google Cloud Accelerate State of DevOps за 2022 г., спонсором которого выступила наша компания, вы узнаете, как наладить поставку программного обеспечения и улучшить показатели операционной деятельности. Сведения, приведенные в отчете, помогут вам повысить эффективность DevOps и ускорить внедрение инноваций. Watch the report highlights with JetBrains and Google Cloud experts.

Скачать отчет

Анализируйте ошибки быстрее

Из-за сложного устройства современных облачных сред порой трудно локально воспроизвести определенную ошибку. Поэтому мы добавили возможность анализировать трассировки стеков, которые поступают из логов*. Просто скопируйте трассировку стека, вставьте ее в IDE и используйте возможности среды разработки JetBrains для быстрого перехода к соответствующим частям вашего приложения.

Если вы разрабатываете многопоточное Java-приложение, обязательно попробуйте инструмент анализа дампов потоков в IntelliJ IDEA.

* Доступно только для Java, Python, PHP, .NET, Ruby и Node.js

Начать сейчас

IntelliJ IDEA

Разработка

IntelliJ IDEA Ultimate позволяет с легкостью выполнять разработку на любом языке и даже на нескольких языках в рамках одного проекта.

TeamCity

Сборка, тестирование и развертывание

TeamCity предоставляет мощные механизмы непрерывной интеграции и непрерывного развертывания, работающие «из коробки».

Разрабатываете на других языках?