AWS представляет мобильные сервисы нового поколения

Amazon

Мобильные приложения: вызов современности


Мобильные сервисы AmazonСейчас едва ли какой-либо успешный интернет-бизнес может обойтись без собственного мобильного приложения. Его создание есть задача, которая в последнее время стала значительно легче, но и много сложнее. Противоречия нет. Сейчас как никогда много инструментов – фреймворков, сервисов, программных пакетов для разработки приложений любой сложности, но в то же время хорошее приложение создать становится все сложнее, потому что требования пользователей непрерывно растут, да и сложности разработки заключаются не только в используемых инструментах. Требования к приложениям сейчас высоки как никогда: оно должно современно выглядеть, быть функциональным, присутствовать на всех мобильных платформах, работать быстро и эффективно, и надежно сохранять пользовательские данные. Все эти требования можно разбить на ряд задач, которые необходимо решить:

  • Аутентификация пользователя – Управление пользователями и провайдерами их интернет-личностей.
  • Авторизация – Безопасный доступ к облачным ресурсам
  • Синхронизация данных – Синхронизация пользовательских настроек между устройствами.
  • Анализ поведения пользователей – Отслеживание пользовательской активности и поиск паттернов в ней.
  • Управление медиаконтентом – Хранение и передача разнообразного медиаконтента (фото, аудио, видео) между пользователями
  • Доставка медиаконтента – Автоматическое обнаружение мобильных устройств и доставка им контента при значительном числе абонентов.
  • Отправка push-уведомлений – Оповещение пользователей о происходящих событиях через push-уведомления.
  • Хранение общих данных – Хранение и доступ к данным, которые хранятся в NoSQL-БД
  • Стриминг данных в реальном времени – Сбор данных об истории переходов внутри сервиса в реальном времени и адаптация сервиса на основе анализа этих данных.

Как справиться с этой задачей?


Amazon представляет три новых сервиса, которые позволят решать поставленные задачи эффективнее.

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

Amazon Mobile Analytics поможет в сборе, визуализации и осмыслении данных, которые касаются использования приложений, вовлеченности пользователей и масштабирования доходов. Данные для анализа могут собираться через AWS Mobile SDK или набор REST API. Метрики можно посмотреть в консоли управления AWS.

Наконец, обновленный мобильный SDK AWS поможет создавать высококачественные мобильные приложения быстро и эффективно. Через SDK доступны сервисы, специально предназначенные для построения мобильных приложений, а также оптимизированные для использования мобильными устройствами коннекторы для популярных сервисов AWS (услуги стриминга, баз данных, хранения данных) и прочие сервисы AWS. SDK содержит общий механизм аутентификации, который работает во всех сервисах AWS, механизмы для кэширования данных на стороне клиента, интеллектуального разрешения конфликтов и прочие инструменты. С помощью SDK можно создавать приложения для платформ iOS, Android и Fire OS.

Разумеется, новые сервисы наиболее эффективны при использовании вместе – как между собой, так и с другими сервисами AWS. Представленные сервисы являются частью линейки вычислительных услуг AWS, которые доступны во всем мире из одного из дата-центров Amazon, расположенного в США, Южной Америке, Европе или Тихоокеанском регионе.

Вот каким образом новые и существующие сервисы AWS могут помочь с решением обозначенных задач:

  • Аутентификация пользователя – Amazon Cognito (Брокер персональных данных Identity Broker)
  • Авторизация – AWS Управление личными данными и организацией доступа
  • Синхронизация данных – Amazon Cognito (Синхронизация)
  • Анализ поведения пользователей – Amazon Mobile Analytics (мобильная аналитика)
  • Управление медиаконтентом – Amazon Simple Storage Service Transfer Manager (менеджер трансферов для S3)
  • Доставка медиаконтента – Amazon CloudFront (Определение устройства)
  • Отправка push-уведомлений – Amazon Mobile Push (предоставляемый Amazon SNS Simple Notification Service)
  • Хранение общих данных – Amazon DynamoDB (Object Mapper)
  • Стриминг данных в реальном времени – Amazon Kinesis (Kinesis Recorder)

А теперь – подробнее о новых сервисах.

Amazon Cognito


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

Как известно, провайдер личности – это онлайн-сервис, который отвечает за выдачу идентифицирующей информации пользователям, работающим с сервисом или другими, которые признают идентификацию этого сервиса. Cognito создан с учетом необходимости взаимодействия с тремя крупнейшими провайдерами интернета (Amazon, Google, Facebook) и позволяет разработчикам сервисов сэкономить на создании своей системы авторизации. Используя Cognito, разработчикам не нужно задумываться о задачах опознания пользователей или хранения и безопасного шифрования паролей.

Cognito также поддерживает гостевой доступ (без авторизации). В сочетании с сервисами AWS Identity and Access Management и используя AWS Security Token Service, мобильные пользователи могут получать доступ к защищенным ресурсам AWS и даже сохранять данные в облаке, не создавая учетной записи или не производя вход в нее. Если же позже пользователь, который сохранял данные как гость, войдет или создаст учетную запись, Cognito сопоставит идентификационную информацию и объединит профили. Вот как все это работает:



