17 декабря 2020

Разработка в AWS: полезные инструменты и фичи

Николай Ляшук

менеджер по проектам Linxdatacenter

В статье я расскажу, какие полезные приложения и инструменты разработки приложений можно выбрать из облака Amazon Web Services и почему на них стоит обратить внимание.

The big picture

Корпоративная ИТ-инфраструктура перебирается в облака.

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

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

При этом им удается закрыть потребности всех этапов разработки, от создания прототипа и MVP до тестирования и запуска в продуктив.

Этому способствует бурное развитие таких инструментов, как контейнеры, бессерверные модели предоставления ресурсов облака, автоматизация разработки, использование протокола без сохранения состояния, а также right-sizing – гибкое автоматическое распределение облачных мощностей под задачи работы приложения.

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

Автоматизация позволяет быстрее и надежнее развертывать и обновлять приложения, а протокол без сохранения состояния (Stateless protocol) снимает привязку приложений к инфраструктуре и позволяет им сохранять свое состояние (state) независимо от базовой инфраструктуры.

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

Почему AWS?

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

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

Так, совсем недавно AWS впервые в своей истории запустил поддержку совместимости с macOS. Инстансы Mac mini стали доступны в Elastic Compute Cloud (EC2), позволив разработчикам создавать приложения для iPhone, iPad, Mac в среде AWS.

У разработчиков появился крупный провайдер облачных вычислений, который позволит им запускать инструменты разработки Xcode и Swift в облаке, избавляя их от необходимости обслуживать и настраивать машины Mac.

Неудивительно, что на днях компания сообщила о регистрации всплеска интереса к ресурсам AWS со стороны стартапов в области логистики, финтеха, банковских услуг и e-commerce.

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

Начнем с инструментов разработчика

AWS Cloud9 – облачная интегрированная среда разработки (IDE) для написания, запуска и отладки кода в браузере. Она включает в себя редактор кода, отладчик и терминал, а также встроенную поддержку языков программирования JavaScript, Python и PHP.

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

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

В AWS CDK задачи моделирования приложения упрощаются за счет использования высокоуровневых компонентов (так называемых «структур»), выполняющих предварительную конфигурацию облачных ресурсов с настройками по умолчанию.

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

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

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

X‑Ray также обеспечивает комплексное отслеживание маршрутов запросов в приложении и формирует карту внутренних компонентов. X-Ray одинаково эффективен при анализе продукта на разных стадиях разработки и развертывания, а также вне зависимости от уровня сложности архитектуры.

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

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

Автоматически останавливает конвейер релизов в случае инцидентов, которые могут представлять собой сбои в блочном тестировании. CodePipeline использует AWS Identity и Access Management для управления доступом сотрудника, который имеет доступ к управлению рабочим процессом.

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

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

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

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

Избыточное выделение вычислительных ресурсов и переплата за них полностью исключаются.

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

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

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

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

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

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

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

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

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

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

Разное полезное

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

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

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

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

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

 

Источник: Tproger

Исследование iTrend: зарплата для ИТ-специалистов — не решающий фактор при выборе работодателя

23 апреля 2024

Эксперты коммуникационного агентства iTrend провели исследование, в рамках которого проанализировали критерии выбора работы, а также медиапредпочтения более 300 высокоуровневых специалистов из крупных российских ИТ-компаний.

 

Команда iTrend начала работу с Институтом iSpring

19 апреля 2024

Институт iSpring — частный ИТ-вуз нового поколения. Он был основан в 2021 году в Йошкар-Оле российским предпринимателем и основателем международной ИТ-компании iSpring Юрием Усковым.

 

Вебинар РУССОФТ, iTrend и BiToBe: «Работодатель-as-a-Service: новая реальность привлечения ИТ-специалистов»

15 апреля 2024

23 апреля в 15:00 пройдет открытый вебинар «Работодатель-as-a-Service: Новая реальность привлечения ИТ-специалистов»

 

iTrend: освоить маркировку интернет-рекламы можно только на собственном опыте

25 марта 2024

В феврале 2024 года в Москве прошла Конференция «Digital-коммуникации России». Организатор мероприятия – Ассоциация директоров по коммуникациям и корпоративным медиа России (АКМР). Эксперты конференции обсудили острые вопросы рынка digital, в том числе маркировку интернет-рекламы. Об опыте коммуникационного агентства в рамках перехода на работу по новым правилам рассказала Екатерина Саранцева, директор по развитию iTrend.

 

Медиалогия: iTrend – в ТОП-4 коммуникационных агентств по медиаиндексу за январь 2024 года

20 марта 2024

Коммуникационное агентство iTrend вошло в пятерку агентств, получивших наиболее высокий медиаиндекс по данным рейтинга «Медиалогии» за январь 2024 года. Компания заняла четвёртую строчку ранкинга, набрав 433,2 пункта МИ. Медиаактивность участников рынка оценивалась на основе анализа базы российских СМИ, включающей в себя более 88 тыс. источников — ТВ, радио, газеты, журналы, информационные агентства и Интернет-СМИ.

 
Все новости iTrend