Co to jest usługa Azure Functions?

Ukończone 200 pkt.

Śledzisz zespół pracujący nad stroną internetową Tailspin Space Game, gdy omawiają, jak najlepiej zrealizować nowe wymagania marketingowe wynikające z zaleceń zarządu. Zespół musi zintegrować pewną technologię bezserwerową, w szczególności usługę Azure Functions, z procesem DevOps.

Skontaktujmy się z zespołem.

Nowe wymagania

Irwin: Dziękujemy za spotkanie w krótkim czasie. Rzeczy się rozgrzewają, a zespół marketingowy złożył pewne obietnice, które mogą komplikować rzeczy dla nas wszystkich. Oni naprawdę lubią naszą stronę. Uważają, że ranking może służyć do promowania gry, gdy zmierzamy w kierunku ostatecznej premiery i dalej. Chcą go skalować daleko poza to, co pierwotnie planowaliśmy.

Mara: To wspaniałe, prawda? Jesteśmy na platformie Azure, więc możemy skalować usługę według potrzeb.

Irwin: Chcą tylko, aby każdy mógł integrować dane rankingowe z własnymi aplikacjami. Myślą, że byłoby to naprawdę fajne, aby mieć te same opcje rankingu na naszej stronie, w grze, na stronach przeglądu gier, a nawet na zewnętrznych blogach i witrynach osobistych. Jednym z wyzwań jest to, że zespół silnika gry obecnie zarządza produkcyjną bazą danych, z której pobieramy dane rankingu. Uważają, że powinni tworzyć i posiadać interfejs API w przyszłości.

Andy: Mara, czy masz jakieś myśli?

Mara: jestem pewien, że możemy wymyślić coś. Oto moje notatki:

  • Musimy szybko dostarczyć, więc musimy znaleźć rozwiązanie, w którym możemy użyć naszego kodu i umiejętności.
  • Musimy przekształcić niewielką część funkcjonalności w niezależną usługę.
  • Musimy zminimalizować nakład pracy administracyjnej w środowisku produkcyjnym.
  • Musimy mieć ogromną skalę bez podejmowania ogromnego zobowiązania.

Zespół przytakuje zgodnie.

Działa na mojej maszynie

Spotkanie się rozpada. Następnego ranka Andy podekscytowany pojawia się w biurze Mary na zaimprowizowaną rozmowę.

Andy: mam to! Znalazłem rozwiązanie spełniające wszystkie nasze wymagania dotyczące interfejsu API rankingu. Jest to oferta bezserwerowa o nazwie Azure Functions.

Mara: To wspaniałe! Jak długo potrwa, zanim będziemy mieli coś, co możemy zademonstrować?

Andy: Już coś rozwiązałem. Rozwidliłem nasze repozytorium GitHub i zrefaktoryzowałem kod rankingowy w nowym projekcie Azure Functions. Uwidacznia ona dane rankingu za pośrednictwem prostego żądania HTTP GET. Zaktualizowałem również witrynę internetową, aby korzystała z tego punktu końcowego podczas żądania rankingu, a każdy może zrobić to samo.

Mara: To brzmi dokładnie tak, czego potrzebujemy. Mogę pomóc rozszerzyć istniejący pipeline CI/CD, aby obsługiwał kompilowanie i wdrażanie w taki sam sposób, jak to robimy dla głównego projektu strony.

Uwaga

W tym module nie skupimy się na tym, jak połączyć aplikację z usługą Azure Functions. Jeśli cię interesuje, możesz przejrzeć kod źródłowy. Kod używa środowiska uruchomieniowego usługi Azure Functions dla języka C# do odczytywania danych rankingowych z usługi Azure Functions.

Co to jest usługa Azure Functions?

Azure Functions jest konkretną ofertą w ramach szerszego spektrum technologii bezserwerowych platformy Azure. Umożliwia ona deweloperom łatwe tworzenie prostych funkcji, które istnieją w środowisku bezstanowym, bezserwerowym. Funkcje mogą być wyzwalane przy użyciu różnych metod, takich jak żądania HTTP, zmiany danych w przechowywaniu, otrzymanie komunikatu z kolejki i nie tylko. Więcej informacji o powiązaniach wyzwalaczy można znaleźć w koncepcjach wyzwalaczy i powiązań w Azure Functions.

Zespół Tailspin wybrał usługę Azure Functions w tym scenariuszu, ponieważ spełnia wszystkie potrzeby:

  • Musimy szybko dostarczyć, więc musimy znaleźć rozwiązanie, w którym możemy użyć naszego kodu i umiejętności.
    • Możemy szybko zbudować rozwiązanie jako aplikację ASP.NET Core, wykorzystując dostępny już kod.
  • Musimy przekształcić niewielką funkcjonalność na niezależną usługę.
    • Możemy dostarczyć niezależną funkcję, nie martwiąc się o dodatkowe aspekty aplikacji.
  • Musimy zminimalizować nakład pracy administracyjnej w środowisku produkcyjnym.
    • usługa Azure Functions eliminuje konieczność martwienia się o środowiska hostingu.
  • Musimy mieć ogromną skalę bez podejmowania ogromnego zobowiązania.
    • technologie bezserwerowe mają praktycznie nieograniczoną skalę, która może automatycznie skalować się w górę i w dół szybciej niż maszyny wirtualne lub usługi aplikacji.

Usługa Azure Functions i inne technologie bezserwerowe nie zawsze są odpowiednie dla każdego rozwiązania. W dalszej części omówimy, gdzie znajdziesz zasoby, które pomogą Ci wybrać odpowiednią technologię dla zadania.

Sprawdź swoją wiedzę

1.

Który z tych projektów jest dobrym kandydatem do przetwarzania bezserwerowego?

2.

Które z poniższych powodów nie jest dobrym powodem do korzystania z usługi Azure Functions?

3.

Który z poniższych elementów nie jest obsługiwanym sposobem bezpośredniego wyzwalania aplikacji usługi Azure Functions?


Następna lekcja: Ćwiczenie — konfigurowanie środowiska usługi Azure DevOps

Poprzednie Następne