Чтобы начать работать с Cognito, нужно:

  • Зарегистрировать учетную запись AWS
  • Зарегистрировать приложение в консоли провайдера личности и получить ID приложения или токен. Этот шаг не обязателен, возможно, также использовать только личности без идентификации.
  • Создать Cognito identity pool (пул личностей) в консоли управления AWS
  • Интегрировать с AWS Mobile SDK: хранилища и синхронизированные данные в находятся в массивах данных.

Пул личностей создается и настраивается в консоли AWS когда приложение опубликовано и используется.





В консоли появляются данные и метрики, которые относятся к пулу.



Теперь о возможностях синхронизации данных. SDK клиента управляет локальной (на мобильном устройстве) базой данных, которая работает на SQLite, так что многое доступно, даже если соединения с интернетом нет. БД работает как кэш и все операции чтения и записи обращаются в первую очередь к ней. Механизмы синхронизации Cognito обращаются к локальному кэшу и сравнивают локальную копию данных с облачной, внося изменения там, где необходимо. По умолчанию Cognito ориентируется на последнюю операцию записи, но это поведение можно изменить и ввести собственный алгоритм разрешения конфликтов. За каждую операцию синхронизации снимается небольшая сумма.



Размер набора данных может составлять до 1 Мб, а каждая личность до 20 Мб.

Набор данных можно создать или открыть и добавить пары ключ/значение несколькими строками кода:

DataSet *dataset = [syncClient openOrCreateDataSet:@"myDataSet"];
NSString *value = [dataset readStringForKey:@"myKey"];[dataset putString:@"my value" forKey:@"myKey"];

Стоимость услуг Cognito зависит от суммарного объема данных приложений, которые хранятся в облаке и количества операций синхронизации. Бесплатно предоставляется 10 Гб хранилища для синхронизации и 1 млн операций синхронизации ежемесячно в течении первых 12 месяцев. Сверх этих пределов – $0.15 за Гб дискового пространства и $0.15 за каждые 10,000 операций синхронизации.

В документации Cognito (Android and iOS) подробно описывается эта и другая функциональность.

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


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



Используя данные («события») которые собираются и загружаются приложением, Amazon Mobile Analytics автоматически вычисляет и обновляет следующие метрики:

  • Число активных пользователей в день (DAU), месяц (MAU) и новых пользователей
  • Показатель «прилипчивости» (DAU/MAU)
  • Количество сессий и среднее число сессий на среднего активного пользователя
  • Усредненный доход на ежедневно активного пользователя (ARPDAU)
  • Усредненный доход на платящего ежедневно активного пользователя (ARPPDAU)
  • Показатель удержания на 1, 3 и 7 дней
  • Показатель удержания на 1, 2 и 3 недель
  • Индивидуализированные метрики

Чтобы приложение могло загружать события, нужно создать «пул личностей», а вызывать соответствующие функции отчета можно через AWS Mobile SDK или REST API. Есть три типа событий:

  • Системные – Начало или конец сессии
  • Покупки внутри приложения – Транзакции.
  • Особое – Специфические действия внутри приложения.

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

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



На главной странице – общая информация о приложении и ваших пользователях:



По щелчку на вкладке открывается более полная информация:



Данные можно фильтровать по приложению, временному промежутку или платформе:



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

AWS Mobile SDK


И, наконец, обновленный и расширенный AWS Mobile SDK, который значительно упрощает процесс разработки приложений для платформ iOS, Android и Fire OS. Вот что нового было добавлено:

Преобразователь объектов – новая технология отображения объектов, внедренная в DynamoDB для iOS упрощает доступ к DynamoDB с мобильного приложения. Эта технология конвертирует клиентские классы в таблицы Amazon DynamoDB. Программистам не приходится писать код, который конвертирует объекты в таблицы и наоборот. Индивидуальные экземпляры объектов отображаются, как объекты в таблице, которые можно создавать, считывать, обновлять, удалять и запускать запросы.

Менеджер передачи данных S3 (S3 Transfer Manager) – это дополнение к S3 упрощает передачу файлов в хранилище S3 (в обоих направлениях), оптимизируя скорость работы и надежность. Теперь передачу файлов можно поставить на паузу, возобновить или отменить через API. S3TransferManager для iOS перестроен и теперь использует BFTask. У него новый, более понятный интерфейс, все операции теперь выполняются асинхронно.

Улучшения для Android и Fire OS – помимо сервисов, перечисленных выше, SDK теперь поддерживает Amazon Kinesis Recorder. Этот отказоустойчивый сервис записи потоков данных с мобильных устройств, который поддерживает все последние новинки SQS, SNS, и DynamoDB. Он позволяет завершать активные запросы, прерывая соответствующий поток.

Улучшения в работе с iOS / Objective-C – SDK поддерживает ARC и BFTask и следует лучшим практикам для использования Objective-C. Также поддерживаются Cocoapods и новый язык программирования Apple — Swift.

Комментарии (0)


Добавление комментариев доступно только зарегистрированным пользователям. Используйте свою существующую учетную запись для авторизации. Если у Вас еще нет учетной записи на сайте ее можно создать пройдя несложную процедуру регистрации. Кстати, для входа на сайт, наравне с учетной записью на cloudzone.ru, можно использовать аккаунт из следующих популярных сервисов: Яндекс, Facebook, Google и LinkedIn