Перейти к содержимому

За что отвечает инструмент геолокации azure

  • автор:

Стриминг видео с помощью Azure и .NET

В рамках проекта Jisp, разработкой которого занимается компания WaveAccess, возникла задача по загрузке и проигрыванию видео. В целом, ничего необычного, но с ней связаны известные проблемы, такие как необходимость препроцессинга, а также необходимость поддержать возможность стриминга в требуемом качестве и формате. Видео должно успешно проигрываться на основных платформах, а именно Android, iOS и desktop (web). Подробнее о решении проблем читайте под катом!

Jisp — приложение для покупателей и владельцев онлайн и оффлайн магазинов. Устанавливается на мобильное устройство пользователя. Делится скидками и спецпредложениями, собирает историю просмотров, составляет для ритейлеров портрет пользователя.

Интегрирован с iBeacons. Они в оффлайновом магазине устанавливаются на товар (одежду, технику), и при просмотре этого товара (прикосновении к тегу) посетителем, на мобильном устройстве появляется спецпредложение и подробные данные о товаре. В приложении реализован аналог соцсети для любителей шопинга: можно делиться видеозаписями, интересными товарами, отзывами о них.

В 2017 году приложение получило Microsoft Partners Award в номинации Business за модуль машинного обучения, позволяющий составлять точный портрет пользователя на основе его выбора онлайн и оффлайн и рассылать персональные предложения.

Для решения данной задачи мы использовали технологию Azure Media Services. На серверной части используется платформа .Net. Помимо стандартных требований, связанных со стримингом видео, были также свои требования, предъявляемые бизнес-логикой приложения. Пользователи могут загружать видео и прикреплять их к определённой геолокации. Полное видео должно быть доступно только в заданной области. В остальных же случаях другие пользователи могут проиграть лишь короткий фрагмент, заданный автором видео. Кроме того, необходимо обрезать видео до квадратных пропорций.

Настройка доступа

Прежде чем перейти к загрузке видео, необходимо настроить хранилище и доступ к нему. Для этого надо подготовить 2 аккаунта: Media service account и Azure storage Account.

Media service account

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

  • Resource group — используется для группировки ресурсов в Azure в возможностью настроить доступ на группу целиком
  • Location — территориальное расположение data-центра, в котором будет создан ресурс
  • Storage account — используется для сохранения assets-файлов
Storage account

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

Авторизация

После того, как созданы аккаунты, необходимо настроить авторизацию. В Azure media services используется авторизация через Azure Active Directory. Есть 2 варианта авторизации:

  • Пользователь
  • Service principal

Авторизация аккаунтов пользователей

Второй вариант удобнее, если у нас есть свой сервис, отвечающий за авторизацию пользователей в приложении. Например, если у нас есть мобильное или веб-приложение со своим back-end сервисом. В этом случае на сервере хранятся ключи доступа к AMS, а авторизация пользователей лежит на бизнес-логике приложения.

Авторизация с использованием Service Principal

В случае с Jisp выбран второй вариант.

Подготовив аккаунты и авторизацию, можем начать интеграцию с .Net SDK для AMS. Основной объект, отвечающий за работу с AMS сущностями, — CloudMediaContext. Ниже приведён код, который отвечает за его инициализацию:

var azureKey = new AzureAdClientSymmetricKey(clientId, clientKey); var credentials = new AzureAdTokenCredentials(tenant, azureKey, AzureEnvironments.AzureCloudEnvironment); var tokenProvider = new AzureAdTokenProvider(credentials); var context = new CloudMediaContext(new Uri(url), tokenProvider);

Assets

После того, как мы инициализировали CloudMediaContext, можно переходить к загрузке видео. Для этого в AMS используются asset-сущности. Это ресурс, который содержит непосредственно видеопоток, аудио, thumbnail-изображения и прочие файлы, связанные с видео. Для начала, нужно создать сам asset-ресурс.

var inputAsset = context.Assets.Create(assetName, storageName, AssetCreationOptions.None);

После этого надо добавить в asset исходный видеофайл:

var assetFile = inputAsset.AssetFiles.Create(fileName);

Далее нужно преобразовать его для адаптивного стриминга:

var job = context.Jobs.CreateWithSingleTask("Media Encoder Standard", "Adaptive Streaming", inputAsset, "Adaptive Bitrate MP4", AssetCreationOptions.None); job.Submit(); job = job.StartExecutionProgressTask( j => < Console.WriteLine("Job state: ", j.State); Console.WriteLine("Job progress: %", j.GetOverallProgress()); >, CancellationToken.None).Result; Console.WriteLine("Transcoding job finished."); var outputAsset = job.OutputMediaAssets[0];

После того, как видео готово, публикуем его с помощью Locator’а:

context.Locators.Create(LocatorType.OnDemandOrigin, outputAsset, AccessPermissions.Read, TimeSpan.FromDays(365));

Теперь мы можем проигрывать наше видео.

var videoUri = outputAsset.GetMpegDashUri();

Фильтры

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

Есть 2 типа фильтров:

  • Локальные. Такие фильтры могут быть применены только к тому видео, для которого они были созданы. Соответственно, на каждое видео нужно создавать отдельный фильтр.
  • Глобальные. Такие фильтры могут быть применены к любым видео данного аккаунта. Они особенно актуальны, когда требуется поддержать стриминг видео в различных форматах для различных устройств.
var filterName = $"seconds"; outputAsset.AssetFilters.Create(filterName, new PresentationTimeRange(start: 0, end: Convert.ToUInt64(10000000 * length)), new List());

Для применения созданных фильтров нужно модифицировать url для стриминга следующим образом.

Масштабирование

Как и любой облачный сервис, AMS значительно упрощает процесс масштабирования.
Если говорить о препроцессинге видео, AMS предоставляет следующие варианты:

  1. Вертикальное масштабирование, в данном случае увеличение скорости обработки видео. Есть 3 тарифа с производительностью x1, x2 и x4 соответственно. Поэтому, если время подготовки видео не является критичным, можно выбрать минимальный тариф. Если необходимо свести время процессинга к минимуму, есть смысл использовать х4.
  2. Горизонтальное масштабирование, т.е. возможность одновременной обработки нескольких видео. Это легко достигается заданием требуемого количества Media processing units.

Скорость

Для примера возьмём видео качества 720p, длиной 30 секунд, 1 минуту и 5 минут, и сравним время предобработки. Результаты получились следующими:

