Бессерверные вычисления

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

Перспективы бессерверных вычислений

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

Что такое бессерверные вычисления?

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

Зачем создавать бессерверные приложения?

Focus on your apps, not on infrastructure

Spare your teams the burden of managing servers. By utilizing fully managed services, you focus on your business logic and avoid administrative tasks. With serverless architecture you simply deploy your code, and it runs with high availability.

Гибкое масштабирование

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

Оплата только за используемые ресурсы

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

Экономия благодаря независимости от сервера

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

Создание приложений на бессерверной платформе Майкрософт

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

Повышение продуктивности разработки

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

Простое создание подключений

Создавайте современные приложения, совмещая основные и вспомогательные функции из нескольких источников. Используйте инновационные функции, такие как триггеры и привязки из службы Функции Azure, для простого взаимодействия с разнообразными службами Azure и внешними службами, а также с приложениями логики с помощью более чем 100 соединителей для служб Майкрософт и сторонних служб.

Разработка интеллектуальных приложений

Создавайте интеллектуальные приложения без каких-либо усилий. Благодаря Azure возможность встраивать интеллектуальные функции доступна всем разработчикам приложений. Используйте в бессерверном коде или логике службу машинного обучения и Cognitive Services.

Компоненты Azure для бессерверных приложений

Среда выполнения приложений

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

Хранилище

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

База данных

Azure Cosmos DB — это глобально распределенная многомодельная служба базы данных с высокой масштабируемостью для всех бессерверных приложений. Полностью управляемая облачная база данных поддерживает несколько моделей данных, включая модели данных документа, пар "ключ — значение", Graph и модели данных столбцов. Она также поддерживает распространенные API-интерфейсы, включая SQL, MongoDB, таблицы и Gremlin.

Безопасность и управление доступом

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

Обмен сообщениями в облаке

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

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

Оркестрация рабочего процесса

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

Управление API

Управление API — это комплексное решение для создания, администрирования, мониторинга и защиты API-интерфейсов в любом масштабе.

Прокси-серверы службы "Функции Azure" позволяют создавать архитектуру микрослужб, разбивая поверхность больших API-интерфейсов на несколько приложений-функций, при этом сохраняя единую поверхность API для клиентов.

Аналитика

Azure Stream Analytics — это полностью управляемая служба аналитики для работы с потоковыми данными в реальном времени. Она позволяет создавать запросы на простом декларативном языке на основе SQL, а плата взимается только за ресурсы, используемые для обработки задания.

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

Интеллектуальный анализ

Служба ботов Azure Bot Service позволяет создавать интеллектуальные бессерверные программы-роботы, которые взаимодействуют с пользователем в зависимости от контекста через различные каналы, такие как текстовые сообщения (SMS), Skype, Microsoft Teams, Slack, Office 365, Twitter и другие популярные службы.

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

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

Интегрированная среда разработки (IDE)

Инструменты разработчика Visual Studio для службы "Функции Azure" упрощают разработку бессерверных приложений, обеспечивая полностью локальную сборку, отладку и публикацию в интегрированной среде разработки (IDE).

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

Непрерывные интеграция и развертывание

Visual Studio Team Services обеспечивает непрерывную интеграцию и доставку бессерверных приложений.

Мониторинг, ведение журнала и диагностика

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

Пакеты SDK

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

Платформы

Serverless Framework — это платформа приложений с открытым кодом, позволяющая без особых сложностей создавать бессерверную архитектуру. Она поддерживает подключаемый модуль для службы "Функции Azure".

Узнайте, как клиенты используют бессерверные вычисления

Примеры бессерверных приложений

Архитектура веб-приложений

С помощью функций Azure можно создать одностраничное приложение. Такое приложение вызывает функции, используя URL-адрес webhook, сохраняя данные пользователя и определяя, какие данные нужно отобразить. Кроме того, можно внести небольшие изменения, например изменить условия рассылки целевых рекламных объявлений, вызвав функцию и передав ей сведения профиля пользователя.

IoT back end

Например, устройства "Интернета вещей" (IoT) отправляют сообщения в службу Azure Stream Analytics, которая затем вызывает функцию Azure для преобразования сообщения. Эта функция обрабатывает данные и обновляет их в базе данных Azure Cosmos DB.

Интеграция с SaaS

Функции Azure поддерживают триггеры на основе действий в службе SaaS. Например, при сохранении файла в OneDrive активируется функция, использующая Microsoft API Graph для изменения электронной таблицы, а также создания дополнительных диаграмм и расчетных данных.

Mobile back end

Мобильный интерфейс может быть представлен несколькими API HTTP, вызываемыми из мобильного клиента с использованием URL-адреса webhook. Например, в мобильном приложении можно создать изображение, а затем вызвать функцию Azure, чтобы получить маркер доступа для передачи в хранилище BLOB-объектов. Вторая функция Azure активируется при передаче большого двоичного объекта. Она изменяет размер изображения до приемлемого для мобильного устройства.

Начните выполнение кода по требованию, ознакомившись с этими 5-минутными руководствами по началу работы

Начните выполнение кода по требованию, ознакомившись с этими 5-минутными руководствами по началу работы

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

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