Открыть сервис

AWS Cloud9

AWS Cloud9 — это облачная интегрированная среда разработки (IDE), предоставляемая по модели «программное обеспечение как услуга» (SaaS) компанией Amazon Web Services (AWS). Сервис позволяет разработчикам писать, запускать, отлаживать код и управлять проектами непосредственно в веб-браузере, без необходимости установки и настройки локального программного обеспечения. AWS Cloud9 объединяет в себе редактор кода, терминал с доступом к командной оболочке и отладчик, работая на виртуальных машинах (Amazon EC2) или на собственных серверах пользователя.

История

Сервис был создан компанией Cloud9, основанной в 2010 году Рубеном Дэниэлсом и Артуром Бергом. Изначально проект представлял собой веб-ориентированную IDE, поддерживающую совместную работу в реальном времени. В июле 2016 года Amazon приобрела Cloud9 за нераскрытую сумму. После интеграции с экосистемой AWS сервис был переименован в AWS Cloud9 и официально запущен 30 ноября 2017 года. С этого момента он стал частью набора инструментов для разработчиков AWS, включающего AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy и AWS CodePipeline.

Архитектура и принцип работы

Инфраструктура

AWS Cloud9 функционирует на базе виртуальных машин Amazon EC2 или выделенных серверов (через AWS Systems Manager). При создании среды разработки пользователь выбирает тип инстанса (например, t2.micro, t3.medium) и операционную систему (Amazon Linux 2 или Ubuntu Server 18.04 LTS). Среда автоматически настраивается с предустановленными инструментами: компиляторами (g++, clang), интерпретаторами (Python, Node.js, Ruby), системами управления версиями (Git) и менеджерами пакетов (npm, pip, apt).

Компоненты

  • Редактор кода: поддерживает подсветку синтаксиса для более чем 40 языков программирования (JavaScript, Python, Java, C++, Go, TypeScript и др.), автодополнение (IntelliSense), рефакторинг и навигацию по коду.
  • Терминал: встроенная командная оболочка (bash) с доступом к файловой системе среды, возможностью выполнения команд и скриптов.
  • Отладчик: интегрированная поддержка отладки для Node.js, Python и C++ (через GDB). Позволяет устанавливать точки останова, просматривать значения переменных и стек вызовов.
  • Совместная работа: в реальном времени до 10 пользователей могут одновременно редактировать один файл, видеть курсоры друг друга и общаться через встроенный чат.

Безопасность и управление

AWS Cloud9 интегрирован с сервисами управления доступом AWS Identity and Access Management (IAM) и AWS Key Management Service (KMS). Пользователь может назначать роли и политики для ограничения доступа к ресурсам. Данные шифруются при хранении (на уровне EBS) и при передаче (через HTTPS). Среда автоматически создаёт SSH-ключи для подключения к инстансам.

Основные возможности

Поддержка языков и фреймворков

AWS Cloud9 предоставляет готовые шаблоны для создания проектов на популярных стеках:

Интеграция с сервисами AWS

  • AWS Lambda: разработка и тестирование функций бессерверного кода непосредственно в среде.
  • Amazon API Gateway: создание и отладка REST API.
  • Amazon DynamoDB: работа с NoSQL-базами данных через встроенный клиент.
  • AWS CodePipeline: автоматизация сборки, тестирования и развёртывания.
  • Amazon S3: хранение артефактов и статических файлов.

Управление версиями

Встроенная поддержка Git позволяет выполнять коммиты, создавать ветки, разрешать конфликты и публиковать изменения в удалённых репозиториях (GitHub, GitLab, Bitbucket, AWS CodeCommit). Интерфейс включает графическое отображение истории коммитов и diff-просмотрщик.

Настройка и расширение

Пользователь может изменять тему оформления (светлая/тёмная), настраивать горячие клавиши, устанавливать плагины через менеджер расширений (совместимость с частью плагинов Visual Studio Code). Поддерживается создание собственных сниппетов и макросов.

