Разработка ориентированного на облако приложения
Учитывая, что ориентированные на облако приложения состоят из выбранных вами компонентов, вы можете легко спроектировать решение, использующее технологии, с которыми вам удобно работать. Например, если Python лучше подходит для службы аналитики данных, но ваша служба электронной почты более подходит для использования предварительно созданного решения, архитектурная модульность облачных приложений значительно упрощает реализацию. Эта модульность даже распространяется на различных облачных провайдеров.
Например, многие облачные службы, такие как база данных Azure для MySQL, позволяют разрабатывать решения с использованием привычных версий технологий с открытым исходным кодом, но при этом задачи по администрированию и развертыванию решаются с помощью Azure.
Разработка архитектуры ориентированного на облако решения для Adatum
В нашем сценарии мы можем спроектировать архитектуру решения, которое легко разрабатывается небольшой командой, но при этом его можно безопасно масштабировать на тысячах устройств. Функциональность облака устраняет множество проблем разработки, возникающих из-за необходимости подключаться к большому количеству устройств и обрабатывать данные по запросу. Используя облачную инфраструктуру, предварительно созданные службы можно легко настроить для взаимодействия друг с другом и автомасштабирования по мере необходимости.
Позднее, при необходимости, решение можно расширить в соответствии с требованиям новых или обновленных продуктов. В нашем сценарии, если сети отелей, заказывающей тысячи холодильников, требуются дополнительные функции, вы можете создать дополнительный сервис без простоя для существующих клиентов.
Начать с малого
Для начала мы могли бы использовать базовое веб-приложение для интерфейса управления. Простая серверная часть в облаке может передавать сообщения из смарт-холодильников в веб-приложение, которое затем можно контейнеризировать и развернуть в кластере Kubernetes, чтобы количество контейнеров можно масштабировать по мере необходимости. Следующая диаграмма показывает эту взаимосвязь. Узел Node.js Express передает сообщения в наше веб-приложение Next.js, оба из которых развернуты с помощью нашей службы Kubernetes.
Это решение можно легко подключить к выбранной базе данных, что позволяет быстро настроить и запустить масштабируемые комплексные службы.
Расширение приложения
Умные устройства предлагают множество возможностей для подключения и обработки данных. Усовершенствования в области IoT обеспечивают экономичные возможности для сбора данных и потоковой передачи их в облако. Облачные службы Интернета вещей для смарт-устройств легко подключиться, что позволяет передавать данные телеметрии, такие как температура холодильника, потребление электроэнергии и качество воды.
Разработчики могут использовать облачные службы, такие как центр Интернета вещей и Stream Analytics, для разработки ориентированных на облако приложений с интеграцией IoT. Поскольку большая часть базовой работы выполнена за вас, время разработки может быть значительно уменьшено.
Из-за слабо связанного характера облачных приложений вы можете выбрать другое решение базы данных для данных телеметрии, которые лучше подходят для потоковых данных. Например, вместо использования традиционной реляционной базы данных, которая может быть более подходящей для службы инвентаризации, можно использовать Cosmos DB.
По мере разделения служб ваша команда также может разрабатывать и развертывать службу Интернета вещей без влияния на существующую службу инвентаризации, как показано на следующем рисунке.