Тариф 30 сек (4,4 Мб) 1 минута (8,1 Мб) 5 минут (44,9 Мб)
x1 1:32 (49 Кб/с) 2:14 (62 Кб/с) 8:38 (89 Кб/с)
x2 1:07 (68 Кб/с) 1:31 (91 Кб/с) 5:07 (150 Кб/с)
x4 0:33 (137 Кб/с) 0:45 (185 Кб/с) 1:49 (422 Кб/с)

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

Подводные камни

Azure Media Services, как и любая технология, накладывает свои ограничения.

Первая сложность, с которой мы столкнулись, эта задержка между моментом загрузки видео и моментом, когда оно будет готово для стриминга. Идеальный вариант — иметь возможность стриминга сразу после загрузки. В принципе, AMS даёт возможность получить ссылку на необработанное видео. Но подготовка asset-файлов всё равно оказывалось дольше, чем простая загрузка видео в Azure Storage в обход AMS. В связи с этим мы решили сначала загружать исходное видео в Azure Storage в обход AMS и на период предобработки отдавать его напрямую.

Следующая сложность была связана с изменением пропорции видео. В нашем случае AMS некорректно обрабатывал нестандартные пропорции (1:1). Несмотря на то, что само видео становилось квадратным, метаданные показывали другое соотношение, а thumbnail-изображение искажалось. В связи с этим данную задачу пришлось реализовать средствами ffmpeg.

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

В остальном же Azure Media Services отлично справляется со своей задачей, предоставляя готовое решение для стриминга видео множеству клиентов.

Об авторе

Команда WaveAccess создаёт технически сложное высоконагруженное отказоустойчивое ПО для компаний всего мира. Александр Азаров, старший вице-президент по разработке ПО в WaveAccess, комментирует:

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

Введение в облачные вычисления

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.

ИНТУИТ

По наличию 10552 шт.

Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!
Отметьте основные преимущества Blade-систем

уникальная физическая конструкция
низкая стоимость
лучшие возможности управления и гибкость
масштабируемость

Назовите основные платформы виртуализации

Microsoft Hyper-V
Windows Azure
VMWare ESX
Xen

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

логическая консолидация
гомогенная консолидация
гетерогенная консолидация
физическая консолидация

Назовите основные преимущества Сетей хранения данных

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

Сколько поколений компьютеров описывает история.

Каковы максимально возможные скорости передачи данных Fiber Channel?

1-2 Гбит/сек
2-4 Гбит/сек
4-8 Гбит/сек
8-16 Гбит/сек

Назовите основные преимущества Систем хранения данных.

низкая стоимость
высокая надёжность
высокая доступность
высокая производительность

Назовите основные преимущества виртуализации

эффективное использование вычислительных ресурсов
сокращение расходов на инфраструктуру
снижение затрат на программное обеспечение
повышение управляемости инфраструктуры

Укажите основные разновидности виртуализации

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

Укажите топологии сетей хранения данных

однокоммутаторная структура
каскадная структура
структура Звезда
структура Решетка
структура Кольцо

Отразите суть термина консолидация

объединение
масштабирование
резервирование
отказоустойчивость

Какие виды облаков существуют?

частное облако
гибридное облако
общее облако
публичное облако

Назовите три основных компоненты IaaS

аппаратные средства
операционные системы и системное ПО
связующее ПО
клиентское окружение

Назовите основные преимущества облачных вычислений

отказоустойчивость
простота
масштабируемость
высокие накладные расходы

Отметьте основные преимущества SaaS для клиентов

рациональное управление
автоматизированное обновление и исправление
управление инфраструктурой
целостность данных в рамках предприятия
совместная работа сотрудников предприятия
глобальная доступность

Основные назначения CaaS

система связи, обеспечивающая передачу речевого сигнала по сети Интернет или по любым другим IP-сетям (VoIP)
совместная работа над документами
обмен мгновенными сообщениями (IM)
видеоконференц-связь.

Что не является реализацией IaaS?

Google Docs
Windows Azure
Office Web Apps
Amazon S3

Что скрывается под аббревиатурой SaaS?

инфраструктура как Сервис
платформа как сервис
программное обеспечение как сервис
коммуникация как Сервис

Что не является веб службами в облаке?

инфраструктура как Сервис
платформа как сервис
коммуникация как сервис
компьютер как Сервис

Назовите основные препятствия развитию облачных технологий в России

недостаточное доверие потребителей облачных услуг
недостаточная пропускная способность каналов связи на всей территории России
гарантии безопасности данных
стоимость предоставляемых услуг

Основные достоинства PaaS

масштабируемость
отказоустойчивость
виртуализация
безопасность

Что предоставляют поставщики услуг Iaas?

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

Сколько архитектурных уровней содержит модель SaaS согласно Microsoft?

Что понимается под Грид вычислениями?

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

Что не является реализацией SaaS?

Google Docs
Office Web Apps
Windows Azure
Amazon S3

Основные достоинства PaaS

масштабируемость
отказоустойчивость
виртуализация
безопасность

Что скрывается под аббревиатурой PaaS?

инфраструктура как Сервис
платформа как сервис
программное обеспечение как сервис
коммуникация как Сервис

Укажите время ожидания видимости сообщения (VisibilityTimeout) в Windows Azure Queue?

1 минута
30 минут
1 час
2 часа

Назовите компоненты Windows Azure Storage

Windows Azure Blob
Windows Azure Table
Windows Azure Queue
Windows Azure Block

Что выполняет.NET Access Control Service?

идентификацию на основании утверждений
ограничение доступа SQL Azure
централизованное управление аутентификацией и авторизацией пользователей

Как называется интерфейс программирования приложений, необходимый для разработки, развертывания и управления масштабируемых сервисов в Windows Azure?

Windows Azure SDK
Windows Azure ConfigSet
Windows Azure Toolkit
Azure Framework

Какие виды облаков существуют?

частное облако
гибридное облако
общее облако
публичное облако

Отметьте базовые операции для таблиц и сущностей Windows Azure Table

создание таблицы или сущности
извлечение таблицы или сущности с применением фильтров
обновление сущности
удаление таблицы или сущности
обновление таблицы

Какие операции позволяет выполнять протокол AtomPub?

Create
Insert
Retrieve
Update
Select
Delete

Какие элементы являются частью модели данных Windows Azure Queue?

учетная запись хранилища
очередь
сообщения
blob

Что такое Windows Azure Queue?

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

Каков максимальный размер Windows Azure Blob?

1 Гб
5 Гб
10 Гб
50 Гб

