{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Топ неочевидных, но полезных инструментов для разработки в облаке AWS

Linxdatacenter.com

Одна из главных «фишек» глобальных облаков – огромный выбор встроенных в их платформы готовых ИТ-сервисов для разработки бизнес-приложений. Их настолько много, и они настолько быстро развиваются, что далеко не каждый опытный ИТ-специалист успевает следить за новинками. Рассказываем, какие полезные приложения мы бы выбрали из облака Amazon и почему.

Базовые тренды-2020

Для того, чтобы понять, почему то или иное приложение полезно или популярно, нужно понимать, какие приоритетные задачи оно решает.

Общий тренд 2020 года в построении корпоративной ИТ-инфраструктуры – переход на разработку облачных приложений. Это подразумевает не просто миграцию бизнес-инструментов в облачную среду, а целенаправленное создание приложений специально под развертывание в облаке с фокусом на масштабируемость и гибкость конкретной облачной среды.

Поэтому важные тренды работы в облаке сегодня касаются преимущественно инструментов и технологий, которые помогают разрабатывать приложения в облаке:

● Containers (Контейнеры) – это масштабируемая среда в облаке, которая включает в себя всю логику, необходимую для запуска приложений.

Контейнеры изолируют среды выполнения приложений друг от друга, но совместно используют ядро ОС. Гибкие и стандартизированные, они поддерживают перенос приложений между всеми типами инфраструктуры, включая общедоступные и частные облака, виртуализированные серверы и серверы с открытым исходным кодом.

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

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

● Serverless computing (Бессерверная парадигма предоставления инфраструктуры) – это модель облачных вычислений, в которой поставщик облачных сервисов запускает сервер и динамически распределяет необходимые ресурсы между потребителями.

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

Linxdatacenter.com

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

В результате снижаются расходы бизнеса на инфраструктуру, упрощается структура операций, растет эффективность DevOps.

● Automation (Автоматизация). В 2020 году автоматизация разработки – это не столько тенденция, сколько растущая необходимость. Автоматизация развертывания, тестирования и оповещений позволяет быстрее и надежнее развертывать и обновлять приложения.

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

● Statelessness, или Stateless protocol (Протокол без сохранения состояния) – локальные приложения часто хранят данные о своем состоянии (state) в инфраструктуре, в которой выполняется код. Поэтому приложение может быть повреждено при добавлении/удалении ресурсов сервера.

Unsplash.com

Облачные нативные приложения не привязаны к инфраструктуре, что означает возможность их выполнения в распределенном режиме, когда они сохраняют свое состояние независимо от базовой инфраструктуры. Их общение с сервером состоит из независимых пар «запрос-ответ».

● Right-sized capacity (Автоматическое распределение ресурсов облака)– облачные платформы, на которых развернуты приложения, динамически распределяют и перераспределяют свои ресурсы в зависимости от текущих потребностей приложения.

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

Желтая майка лидера

Что хорошего предлагает разработчикам в свете всего вышесказанного Amazon Web Services?

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

AWS.com

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

● Amazon DynamoDB – полностью управляемая, мультирегиональная, многопользовательская, надежная база данных со встроенной системой безопасности, резервного копирования и восстановления, а также кэширования в памяти для интернет-приложений.

● Amazon Simple Storage Service (S3) – масштабируемая и недорогая веб-служба хранения объектов, предназначенная для оперативного резервного копирования и архивирования данных и программ приложений.

● AWS Lambda – вычислительный сервис, который позволяет разработчикам запускать код без необходимости управлять серверами. Он выполняет код только при необходимости и автоматически масштабируется.

● AWS Fargate – программное ядро для бессерверных вычислений на базе контейнеров, которое работает как с Amazon Elastic Container Service (ECS), так и с Amazon Elastic Kubernetes Service (EKS).

● Amazon Cognito облегчает контроль аутентификации пользователей, а также доступ к любым мобильным приложениям на устройствах, подключенных через Интернет.

● Amazon CloudFront – глобальный сервис CDN (content delivery network), который помогает в безопасной доставке данных, видео, приложений и API.

Также рассмотрим несколько узкоспециализированных областей.

Интеграция приложений

● AWS Step Functions позволяет координировать несколько сервисов AWS в бессерверных рабочих процессах, быстро создавать и обновлять приложения. Также можно объединять сервисы, такие как AWS Lambda и AWS Fargate, в многофункциональные приложения.

Amazon EventBridge – серверная шина событий, предназначенная для простого соединения облачных нативных приложений с использованием данных из собственных приложений пользователя, интегрированных приложений SaaS и сервисов AWS.

Мобильная разработка

Unsplash.com

● AWS AppSync – управляемый сервис, который использует GraphQL, чтобы обеспечить простой доступ приложений к нужным данным. Это упрощает разработку, позволяя создавать гибкий API для безопасного доступа, манипулирования и объединения данных из нескольких источников.

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

● AWS Amplify – платформа для разработки безопасных, масштабируемых мобильных и веб-приложений. Помогает аутентифицировать пользователей, надежно хранить данные и метаданные пользователей, разрешать выборочный доступ к данным, интегрировать машинное обучение (machine learning), анализировать метрики приложений и выполнять код на стороне сервера.

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

● Amazon Pinpoint – маркетинговая и аналитическая служба, размещенная в общедоступном облаке AWS, которая позволяет организациям взаимодействовать и отслеживать показатели, связанные с использованием приложений конечными пользователями.

Машинное обучение и искусственный интеллект

Unsplash.com

● Amazon CodeGuru – сервис для автоматического анализа кода и рекомендаций по производительности приложения. Он основан на машинном обучении, лучших практиках и уроках, извлеченных из миллионов обзоров кода и тысяч приложений, представленных в проектах с открытым исходным кодом и внутри AWS.

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

● Amazon Forecast – полностью управляемый сервис, который использует машинное обучение для объединения данных временных рядов с дополнительными переменными для составления прогнозов.

● Amazon Transcribe использует процессы глубокого обучения для автоматического распознавание речи (ASR) в целях быстрого и точного преобразования речи в текст в различных приложениях.

Инструменты разработчика

Unsplash.com

● AWS Cloud9 – облачная интегрированная среда разработки (IDE) для написания, запуска и отладки кода только с помощью браузера.

● AWS Cloud Development Kit (AWS CDK) – среда разработки программного обеспечения с открытым исходным кодом для моделирования и предоставления ресурсов облачных приложений с использованием знакомых языков программирования.

● AWS X-Ray помогает разработчикам анализировать и отлаживать распределенные приложения.

● AWS CodePipeline – полностью управляемая служба непрерывной доставки, которая помогает автоматизировать конвейеры выпуска для быстрого и надежного обновления приложений и инфраструктуры.

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

Кейс: ИТ-задача и ее решение с помощью сервисов AWS

Одно из преимуществ работы в AWS – возможность сочетать и комбинировать как описанные выше, так и другие инструменты, а также базовые ресурсы облака, в нужные именно вам конфигурации для достижения поставленных целей.

Как эти инструменты применяются на практике, можно описать на примере контент-провайдера, пользующегося решениями облака AWS через наш сервис Direct Cloud Connect.

Unsplash.com

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

Подключение к облачным сервисам должно было решить такие задачи заказчика, как:

● развитие сервисов для обработки и анализа данных;

● организация «песочницы» для тестирования новых решений;

● размещение данных сервисов в надежной и высокопроизводительной ИТ-инфраструктуре;

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

Облачные сервисы AWS стали оптимальной платформой для выполнения всех перечисленных задач.

Для технической реализации компания Linxdatacenter предоставила L2-канал QinQ от площадки Linxdatacenter в Москве до ЦОДа FR5 во Франкфурте. На базе прямого выделенного канала подключили заказчика к платформе AWS с использованием подключений Private и Public Virtual.

Linxdatacenter.com

Канал Linxdatacenter обеспечивает минимальные сетевые задержки и стабильную работу с сервисами AWS. Надежность соединения гарантируется резервным подключением к платформе через другого провайдера.

В результате, все поставленные ИТ-задачи заказчик решает с помощью сервисов AWS:

● EC2 – вычисления в облаке,

● VPC – частное облако,

● S3 – хранение (бэкапы),

● Lambda, Athena - аналитика,

● Route53 - DNS,

● Elemental MediaPackage – подготовка и защита контента для live-трансляций,

● CloudFront (CDN от AWS) – тестирование раздачи 4К-контента.

Николай Ляшук, менеджер по продуктам компании Linxdatacenter

0
Комментарии
-3 комментариев
Раскрывать всегда