Что такое Функции Azure?
Вы вместе с группой веб-разработчиков компании Tailspin Space Game рассмотрите варианты выполнения новых маркетинговых требований, установленных руководством. Группе разработчиков нужно интегрировать ряд бессерверных технологий, в частности Функции Azure, в свой процесс DevOps.
Давайте узнаем, как дела у команды.
Новые требования
Ирвин: Спасибо за встречу с таким коротким уведомлением. Вещи нагреваются, и маркетинговая команда сделала некоторые обещания, которые могут усложнить вещи для всех нас. Они очень любят наш сайт. Они полагают, что для продвижения игры в преддверии окончательного выпуска и в дальнейшем может быть полезен список лидеров. Они хотят масштабировать его далеко за рамки того, что мы первоначально планировали.
Мара: Это здорово, да? Мы в Azure, поэтому мы можем масштабировать службу так, как это необходимо.
Irwin: они просто хотят, чтобы любой пользователь мог интегрировать данные таблицы лидеров в свои собственные приложения. Они думают, что было бы очень здорово иметь те же варианты лидеров на нашем сайте, в игре, на игровых обзорных сайтах, а также даже на внешних блогах и личных сайтах. Одна из проблем заключается в том, что команда игрового ядра в настоящее время владеет рабочей базой данных, из которую мы извлекаем данные таблицы лидеров. Они думают, что они должны создавать и принадлежать API вперед.
Энди: Мара, у вас есть какие-либо мысли?
Мара: Я уверен, что мы можем придумать что-то. Вот мои заметки:
- Мы должны быстро доставить, поэтому нам нужно найти решение, где мы можем использовать наш код и навыки.
- Нам нужно рефакторинг небольшого фрагмента функциональности в независимую службу.
- Нам нужно свести к минимуму административные издержки в рабочей среде.
- Нам нужно иметь массовый масштаб, не выполняя огромные обязательства.
Команда кивает в согласии.
Он работает на моем компьютере
Собрание разорвано. На следующее утро Энди взволнован в офис Мары для импровизированного чата.
Энди: У меня это есть! Я нашел решение, которое соответствует всем нашим требованиям для API таблицы лидеров. Это бессерверное предложение, называемое Функции Azure.
Мара: Это здорово! Сколько времени до того, как у нас есть что-то, что мы можем демоверсии?
Энди: Я уже выскочил что-то. Я вилку репозитория GitHub и рефакторинг кода таблицы лидеров в новый проект Функции Azure. Он предоставляет данные таблицы лидеров с помощью простого HTTP-запроса GET. Также веб-сайт был обновлен, и мы можем использовать эту конечную точку для отправки запросов к списку лидеров. Кроме того, любой другой теперь может сделать то же самое.
Мара: Это звучит как именно то, что нам нужно. Я могу помочь расширить существующий конвейер CI/CD для поддержки сборки и развертывания, как мы делаем для основного проекта сайта.
Примечание.
В этом модуле мы не сосредоточимся на том, как подключить приложение к Функции Azure. Если вы хотите ознакомиться с этой процедурой, изучите исходный код. Код использует среду выполнения Функции Azure для C# для чтения данных таблицы лидеров из Функции Azure.
Что такое Функции Azure?
Функции Azure — это специализированное предложение в рамках обширного спектра бессерверных вычислительных технологий Azure. Это позволяет разработчикам создавать простые функции, которые существуют в бессерверной среде без отслеживания состояния. Функции можно активировать с помощью различных методов, таких как HTTP-запросы, изменения данных в хранилище, получение сообщения из очереди и многое другое. Дополнительные сведения о привязках триггеров см. в статье Основные понятия триггеров и привязок в Функциях Azure.
Команда Tailspin выбрала Функции Azure для этого сценария, так как она соответствовала всем своим потребностям:
- Мы должны быстро доставить, поэтому нам нужно найти решение, где мы можем использовать наш код и навыки.
- Мы можем быстро создать решение как приложение core ASP.NET, применяющее код, у нас уже есть.
- Нам нужно рефакторинг небольшого фрагмента функциональности в независимую службу.
- Мы можем доставить независимую функцию без других областей поверхности приложения, чтобы беспокоиться о ней.
- Нам нужно свести к минимуму административные издержки в рабочей среде.
- Функции Azure удаляет необходимость беспокоиться о средах размещения.
- Нам нужно иметь массовый масштаб, не выполняя огромные обязательства.
- Бессерверные технологии имеют практически неограниченный масштаб, который может автоматически увеличиваться и уменьшаться быстрее, чем виртуальные машины или службы приложений.
Функции Azure и другие бессерверные технологии не всегда подходят для каждого решения. Далее мы обсудим, где можно найти ресурсы, которые помогут вам выбрать подходящую технологию для задания.