Задачей .NET Workflow Services является:

управление рабочими процессами
аутентификация пользователей
разграничение доступа
обмен данными Windows Azure и SQL Azure

Какие действия можно выполнять при создании рабочего процесса в .NET Workflow Service?

Использование модели идентификации на базе утверждений позволяет приложению не использовать следующие аспекты:

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

Какие операции с blob можно выполнять через HTTP/REST?

Put
Get
Delete
Read

За что отвечает инструмент геолокации Azure?

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

Что такое Windows Azure Blob?

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

Основные преимущества использования Windows Azure

снижение затрат и усилий на ИТ управление
снижение стоимости и рисков построения и распространения местных ресурсов
построение, изменение и распределение приложений в Сети с минимальными локальными ресурсами
независимость от поставщика услуг cloud

Для чего используется Microsoft SkyDrive

хранение файлов пользователей
обмен сообщениями
создание фотогалерей
публикация новостей

Что необходимо для входа в SkyDrive

Live ID
Sky ID
Open ID
специальный логин\пароль системы SkyDrive

Как приложение Google App Engine может взаимодействовать с другими компьютерами в Интернет

через предоставленные API
через службу получения данных по URL
используя выбранный пользователем список адресов и портов
через службу электронной почты

Что такое Microsoft Live Workspace

создание фотогалерей
публикация новостей
доступ к документам с любого компьютера
редактирование документов, средсвами Live Workspace

Какие технологии поддерживает Google App Engine

Java
JavaScript
Ruby
Python

Выберите веб браузер, имеющий полную функциональсть в Live Workspace

Google Chrome
Mozilla Firefox 3
Internet Explorer
Opera 10

Для чего используется Google App Engine

создание фотогалерей
публикация и выполнение приложений пользователей
поиск Google
хранение документов пользователей

Каковы ограничения бесплатного аккаунта Google App Engine

100 Мб хранилища данных и 1 млн. просмотров страниц в месяц
500 Мб хранилища данных и 5 млн. просмотров страниц в месяц
1 Гб хранилища данных и 5 млн. просмотров страниц в месяц
2 Гб хранилища данных и 1 млн. просмотров страниц в месяц

Какой объем свободного пространства выделяется в Google Apps бесплатно

1 гигабайт
2 гигабайт
4 гигабайт
8 гигабайт

Что скрывается под аббревиатурой SaaS?

инфраструктура как Сервис
коммуникация как Сервис
платформа как сервис
приложение как сервис

Какую последовательность действий нужно выполнить, чтобы создать документ Word в Microsoft Live Workspace

Создать | Документ Word
File | New | Документ Word
нужно предварительно загрузить документ
набор документов заранее предопределен

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

работа с документами
почта
календарь

Вы можете обратится к нам напрямую, через:

По Skype: molodoyberkut
По Telegram: @MolodoyBerkut
По ICQ: 657089516

Или через форму обратной связи на нашем сайте

Пока сочиняется.

Сертификат

  • Сертификат
  • Сертификат
  • Удостоверение

Получите наши последние новости и специальные предложения

Служба определения местоположения Windows и конфиденциальность

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

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

Принцип работы параметров определения местоположения

Службы определения местоположения — это параметр на уровне устройства, которым может управлять администратор устройства. Если этот параметр включен, он позволяет правильно работать определенным функциям Windows, таким как автоматическое задание часового пояса или поиск устройства. Если этот параметр расположения включен, служба определения местоположения Майкрософт будет использовать сочетание службы глобального позиционирования (GPS), близлежащих беспроводных точек доступа, вышек сотовой связи и вашего IP-адреса (или расположения по умолчанию) для определения местоположения устройства. В зависимости от возможностей вашего устройства его местоположение определяется с разной степенью точности и в некоторых случаях может быть определено абсолютно точно.

Если вы включили службы определения местоположения, ваше устройство отправляет в корпорацию Майкрософт информацию о местоположении (включая сведения о точках беспроводного доступа, информацию о башне сотовой связи и точное местоположение GPS, если доступно) корпорации Майкрософт после удаления любых данных, идентифицирующие человека или устройство, перед выходом из устройства. Эта неидентифицируемая копия сведений о местоположении используется для улучшения служб определения местоположения Майкрософт и в некоторых случаях предоставляется нашим партнерам по службе определения местоположения( в настоящее время HERE и Skyhook) для улучшения служб определения местоположения поставщика.

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

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

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

Классические приложения — это особый тип приложений, которые не запрашивают отдельное разрешение на использование сведений о местоположении устройства и не отображаются в списке для выбора приложений, которым разрешается использовать данные о вашем местоположении. Что представляют собой классические приложения? Обычно они скачиваются из Интернета или устанавливаются с какого-либо носителя (например, компакт-диска, DVD-диска или запоминающего USB-устройства). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке).

Даже если вы отключили службы определения местоположения в Windows, некоторые приложения и службы могут использовать другие технологии (например, Bluetooth, Wi-Fi, сотовый модем и т. д.) для определения местоположения устройства с различной степенью точности. Корпорация Майкрософт требует от сторонних разработчиков программного обеспечения, разрабатывающих приложения для Microsoft Store или разрабатывающих приложения с помощью инструментов Майкрософт, использовать параметры определения местоположения Windows, если только вы не предоставили стороннему разработчику требуемого по закону согласия на определение вашего местоположения. Чтобы еще больше снизить риск определения вашего местоположения приложением или службой при выключенном параметре определения местоположения устройства с Windows, следует устанавливать приложения и службы только из надежных источников. Чтобы обеспечить более полную защиту данных о вашем местоположении, можно отключить радиокомпоненты вашего устройства, например Wi-Fi, Bluetooth, модем сотовой связи и GPS-компоненты, которые могут использоваться приложениями для определения вашего точного местоположения. Однако эти действия также влияют на работу других функций, таких как звонки (в том числе экстренные вызовы), отправку сообщений, подключение к Интернету и связь с периферийными устройствами, например наушниками. Ознакомьтесь с политиками конфиденциальности установленных вами приложений и служб, чтобы получить дополнительные сведения о том, как они используют местоположение вашего устройства.

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

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