Преимущества и недостатки

Преимущества

  • Отсутствие локальной установки: вся среда работает в браузере, что упрощает начало работы и снижает требования к аппаратному обеспечению.
  • Единая среда для команды: все разработчики используют одинаковые версии инструментов и зависимостей, что уменьшает проблемы совместимости.
  • Интеграция с AWS: упрощает развёртывание приложений в облаке, особенно для бессерверных и микросервисных архитектур.
  • Автоматическое управление ресурсами: среда создаётся и удаляется по запросу, что экономит затраты на инфраструктуру.
  • Безопасность: данные не хранятся локально, а управление доступом осуществляется через IAM.

Недостатки

  • Зависимость от интернета: для работы требуется стабильное высокоскоростное соединение.
  • Ограниченная производительность: бесплатный уровень (t2.micro) имеет низкую вычислительную мощность, что может замедлять компиляцию и тестирование крупных проектов.
  • Ограниченная кастомизация: по сравнению с локальными IDE (VS Code, IntelliJ IDEA) возможности расширения и настройки интерфейса меньше.
  • Стоимость: при использовании платных инстансов EC2 или при превышении лимитов бесплатного уровня (750 часов в месяц в течение первого года) возникают расходы.
  • Привязка к экосистеме AWS: миграция на другие облачные платформы или локальные среды требует дополнительных усилий.

Применение

AWS Cloud9 используется в следующих сценариях:

  • Обучение программированию: образовательные учреждения и онлайн-курсы (например, AWS Academy) применяют сервис для предоставления студентам готовой среды без установки ПО.
  • Разработка бессерверных приложений: написание и тестирование функций AWS Lambda с возможностью локального запуска и отладки.
  • Прототипирование и хакатоны: быстрая настройка среды для командной работы над проектами.
  • Удалённая разработка: работа над проектами с любого устройства (ноутбук, планшет, Chromebook) через браузер.
  • DevOps-задачи: написание скриптов, настройка CI/CD пайплайнов и управление инфраструктурой через AWS CLI.

Тарифы и ограничения

AWS Cloud9 не взимает дополнительную плату за использование самой IDE, но пользователь оплачивает ресурсы, на которых она работает:

  • Amazon EC2: почасовая оплата за инстанс (например, t2.micro — около 0,0116 USD/час).
  • Хранилище EBS: оплата за выделенное дисковое пространство (стандартный SSD — около 0,10 USD за ГБ в месяц).
  • Бесплатный уровень: в течение 12 месяцев с момента регистрации аккаунта AWS предоставляется 750 часов работы t2.micro в месяц.

Ограничения:

  • Максимальный размер одной среды — 50 ГБ (включая EBS-том).
  • Одновременно можно запустить не более 10 сред на один аккаунт (лимит может быть увеличен по запросу).
  • Хранение неактивных сред (бездействующих более 30 дней) может привести к автоматическому удалению.

Критика

Основные замечания пользователей связаны с:

  • Низкой производительностью на бесплатных инстансах, особенно при работе с большими проектами или компиляцией.
  • Ограниченной функциональностью по сравнению с профессиональными IDE (например, отсутствие полноценной поддержки Docker и Kubernetes без дополнительной настройки).
  • Проблемами с совместимостью некоторых расширений и плагинов, перенесённых из VS Code.
  • Нестабильностью при медленном интернет-соединении: задержки ввода и частые переподключения.

Источники

  • Документация AWS Cloud9. Amazon Web Services.
  • «AWS Cloud9: A Cloud-Based IDE for Developers». AWS Blog, 2017.
  • «Amazon Acquires Cloud9 to Boost Cloud-Based Development Tools». TechCrunch, 2016.
  • «AWS Cloud9 Pricing». Amazon Web Services.
  • «Getting Started with AWS Cloud9». AWS Developer Guide.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →