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