«Служба определения местоположения»

  1. Перейдите в раздел Параметрыначального >>Конфиденциальность & безопасность >расположение.
  2. Выполните одно из следующих действий.
    • Если вы являетесь администратором устройства, вы можете использовать параметр Службы определения местоположения, чтобы определить, можно ли использовать службу определения местоположения на этом устройстве. Если вы не являетесь администратором на этом устройстве, вы не увидите этот параметр.
    • Чтобы управлять расположением только для учетной записи пользователя, установите переключатель Разрешить приложениям доступ к вашему расположениювключено или выкл. Если на странице параметров отображается сообщение «Службы определения местоположения отключены», вы не сможете включить параметр Разрешить приложениям доступ к вашему расположению для отдельной учетной записи пользователя.

«Журнал сведений о местоположении»

Некоторые приложения и службы для Windows, которые используют сведения о местоположении, также используют журнал сведений о местоположении. Если параметр расположения включен, расположения, просматриваемые приложениями или службами, будут храниться на устройстве в течение ограниченного времени (24 часа), а затем удаляться. Приложения, имеющие доступ к этой информации, имеют метку Используется журнал сведений о расположении на странице параметров расположения.

Чтобы очистить журнал расположения, перезагрузите устройство или перейдите в раздел Пуск > Параметры > Конфиденциальность & безопасность > Расположение и в разделе Журнал расположений нажмите кнопку Очистить. При очистке журнала сведений о расположении очищается только журнал на устройстве. Приложения, которые ранее получили доступ к этим сведениям, могли сохранить их в другом месте. Дополнительные сведения см. в политиках конфиденциальности приложений.

Чтобы очистить журнал расположения, хранящийся в облаке и связанный с вашей учетной записью Майкрософт, перейдите по адресу account.microsoft.com и убедитесь, что вы вошли в свою учетную запись. Выберите Очистить действия расположения, а затем —Очистить.

Стандартное расположение

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

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

  1. Перейдите в раздел Пуск >Параметры >Конфиденциальность & безопасность >расположение.
  2. В разделе Расположение по умолчанию выберите Задать по умолчанию.
  3. Откроется приложение «Карты Windows». Следуйте инструкциям, чтобы задать или изменить расположение по умолчанию.

Разрешить переопределение расположения

Вместо использования GPS или сигналов Wi-Fi устройства для определения местоположения можно разрешить переопределение местоположения, что позволит приложениям использовать расположение удаленного устройства. Например, при использовании удаленного рабочего стола можно найти локальные принтеры вокруг клиентского устройства, а не рядом с сервером, на котором размещена виртуальная машина, к которому вы подключились.

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

Разрешение приложениям на этом устройстве использовать расположение другого устройства

На устройстве, выполняющего подключение:

  1. Перейдите в раздел Пуск >Параметры >Конфиденциальность & безопасность >расположение.
  2. Убедитесь, что параметр Службы расположениявключен.
  3. Убедитесь, что приложению, используемому для удаленных подключений, предоставлен доступ к вашему расположению.

На устройстве, к которому подключено:

  1. Перейдите в раздел Пуск >Параметры >Конфиденциальность & безопасность >расположение.
  2. Убедитесь, что параметр Службы расположениявключен.
  3. Включите параметр Разрешить переопределение расположения.

Расположение веб-сайтов в Microsoft Edge

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

Как мы выполняем построение базы данных служб определения расположения

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

Чтобы запретить корпорации Майкрософт использовать MAC-адреса ваших Wi-Fi точек доступа в базе данных служб определения местоположения, перейдите в раздел Отказ от служб определения местоположения.

Как мы вас информируем — значок местоположения

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

Вы также можете узнать, какие приложения в настоящее время используют ваше точное расположение или недавно получили доступ к вашему точному расположению на устройстве с Windows, перейдя в раздел Пуск > Параметры > конфиденциальность & безопасность > расположение , а в разделе Разрешить приложениям доступ к вашему расположению вы увидите дату и время последнего использования расположения.

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

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

Принцип работы параметров определения местоположения

Параметр определения местоположения устройства позволяет правильно настроить работу некоторых функций Windows, например автоматическое определение часового пояса или функцию «Поиск устройства». Когда параметр определения местоположения устройства включен, служба определения местоположения Майкрософт использует данные службы глобального позиционирования (GPS), ближайших беспроводных точек доступа, вышек сотовой связи и IP-адрес для определения местоположения вашего устройства. В зависимости от возможностей вашего устройства его местоположение определяется с разной степенью точности и в некоторых случаях может быть определено абсолютно точно.

Если вы включили параметр расположения устройства, после удаления любых данных, определяющих личность пользователя или устройства, устройство отправляет в корпорацию Майкрософт информацию о неидентифицированном расположении (включая сведения о точке беспроводного доступа, информацию о сотовой башне и точное местоположение GPS, если они доступны) в корпорацию Майкрософт после удаления любых данных, идентифицирующие человека или устройство, перед выходом из устройства. Эта неидентифицируемая копия сведений о местоположении используется для улучшения служб определения местоположения Майкрософт и в некоторых случаях предоставляется нашим партнерам по службе определения местоположения( в настоящее время HEREи Skyhook) для улучшения служб определения местоположения поставщика.

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

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

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

Классические приложения — это особый тип приложений, которые не запрашивают отдельное разрешение на использование сведений о местоположении устройства и не отображаются в списке для выбора приложений, которым разрешается использовать данные о вашем местоположении. Что представляют собой классические приложения? Обычно они скачиваются из Интернета или устанавливаются с какого-либо носителя (например, компакт-диска, DVD-диска или запоминающего USB-устройства). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке).

Даже если вы выключили параметр определения местоположения устройства, некоторые сторонние приложения и службы могут использовать другие технологии (такие как Bluetooth, Wi-Fi, модем сотовой связи и т. д.) для определения местоположения вашего устройства с различной степенью точности. Корпорация Майкрософт требует от сторонних разработчиков программного обеспечения, разрабатывающих приложения для Microsoft Store или разрабатывающих приложения с помощью инструментов Майкрософт, использовать параметры определения местоположения Windows, если только вы не предоставили стороннему разработчику требуемого по закону согласия на определение вашего местоположения. Чтобы еще больше снизить риск определения вашего местоположения приложением или службой при выключенном параметре определения местоположения устройства с Windows, следует устанавливать приложения и службы только из надежных источников. Чтобы обеспечить более полную защиту данных о вашем местоположении, можно отключить радиокомпоненты вашего устройства, например Wi-Fi, Bluetooth, модем сотовой связи и GPS-компоненты, которые могут использоваться приложениями для определения вашего точного местоположения. Однако эти действия также влияют на работу других функций, таких как звонки (в том числе экстренные вызовы), отправку сообщений, подключение к Интернету и связь с периферийными устройствами, например наушниками. Ознакомьтесь с политиками конфиденциальности установленных вами приложений и служб, чтобы получить дополнительные сведения о том, как они используют местоположение вашего устройства.

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

«Журнал сведений о местоположении»

Некоторые приложения и службы для Windows, которые используют сведения о местоположении, также используют журнал сведений о местоположении. Когда определение местоположения включено, все ответы на запросы сведений о местоположении, полученные приложениями и службами, хранятся на устройстве в течение ограниченного времени (24 часа в Windows 10), а затем удаляются. Приложения, имеющие доступ к этой информации, имеют метку Используется журнал сведений о расположении на странице параметров расположения.

Стандартное расположение

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

Создание геозон

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

Кортана

Кортана работает лучше всего, когда у нее есть доступ к местоположению устройства и журналу сведений о местоположении, которые Кортана использует, чтобы помочь вам, сообщая о ситуации на дорогах перед тем, как вы отправитесь в путь, или отправляя вам напоминания в зависимости от местоположения, например: «Вы находитесь рядом с продуктовым магазином, где хотели купить молоко». Кортана периодически собирает сведения о вашем местоположении, даже если вы не взаимодействуете с ней, например при подключении к сети Wi-Fi или отключении Bluetooth. Если Кортана включена, приложение «Поиск» также имеет доступ к сведениям о местоположении устройства и автоматически отправляет их в Bing, когда Кортана предлагает поисковые запросы и результаты поиска из Интернета, как описано в заявлении о конфиденциальности. Чтобы запретить Кортане доступ к сведениям о местоположении устройства, выполните следующие действия.

  1. Перейдите в раздел Пуск >Параметры >Кортаны.
  2. Выберите Разрешения или Разрешения и журнал.
  3. Выберите Управление информацией, к которой Кортана может получать доступ с этого устройства.
  4. Задайте параметру Местоположение значение Выкл.

Microsoft Edge

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

Существует две версии Microsoft Edge, которые можно установить на Windows 10. Новый браузер Microsoft Edge можно скачать, и он считается классическим приложением. Чтобы включить расположение для нового Microsoft Edge, выполните следующие действия.

  1. Перейдите в раздел Начальная >Параметры >Расположение>конфиденциальности .
  2. Включите параметр Разрешить доступ к местоположению на этом устройстве.
  3. Включите параметр Разрешить приложениям доступ к вашему местоположению.
  4. Включите параметр Разрешить классическим приложениям доступ к вашему местоположению (при наличии).

Устаревшая версия Microsoft Edge — это браузер на основе HTML, выпущенный с Windows 10 в июле 2015 г. Чтобы включить расположение для устаревшей версии Microsoft Edge, выполните следующие действия:

  1. Перейдите в раздел Начальная >Параметры >Расположение>конфиденциальности .
  2. Включите параметр Разрешить доступ к местоположению на этом устройстве.
  3. Включите параметр Разрешить приложениям доступ к вашему местоположению.
  4. В разделе Выберите приложения, которые могут получать доступ к вашему точному местоположению переместите переключатель Microsoft Edge в положение Вкл.

Как мы выполняем построение базы данных служб определения расположения

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

Чтобы запретить корпорации Майкрософт использовать MAC-адреса ваших Wi-Fi точек доступа в базе данных служб определения местоположения, перейдите в раздел Отказ от служб определения местоположения.

Как мы вас информируем — значок местоположения

Если одно или несколько приложений в данный момент используют ваше местоположение через службу определения местоположения Windows, вы увидите значок местоположения в области уведомлений на панели задач (на компьютерах с Windows 10) или в строке состояния в верхней части экрана (на мобильных устройствах с Windows 10 Mobile). Значок не отображается при использовании геозон.

Отображение и скрытие значка расположения.

На компьютере с Windows 10:

  1. Перейдите в раздел Пуск >Параметры >Персонализация >панели задач.
  2. В разделе Область уведомлений щелкните Выберите значки, которые должны быть на панели задач.
  3. Выберите для параметра Уведомление о расположении значение Вкл. или Выкл.

В Windows 10 Mobile:

  1. Перейдите в раздел Параметры .
  2. Выберите пункты Конфиденциальность >Расположение.
  3. Включите или отключите параметр Показать значок местоположения.

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

Управления параметрами определения местоположения

Вы можете указать, могут ли компоненты Windows получать доступ к сведениям о расположении вашего устройства, и выбрать, какие приложения для Windows могут использовать сведения о расположении устройства и журнал сведений о расположении. Чтобы проверка параметры расположения, перейдите в раздел Начальная > Параметры > Конфиденциальность > Расположение.

Чтобы очистить журнал местоположений, перезагрузите устройство или перейдите в раздел Пуск > Параметры > Конфиденциальность > расположение, а затем в разделе Журнал расположений нажмите кнопку Очистить. При очистке журнала сведений о расположении очищается только журнал на устройстве. Приложения, которые ранее получили доступ к этим сведениям, могли сохранить их в другом месте. См. политики конфиденциальности ваших приложений для получения дополнительных сведений.

Чтобы очистить журнал местоположений, хранящийся в облаке и связанный с вашей учетной записью Майкрософт, перейдите по адресу account.microsoft.com и убедитесь, что вы вошли в свою учетную запись. Выберите Очистить действия расположения, а затем —Очистить.

Включение и отключение параметров определения расположения Windows

На компьютере проверьте следующее.

  1. Перейдите в раздел Начальная >Параметры >Расположение >конфиденциальности .
  2. Выполните одно из следующих действий.
    • Для управления расположением всего устройства, если вы являетесь его администратором, выберите Изменить, а затем в окне сообщения Определение местоположения для этого устройства установите переключатель в положение Вкл. или Выкл.
    • Для управления местоположением только для вашей учетной записи пользователя выберите для параметра Разрешить приложениям доступ к вашему местоположению значение Вкл. или Выкл. Если сообщениеОпределение местоположения для этого устройства выключено отображается на странице «Параметры», вы не сможете включить параметр Разрешить приложениям доступ к вашему местоположению для отдельной учетной записи пользователя. (Обратите внимание, что в предыдущих версиях Windows, этот параметр назывался Служба определения местоположения.)

На компьютерах с Windows 10 вы можете добавить или удалить плитку «Расположение» из области уведомлений в правой части панели задач. Для этого выполните следующие действия.

  1. Перейдите в раздел Параметрызапуска >>уведомлениясистемы > & действия.
  2. В разделе Быстрые действия выберите Редактировать быстрые действия.
  3. Добавление, удаление или перемещение плитки «Расположение».

На мобильном устройстве:

  1. Перейдите в раздел Параметры >Конфиденциальность >расположение.
  2. Включите или отключите параметр Расположение.

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

  1. Перейдите в раздел Начальная >Параметры >Расположение >конфиденциальности .
  2. Включите или отключите каждое приложение в разделе Выберите приложения, которые могут получать доступ к вашему точному местоположению. На устройстве каждый пользователь может выполнить это действие для собственной учетной записи. Если параметр Разрешить приложениям доступ к вашему местоположению для вашей учетной записи пользователя отключен, переключатели для приложений будут неактивны до тех пор, пока параметру Разрешить приложениям доступ к вашему местоположению не будет задано значение Вкл.

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

  1. Перейдите в раздел Начальная >Параметры >Расположение >конфиденциальности .
  2. В разделе Расположение по умолчанию выберите Задать по умолчанию.
  3. Откроется приложение «Карты Windows». Следуйте инструкциям для изменения расположения по умолчанию.

Обзор облачных сервисов для разработки бэкенда мобильных приложений

Разработка бэкенда — сложный и затратный процесс. При разработке мобильных приложений ему зачастую уделяется неоправданно больше внимания. Неоправданно, потому что каждый раз приходится реализовывать типичные для мобильных приложений сценарии: отправить push-уведомление, узнать сколько пользователей заинтересовались акцией и оформили заказ и т.п. Хочется решение, которое позволит сфокусироваться на важных для приложения вещах без потери качества и деталей в реализации второстепенных. И такие решения есть!

Подобные сервисы называются Mobile Backend-as-a-Service (MBaaS). Процессы создания бэкенда с их помощью упрощены, по сравнению с разработкой «вручную». Это экономия на найме отдельного backend-разработчика. А тот факт, что провайдер MBaaS берет на себя все вопросы, связанные со стабильностью серверов, балансировкой нагрузки, масштабируемостью и прочими инфраструктурами сложностями, придает уверенности в качестве полученного результата и является основным преимуществом таких сервисов.

В этой статье рассмотрим несколько крупных и зарекомендовавших себя сервисов: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.

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

Microsoft Azure

Microsoft Azure — Infrastructure-As-A-Service (IaaS) сервис, который содержит в себе полноценную BaaS функциональность и помогает при создании бэкенда для мобильных приложений.

MBaaS

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

Важная особенность Azure — географическое положение серверов. Они расположены в 54 регионах мира, что повышает вероятность подобрать для себя подходящий по задержке сервер. Поскольку в случае неполадок чаще всего страдают только отдельные регионы, можно предположить, что чем больше регионов, тем меньше вероятность попасть на тот самый «нестабильный». Как утверждают Microsoft, у них больше регионов, чем у любого другого поставщика облачных решений. Это, несомненно, плюс.

Аналитика

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

Также в Azure можно использовать их собственную библиотеку для сбора аналитики в приложениях: собирать основные метрики (информация об устройстве, о сессии, об активности пользователей и многое другое) и создавать собственные события для отслеживания. Все собранные данные сразу экспортируются в Azure, позволяя проводить с ними аналитическую работу в удобном формате

Дополнительная функциональность

Также существуют интересные функции типа тестирования сборок приложений на реальных устройствах, настройки CI/CD для автоматизации процесса разработки и инструментарий для отправки сборок приложений на бета-тестирование или сразу в App Store или Google Play

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

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

Сложность интеграции

Сервис Microsoft Azure предоставляет SDK для основных мобильных платформ (iOS и Android) и, что бывает не часто, для кроссплатформенных решений (Xamarin и PhoneGap).

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

Важно понимать, что высокий порог вхождения — не частный случай с Azure, а общая проблема для IaaS. Например, Amazon Web Services, который будет рассмотрен далее, также подвержен данному недугу еще больше.

Надежность

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

Это подтверждает и список последних происшествий на серверах Azure — большинство из них являются кратковременными предупреждениями, а последний раз, когда сервера «лежали» был в начале мая. Статистика подтверждает картину стабильного сервиса.

Стоимость

В ценовой политике Microsoft Azure разные тарифы оплаты сервиса, есть и бесплатный план с определенными лимитами, которых хватит для тестирования. Важно помнить, что Azure — IaaS сервис, большинство которых из-за своей специфики и сложности подсчета отработанных ресурсов, страдают от сложности прогнозирования стоимости работы. Многие сталкиваются с трудностями и часто даже невозможностью правильно посчитать используемые мощности. Реальный счет может значительно отличаться от того, на который рассчитывали.

Также у Azure, помимо этих планов, есть отдельные платные услуги: App Service Domain, Azure App Service Certificates и SSL Connections. Все они относятся к администрированию вашей инфраструктуры, их касаться не будем.
Во многих отзывах пользователи жалуются на сложную ценовую политику и невозможность прогнозирования стоимости услуг сервиса. Предложенный Microsoft калькулятор называют бесполезным, а сам сервис крайне дорогим.

Итог по Azure

Сервис Azure от Microsoft — функциональный и стабильный инструмент для использования в качестве основного MBaaS провайдера. То, что сервис изначально предоставляет полноценную инфраструктуру, открывает множество возможностей для дальнейшего развития вашего бэкенда вне рамок мобильных приложений. Большое количество серверов и обширное количество регионов, где они расположены, помогает подобрать подходящие вам по задержке. Позитивные отзывы пользователей это подтверждают. Из негативных моментов — высокий порог вхождения и сложности с прогнозированием стоимости работы сервиса.

Подходит? По этим ссылкам можно детальнее познакомиться с Microsoft Azure, изучить все подробности и начать его использовать:

  • Microsoft Azure Mobile Services
  • Документация по мобильным приложениям
  • Ценовая политика
  • Бесплатная учетная запись

AWS Amplify

Amazon Web Services (AWS) — второй IaaS, который попал в нашу подборку. Он представляет огромное количество сервисов и интересен тем, что у него по аналогии с Microsoft Azure существует выделенный набор функциональности под названием AWS Amplify, который по сути и является мобильным бэкэндом. Ранее вы могли слышать название AWS Mobile Hub, который долгое время являлся основным сервисом, предоставляющим MBaaS функциональность. Как пишут сами Amazon, Amplify это доработанный и усовершенствованный Mobile Hub, в котором решены основные проблемы предшественника.

