Projektowanie architektury funkcji bezserwerowych

Architektura bezserwerowa rozwija platformy w chmurze w kierunku czystego kodu natywnego dla chmury przez abstrakcja kodu z infrastruktury, którą należy uruchomić. Azure Functions to bezserwerowa opcja obliczeniowa, która obsługuje funkcje, małe fragmenty kodu, które wykonują pojedyncze czynności.

Zalety korzystania z architektur bezserwerowych w aplikacjach usługi Functions obejmują:

  • Infrastruktura platformy Azure automatycznie udostępnia wszystkie zaktualizowane serwery, które aplikacje muszą działać na dużą skalę.
  • Zasoby obliczeniowe przydzielają dynamicznie i natychmiast automatycznie skaluj, aby sprostać wymaganiom elastycznym. Bezserwerowa nie oznacza "żadnego serwera", ale "mniej serwera", ponieważ serwery działają tylko zgodnie z potrzebami.
  • Mikroliczenie pozwala zaoszczędzić koszty, pobierając opłaty tylko za zasoby obliczeniowe i czas trwania używanego kodu do wykonania.
  • Powiązania funkcji usprawniają integrację, zapewniając deklaratywny dostęp do szerokiej gamy usług platformy Azure i innych firm.

Funkcje są sterowane zdarzeniami. Zdarzenie zewnętrzne, takie jak żądanie internetowe HTTP, komunikat, harmonogram lub zmiana danych wyzwala kod funkcji. Aplikacja usługi Functions nie koduje wyzwalacza, tylko odpowiedź na wyzwalacz. Dzięki niższej barierze wejścia deweloperzy mogą skupić się na logice biznesowej, zamiast pisać kod do obsługi problemów z infrastrukturą, takich jak komunikaty.

Azure Functions jest usługą zarządzaną na platformie Azure i w usłudze Azure Stack. Środowisko uruchomieniowe usługi open source Functions działa w wielu środowiskach, w tym Kubernetes, Azure IoT Edge, lokalnie i innych chmurach.

Funkcje bezserwerowe wymagają nowych sposobów myślenia i nowych podejść do tworzenia aplikacji. Nie są to właściwe rozwiązania dla każdego problemu. Na przykład scenariusze funkcji bezserwerowych można znaleźć w temacie Architektura referencyjna.

Kroki implementacji

Pomyślna implementacja technologii bezserwerowych z Azure Functions wymaga następujących akcji: