Поиск по сайту:

Упростите разработку AWS Lambda с помощью Cloud9 IDE


Cloud9 — это полноценная IDE на основе браузера со множеством интеграций с AWS и встроенной поддержкой более 40 языков. Он особенно удобен для работы с лямбда-функциями и предоставляет простой способ их тестирования и итерации в той же среде, что и производственная среда.

Cloud9, IDE, созданная для AWS

Cloud9 — довольно хорошая IDE сама по себе, но вы, вероятно, уже думаете, что ваша локальная установка Visual Studio Code лучше.

Хотя локальная IDE может быть более удобной, Cloud9 превосходит ее в нескольких областях. Во-первых, он работает на EC2, и вам предоставляется полный терминальный доступ к экземпляру с предустановленным интерфейсом командной строки AWS. В корпоративной среде иметь под своим контролем среды разработки, развернутые в облаке, — очень полезная функция. Вы можете развернуть несколько сред Cloud9 на одном сервере в подпапках.

Помимо базовой интеграции с AWS, Cloud9 отлично подходит для разработки Lambda. На самом деле это тот же текстовый редактор, который вы найдете на странице свойств функции, за исключением того, что у Cloud9 есть одна замечательная функция, которая делает его намного лучше — локальное тестирование. Вы можете протестировать свою функцию практически в той же среде, в которой она будет работать в рабочей среде, даже имея возможность локально протестировать, как ваша функция ведет себя за шлюзом API. Если вы хотите протестировать функцию в самой Lambda, есть кнопка одним нажатием, чтобы развернуть ваш код в $LATEST версии Lambda и протестировать его в реальной среде вместе с шлюзом API разработки, настроенным для запуска вашей обновленной функции. Опыт довольно плавный.

Даже если вы используете Git и SAM для управления своими развертываниями Lambda, Cloud9 все равно может оказаться полезным только из-за возможности легко тестировать функции. Встроенный терминал упрощает работу с Git из среды Cloud9.

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

Настройка среды

Перейдите на страницу продукта Cloud9 и нажмите «Создать среду». Дайте ему имя и описание, затем нажмите «Далее».

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

Вы также должны убедиться, что для параметра «Экономия затрат» установлено разумное значение, чтобы экземпляр не продолжал работать долго после того, как вы (и все остальные) покинете IDE. Около 30 минут или час в порядке.

Вы также можете настроить параметры VPC и подсети здесь, хотя в настоящее время вы не можете развернуть Cloud9 в частной подсети.

Нажмите «Далее», чтобы просмотреть настройки и (если все выглядит хорошо) создать свою среду. Затем вы попадаете на новую страницу, где создание среды в первый раз может занять некоторое время. Примерно через минуту вы подключаетесь и попадаете на стартовый экран Cloud9, где при желании можете переключиться в темный режим.

Первое, что вы должны сделать, это убедиться, что ваш регион AWS установлен правильно в категории «Настройки AWS» в настройках редактора. Он должен запускаться с любым регионом, который вы используете по умолчанию, но он не отображается в заголовке, как большинство других сервисов AWS, поэтому лучше перепроверить.

Как только это будет проверено, вы готовы начать. На вкладке «Ресурсы AWS» на правой боковой панели вы можете напрямую редактировать функции Lambda. Вы можете нажать кнопку «λ+» в меню, чтобы создать новую лямбда-функцию.

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

Если у вас уже есть функция Lambda, которую вы хотите отредактировать, вместо этого вы можете импортировать существующую функцию в среду для редактирования.

Как только ваша функция загружена, она появляется на боковой панели в отдельной папке. Откройте index.js или любую другую точку входа и отредактируйте код по своему усмотрению.

Если вы хотите протестировать, сохраните свой код и нажмите кнопку «Выполнить». Здесь у вас есть несколько вариантов:

  • Локальное тестирование, при котором функция Lambda запускается на том же компьютере, что и среда.
  • Удаленное тестирование, при котором функция Lambda запускается в той же среде, что и в рабочей среде.
  • Тестирование локального шлюза API, которое запускает его локально как API
  • Тестирование удаленного шлюза API, при котором создается новый реальный шлюз API с префиксом cloud9- и подключается к функции Lambda

Одни только эти параметры делают Cloud9 отличным инструментом для работы с функциями Lambda. Возможность легко тестировать функции локально дает Cloud9 преимущество перед локальными IDE. Локальный запуск означает, что вам не придется беспокоиться об обновлении версии $LATEST функции Lambda; это позволяет нескольким разработчикам разрабатывать и тестировать одну и ту же функцию без конфликтов.

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

Редактирование функций Lambda напрямую таким образом и управление выпусками кода через версии Lambda — это вполне допустимый и простой способ работы с ними. Однако некоторые компании могут предпочесть использовать существующую систему управления версиями для Lambda и развертывать обновления через конвейер CI/CD, используя конфигурацию SAM для определения стека функций. Это, безусловно, более сложная (хотя и лучшая) настройка, но каждое развертывание все равно создает новую версию Lambda, поэтому даже в этой среде вы можете использовать Cloud9 для тестирования. Когда вы будете готовы вносить обновления, вам нужно отправить изменения в Git. К счастью, в Cloud9 есть встроенный терминал, который вы можете использовать для этой цели.