Если верить Amazon, то сервису Amplify доверяет множество крупных компаний, среди которых Netflix, Airbnb и многие другие.

MBaaS

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

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

Аналитика

За аналитику отвечает отдельный сервис Amazon Pinpoint, в котором можно сегментировать аудиторию и проводить масштабные таргетинговые кампании через разные каналы (push уведомления, смс и электронная почта) по привлечению пользователей в сервис.

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

Дополнительная функциональность

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

Сервис AWS Amplify Console является инструментом для деплоя и хостинга как серверных ресурсов, так и веб приложений с возможностью настройки CI/CD для автоматизации процесса разработки.

Также необычно выглядит возможность внедрения в мобильные приложения «из коробки» голосовых и текстовых ботов в качестве интерфейса для взаимодействия с пользователем. Работает это на сервисе Amazon Lex.

Интересно, что AWS Amplify предоставляет также и небольшую библиотеку готовых UI компонентов для вашего React Native приложения, что может послужить незначительным ускорением процесса разработки, либо использоваться в прототипе или MVP вашего проекта.

Сложность интеграции

Сервис Amazon Amplify предоставляет SDK для iOS, Android, JavaScript и React Native и достаточно подробную документацию. Важно отметить что помимо REST, сервис поддерживает еще и GraphQL.

Как говорилось в процессе анализа Azure, высокий порог вхождения —общая проблема для всех IaaS. Amazon не исключение, а даже наоборот. Это, наверное, один из самых сложных сервисов для понимания. Это происходит из-за большого количества различных инструментов, которыми располагает AWS. Освоение AWS с нуля займет значительное время. Но если ограничиться только Amplify — можно реализовать рабочее решение в адекватные сроки.

Надежность

Сервис от Amazon по статистике выглядит менее стабильным, чем Azure. Но радует малое количество полноценных отключений (красных клеток). В основном все, что происходит — это предупреждения и нестабильность в работе некоторых сервисов.

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

Стоимость

Ценовая политика Amazon Web Services с первого взгляда весьма проста — платите только за то, чем пользуетесь, сверх бесплатного лимита. Но как и в случае с Microsoft Azure, чем больше сервисов вы используете, тем сложнее прогнозировать итоговую стоимость работы.

В интернете множество отзывов, которые называют AWS слишком дорогим. Чего уж говорить, если давно появились компании, которые за отдельную сумму готовы оптимизировать ваше использование AWS, насколько это возможно минимизируя ежемесячные счета.

Итог по Amazon Amplify

В целом история с Amazon Amplify похожа на Azure. Во многом аналогичный функционал для MBaaS, предоставление полноценной инфраструктуры и возможность развития своего бэкенда. Позитивно выделяются маркетинговые инструменты Amazon, в частности, Pinpoint.

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

Подходит? По этим ссылкам можно детальнее познакомиться с Amazon Amplify, изучить все подробности и начать его использовать:

  • Сервис Amazon Amplify
  • Вводная статья про Amplify и переход с Mobile Hub
  • AWS Amplify Framework
  • AWS Amplify Console
  • AWS Device Farm
  • Документация
  • Ценовая политика

Google Firebase

Сервис Firebase от Google является одним из самых интересных вариантов в качестве MBaaS сервиса для вашего приложения. Он давно зарекомендовал себя в качестве полезного инструмента и является таковым для многих известных приложений: Shazam, Duolingo, Lyft и других.

MBaaS

Firebase берет на себя все, что понадобится вашему мобильному приложению. Сервис совмещает в себе полноценные бэкенд-фичи, такие как хранение данных, синхронизация, аутентификация, облачные функции (выполнение бэкенд кода), и, в данный момент, в бете находится Machine Learning Kit, при помощи которого реализуется в приложении различная функциональность на основе машинного обучения (распознавание текста, объектов на фотографиях и много другое).

Аналитика

Важная особенность Firebase в том, что помимо бэкенд функциональности, сервис предлагает и широкий спектр возможностей для аналитики приложения. Встроенная Google Analytics, сегментирование пользовательской базы и работа с push-уведомлениями. Также в 2017 году Google отметился крутым приобретением, купив широко распространенный сервис Fabric и интегрировав его в Firebase наряду с Crashlytics, крайне полезным инструментом для отслеживания ошибок в приложении и сбора статистики и отчетов о падениях, произошедших на устройствах пользователей.

Дополнительная функциональность

Firebase предоставляет инструмент Firebase Dynamic Links для обработки динамических ссылок на ваш контент, при помощи этого инструмента можно генерировать ссылки, которые ведут в приложение, если оно установлено, если нет — отправляют пользователя в App Store или Google Play для установки. Также подобные ссылки работают в зависимости от устройства, на котором они открываются, если это компьютер, то будет открыта страница в браузере, а если устройство — произойдет переход в приложение.

Также Google позволяет проводить A/B тестирование ваших приложений при помощи Firebase A/B Testing и настраивать удаленную конфигурацию с инструментом Remote Config.

Сложность интеграции

Становится понятно, что этот сервис совмещает в себе крайне большое количество возможностей для вашего приложения. Для интеграции Firebase стоит использовать SDK необходимой платформы, среди которых iOS, Android, JavaScript, а также для C++ и Unity, что будет очень кстати, если вы разрабатываете игры. Важно отметить, что у Firebase достаточно подробная документация и широкая база пользователей-разработчиков, и как следствие, большое количество вспомогательного контента в сети, будь то ответы на вопросы или обзорные статьи.

Надежность

Стоит ли полагаться на Google — вопрос отдельной статьи. С одной стороны, у вас есть высокостабильный и работающий провайдер, а с другой, никогда не знаешь, когда «Гугл закроет и этот сервис». Не зря Гугл убрали у себя из миссии «Dont be evil».

Когда провайдер обладает такими ресурсами, казалось бы, аптайм должен стремиться к 100%, но все равно можно найти множество сообщений о проблемах с сервисом, например, цитата одного из пользователей: «Downtime happens. In the case of Firebase, you might say that «uptime» happens». И действительно, если посмотреть на статистику по событиям с сервисами Firebase, увидим, что бывают как небольшие простои, так и полноценные отключения на 5-7 часов, это может быть критично для вашего сервиса.

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

Стоимость

Ценовая политика Firebase понятна и проста, есть 3 плана: Spark, Flame и Blaze. Они идеологически отличаются друг от друга. В то время как Spark — бесплатный план с лимитами, которые позволяют развернуть и протестировать значительную часть функциональности платформы. Планы Flame и Blaze предполагают платное использование. Flame стоит фиксированные 25$ в месяц, но по сути вы получаете тот же Spark, только со значительно большими лимитами.

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

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

