Инструменты для разработчиков
Самые популярные и востребованные инструменты для разработчиков имеют интеграцию с AWS. Сервисы для хранения кода Github, Gitlab, Bitbucket и IDE Webstorm, intellij idea, Visual Studio Code, Atom имеют большое число плагинов, и их работа с AWS максимально упрощена. Также, AWS самостоятельно разрабатывает инструменты, которые помогают отделу разработки быть более эффективным. Один из таких сервисов Amazon CodeGuru помогает выявлять самые дорогостоящие строки кода и повышать качество кода. AWS Cloud9 - облачная среда IDE для создания, запуска и отладки кода с помощью которой разработчики быстро могут подключать других членов своей команды и осуществлять парное программирование в режиме реального времени прямо из браузера.

Безопасность при развертывании
При работе с AWS большое внимание уделяется безопасности и политикам предоставления доступа. Благодаря Service Control Policies есть возможность централизованно управлять политиками доступа и ограничивать работу сервисов на уровне организации. Сервис Identity and Access Management позволяет управлять доступом к ресурсам, коду как для пользователей, так и для отдельных сервисов, это помогает максимально изолировать доступ к приложению извне и внутри системы. С помощью сервиса Amazon CloudTrail можно отслеживать вызовы API и действия пользователей в системе.
Инфраструктура как код
Более 200 сервисов в AWS покрывают большую часть системных задач которые решает бизнес в 2021. Облако AWS спроектировано так, что каждый отдельный сервис и элементы инфраструктуры можно описать в виде кода. Это позволяет максимально гибко использовать вычислительные мощности под постоянное изменяющиеся задачи команд разработки и тестирования. Для хранения кода можно использовать git-репозитарии и использовать все возможности git. AWS Cloud Development Kit (CDK) позволяет управлять ресурсами AWS используя привычные языки программирования. Разработаны пакеты SDK для взаимодействия с сервисами AWS для самых популярных языков(js, java, python, php, go). Тем самым разработчикам не нужно учить новый язык, чтобы работать с AWS.
Популярные инструменты по работе с кодом инфраструктуры AWS.
AWS managed
- AWS CLI
- AWS SDK(go, python, js,..)
- CloudFormation
- AWS CDK
Интеграции
- GitLab CI
- Jenkins plugins
- TeamCity
Готовые и интегрированные CI/СD решения
AWS позволяет использовать как AWS Managed CI/CD инструменты так и интегрироваться с популярными сервисами. Jenkins, Gitlab Ci, TeamCity часто имеют либо встроенную интеграцию с AWS SDK либо плагины для интеграции. Это очень удобно если в вашей компании уже используется популярный CI/CD инструмент, не нужно будет менять весь процесс, а только добавить шаг взаимодействия с ресурсами AWS. Как пример Jenkins CI/CD позволяют развернуть инфраструктуру используя шаблоны Terraform кода и управлять параметрами развертывания. AWS разрабатывает свои инструменты CI/CD. AWS CodePipelineпозволяет настраивать цепочку сборки, тестирования и развертывания программного кода. Управлять процессом возможно как вручную в консоли, так и описывать весь pipeline в виде кода. Синергия от совместного использования CI/CD, IaC и AWS - это главное преимущество.

Создание песочниц для Dev&Test окружений
AWS позволяет быстро создавать и управлять окружениями разработки и тестирования различных версий приложения. С помощью CI/CD инструментов можно запускать и останавливать полноценные рабочие окружения в несколько кликов, без привлечения системных администраторов. Это помогает обеспечить непрерывную и независимую работу как команд, так и отдельных сотрудников. Гибкая система управления ролями и политиками доступа позволяет разграничить права для отдельных подразделений оптимально для любой структуры компании.

Использование Managed Service
Для тестирования нового функционала разработчикам часто необходимы уже готовые сервисы. AWS Managed Serviceпомогают быстро подготовить базы данных, key value хранилище, сервис очередей и многие другие сервисы без знаний системного администрирования. Если необходимого Managed Service не оказалось, в экосистеме AWS есть эталонные решения Quick Start созданные архитекторами решений Amazon Web Service. Цифровой каталог готовых продуктов AWS Marketplaceсодержит более 10000 позиций программного обеспечения как open source, так и с платными лицензиями.
Сокращение расходов на разработку и тестирование
При работе с Dev/Test окружениям часто нет необходимости держать сервера запущенными 24/7. Модель оплаты в AWS почасовая, вы платите только за использованные ресурсы. Есть возможность сэкономить на спотовых инстансах - это неиспользуемые вычислительные ресурсы Amazon EC2, которые AWS предлагает со скидкой до 90%. Мониторинг расходов помогает не выходить за рамки планируемого бюджета на аккаунт или конкретное окружение. Cost Savings plan и Cost Optimization Best Practices помогают организовать максимально экономически эффективную инфраструктуру.
Оцените применимость AWS в ваших Dev&Test процессах