Итог по Firebase

Сервис Firebase от Google представляет собой полноценный MBaaS провайдер, который ограничивает от инфраструктурных сложностей, с которыми напрямую связаны AWS и Azure. Весь необходимый для разработки облачного бэкенда функционал на месте, широкие возможности для аналитики, относительная простота интеграции, довольно низкий порог вхождения и прозрачное ценообразование.

Из негативных сторон — проблемы со стабильностью сервиса. К сожалению, на это никак не повлиять, остается только надеяться на инженеров Google.

Подходит для вас? По этим ссылкам можно детальнее познакомиться с Google Firebase, изучить все подробности и начать его использовать:

Kumulos

Kumulos — самостоятельный MBaaS сервис, основанный в 2011 году.

MBaaS

В качестве мобильного бэкенда Kumulos предлагает множество стандартных инструментов, которые мы уже видели в предыдущих сервисах. Также есть возможность создавать полноценные кампании основываясь на расписании и геопозиции, отслеживании и диагностике падений, удобная интеграция со Slack, Trello и Jira, хранение данных и обработка авторизации пользователей.

Как и Firebase, сервис берет на себя все вопросы с балансировкой нагрузки, масштабированием и прочими инфраструктурными проблемами.

Аналитика

В Kumulos встроены обширные аналитические возможности, среди которых: периодическая генерация отчетов, сегментирование пользователей, подробная аналитика поведения, когортный анализ и многое другое. Платформа изначально создана для Big Data и готова к работе с большим количеством данных. Вся аналитика отображается в реальном времени. Внутренний аналитический движок прогнозирует различные инсайты основываясь на собранной статистике.

Важная особенность — возможность хранить и экспортировать данные в другие сервисы, среди которых: Salesforce, Google BigQuery, Amplitude и Tableau.

Дополнительная функциональность

Интересная и не часто встречающаяся функция — инструмент для оптимизации продвижения приложения в App Store. Kumulos App Store Optimization оценивает страницу вашего приложения и предлагает решения по улучшению показателей. Отслеживает факторы успеха приложения, такие как пользовательские оценки и положение приложений в топе разных стран, и на основе этих данных генерируются отчеты.

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

Сложность интеграции

У Kumulos широкий набор SDK для интеграции как с нативными, так и с кросплатформенными инструментами. Библиотеки активно обновляются и поддерживаются.

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

Надежность

К сожалению, мне не удалось найти никакой статистики по стабильности серверов работы сервиса Kumulos.

Стоимость

Помимо бесплатного триала у Kumulos есть 3 платных плана: Startup, Enterprise и Agency. Они работают по принципу «плачу только за то, что использую». К сожалению, сервис не предоставляет прайс-лист в открытом доступе, похоже, что он рассчитывается индивидуально, исходя из ваших потребностей.

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

Итог по Kumulos

Kumulos предоставляет из себя MBaaS платформу во многом аналогичную Firebase. Здесь присутствует весь необходимый набор инструментов MBaaS сервиса, довольно обширные возможности аналитики и отчетности. Интересно выглядит отдельное предложение для студий мобильных приложений, которое сочетает в себе множество дополнительных преимуществ.

Из негативного — отсутствие каких-либо данных о стабильности серверов и закрытый прайсинг.

Стоит попробовать? По этим ссылкам можно детальнее познакомиться Kumulos, изучить все подробности и начать его использовать:

Заключение

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

В статье мы рассмотрели 4 сервиса: Microsoft Azure, AWS Amplify, Google Firebase и Kumulos. Среди них 2 крупных IaaS сервиса и 2 MBaaS, которые специализируются именно на мобильном бэкэнде. И в каждом из вариантов встретили определенные проблемы и негативные стороны.

Важно понимать — идеального решения нет. Выбор технологии для проекта — компромисс между ключевыми факторами. Предлагаю еще раз по ним пройтись:

Функциональность

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

Аналитика

Тяжело представить современные сервисы без аналитики. Ведь именно этот инструмент позволяет улучшать сервис, анализировать пользователей и в итоге получать большую прибыль. От качества и функциональности аналитики напрямую зависит качество финального продукта. Но никто не мешает подключать и стороннюю аналитику, будь это аналитическая часть Firebase, AppMetrica от Яндекса или что-то другое, более подходящее для вас.

Сложность интеграции

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

Надежность и стабильность

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

Ценовая политика

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

Vendor lock

Используя эти сервисы важно не завязываться на одном решении, иначе вы становитесь полностью зависимыми от него и обрекаете себя, на так называемый, «vendor lock». Это значит, что если с сервисом что-то случится, изменится владелец, направление развития или закроется — придется в срочном порядке искать нового MBaaS поставщика, и, в зависимости от размеров приложения, подобный переезд потребует существенных временных, и, как следствие, денежных затрат. Особенно страшно будет, если бэкэнд завязан на какой-либо уникальной функциональности MBaaS-провайдера, так как все поставщики разные и далеко не у всех одинаковый набор функционала. Поэтому редко, когда удается переехать «безболезненно».

Весь анализ в итоге можно описать в таблице:

  1. Автоматизация сборок
  2. Фреймворк геолокации
  3. Инструмент ИИ
  4. Множество других Azure сервисов
  1. Device Farm
  2. Amplify Console
  3. Amazon Lex
  4. Множество других AWS сервисов
  1. Dynamic Links
  2. A/B Testing
  3. Remote Config
  1. Оптимизации приложения в App Store.
  2. Функциональность для студийной разработки
  1. SDK: iOS, Android, Xamarin, Phonegap
  2. Высокий порог вхождения
  1. SDK: iOS, Android, JS, React Native
  2. Поддержка GraphQL
  3. Высокий порог вхождения
  1. Рассчитывается из использованных ресурсов
  2. Сложность в прогнозировании
  3. Стоимость выше, чем у MBaaS сервисов
  1. Spark (free)
  2. Flame (25$/m)
  3. Blaze (за использование)
  1. Startup
  2. Enterprise
  3. Agency

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

Данные о стабильности взяты с сервиса https://statusgator.com/
Данные о пользовательских оценках взяты с сервиса www.capterra.com

  • статьи, новости и материалы по web;
  • анонсы лекций, конференций, хакатонов;
  • актуальные cтажировки и вакансии в Surf.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *