ݺߣ

ݺߣShare a Scribd company logo
Budowanie
rozwiązań
serverless/FaaS
W CHMURZE AZURE
O mnie
 https://www.linkedin.com/in/kamil-mrzyg%C5%82%C3%B3d-
31470376/
 https://github.com/kamil-mrzyglod
 http://blog.codenova.pl/
 @Kamil_Mrzyglod
Informacje wstępne
Agenda
 1. Powitanie i informacje wstępne(9:15-9:20)
 2. Serverless/FaaS - jak rozumieć każde z pojęć?(9:20-9:30)
 3. Serverless w Azure - co dostarcza nam chmura?(9:30-9:45)
 4. Flow vs Logic Apps oraz WebJobs vs Functions - co wybrać?(9:45-
10:45)
 5. Automatyzacja procesów z zastosowaniem Logic Apps(10:45-11:45)
 6. FaaS w Azure czyli Azure Functions(11:45-13:00)
 7. Lunch(13:00-14:00)
 8. Orkiestracje czyli Durable Functions(14:00-15:15)
 9. Reaktywna architektura bezserwerowa - Event Grid(15:15-16:15)
 10. Quiz, dyskusja(16:15-17:00)
Serverless/FaaS
O CZYM BĘDZIEMY TAK WŁAŚCIWIE ROZMAWIAĆ?
Serverless vs FaaS
 Buzzword
 Bazuje na modelu płatniczym
„pay-as-you-go”
 Ma zastosowanie zarówno w FaaS
jak i bazach danych czy nawet
usługach wspierających tworzenie
i zarządzanie mikroserwisami
 Może(ale nie musi) być podstawą
FaaS
 Model architektury
 Nie jest ograniczony do tylko
jednego modelu płatniczego
 Jednoznacznie wskazuje na
architekturę aplikacji
 Może(ale nie musi) być oparte o
serverless
Serverless w Azure
 Logic Apps
 Azure Functions(zbudowanie na podstawie WebJobs)
 Event Grid
 CosmosDB
 Service Fabric
 Azure Storage
 Azure AD*
 API Management*
 ...
Flow vs Logic Apps
Functions vs WebJobs
CO WYBRAĆ?
Flow vs Logic Apps
 Zbudowany na podstawie Logic
Apps
 Przeznaczony dla osób spoza IT
 Służy własnym zastosowaniom
 Tylko UI
 Prosty proces wytwarzania i
wdrażania
 Przeznaczone dla specjalistów IT
 Umożliwiają zaawansowane
integracje
 Możliwość modyfikowania kodu
 Umożliwiają zaawansowane
scenariusze DevOps
Ćwiczenie 1
MICROSOFT FLOW VS LOGIC APPS
Azure Functions vs WebJobs
 Dwa modele – Consumption oraz
App Service
 Nie mogą być wykonywany w
sposób ciągły
 Bogata baza triggerów i
bindingów
 Umożliwiają odseparowanie danej
funkcjonalności od App Service’u
 Działają w oparciu o App Service
 Mogą działać bez przerwy
 Integracja tylko z Azure Storage
oraz Service Bus
 Nie można ich uruchomić bez App
Service Planu
Ćwiczenie 2
AZURE FUNCTIONS VS WEBJOBS
Automatyzacja procesów
Z ZASTOSOWANIEM LOGIC APPS
Zalety Logic Apps
 Prostota
 Krótki TTM(Time To Market)
 Wersjonowanie
 Większe możliwości w porównaniu z Microsoft Flow
 Możliwość automatyzacji używając szablonów ARM
 Możliwość pracy z Visual Studio
Ćwiczenie 3
ZARZĄDZANIE LOGIC APPS W VISUAL STUDIO
Ćwiczenie 4
WARUNKI W LOGIC APPS
FaaS w Azure
AZURE FUNCTIONS
Po co mi Azure Functions?
 Pozwalają na płacenie tylko za wykorzystanie zasobów
 Dwa modele płatnicze pozwalają na dużą elastyczność
 Bogata biblioteka triggerów oraz bindingów pozwala na integrację
z wieloma usługami
 Prosty development
 Bardzo aktywnie rozwijane
 Duża społeczność
 OSS(przynajmiej częściowo)
Consumption Plan vs Regular App Service Plan
 Pay-As-You-Go
 Darmowy tier na początek
 Pozwala na tworzenie prostych
serwisów niemalże za darmo
 Skalowanie nie jest idealne
 Ograniczenia co do wywołań
niektórych metod .NET
 Błędny design może powodować
problemy z performance
 Forma prepaid
 Wymagany co najmniej plan B1*
 Dobry wybór dla serwisów a
bardziej rygorystycznych
wymaganiach co do skalowania
 Funkcje są odizolowane od reszty
 Dedykowany hardware oznacza
przewidywalny performance
Trigger vs Binding
 Powoduje wykonanie funkcji
 Nieco trudniejsze w rozbudowie
 Jasno wskazuje na sposób
wywołania(triggered vs
scheduled)
 Umożliwia integrację z innymi
usługami
 Dość łatwe do modyfikacji
 W zależności od wersji pozwalają
na otrzymanie różnych wyników
Ćwiczenie 5
TWORZENIE FUNKCJI W VISUAL STUDIO
Ćwiczenie 6
DODAWANIE WIERSZA DO AZURE STORAGE TABLE
Ćwiczenie 6.2
DODAWANIE WIERSZA DO AZURE STORAGE TABLE UŻYWAJĄC DANYCH
Z REQUESTU
Ćwiczenie 7
USUNIĘCIE WIERSZA Z AZURE STORAGE TABLE
Orkiestracje
CZYLI DURABLE FUNCTIONS
Czym są Durable Functions?
 Sposób na tworzenie orkiestracji za pomocą Azure Functions
 Rozwiązują problem stanu w funkcjach
 Ułatwiają organizację pracy(chaining, fan-in/fan-out)
 Dają możliwość reagowania na zdarzenia pochodzące spoza
procesu
 Zbudowane w oparciu o Durable Task Framework
Orkiestracje i aktywności
 Składają się z aktywności
 Spinają cały proces pozwalając
na przechodzenie różnych ścieżek
 Wywołuje je użytkownik
 Trzymają stan
 Mogą zwrócić inny wynik w
zależności od warunków wewnątrz
orkiestracji
 Atomowe elementy orkiestracji
 Są zależne tylko od kontekstu –
mogą być wykorzystywane
wielokrotnie
 Nie można ich wywołać
samodzielnie
 Nie mają stanu
 Muszą zawsze zwracać ten sam
wynik(idempotentność)
Ćwiczenie 8
PIERWSZA ORKIESTRACJA
Ćwiczenie 8.1
SPRAWDZANIE STANU ORKIESTRACJI
Ćwiczenie 8.2
OBSŁUGA BŁĘDÓW
Architektura reaktywna
EVENT GRID
Po co mi Event Grid?
 Umożliwia odwrócenie sterowania w architekturze – zamiast
nasłuchiwać poszczególne komponenty po prostu są wybudzane
 Proste filtrowanie np. po typie zdarzenia
 Pay-per-event
 Wysoka przepustowność
 Pozwala ukryć poszczególne serwisy i scentralizować routing
pomiędzy nimi
Dlaczego nie Event Hub?
 Inny sposób skalowania – dynamiczny(Event Grid) kontra na
żądanie(Event Hub)
 Inny koszt – pay-per-event kontra TU
 Inne zastosowanie – reaktywna architektura kontra strumieniowanie
dla Big Data
 Inny czas dostarczenia wiadomości – Event Hub może się pochwalić
znacznie mniejszym opóźnieniem
 Inny format wiadomości – Event Grid dostarcza zdarzenie, Event
Hub wiadomość
Ćwiczenie 9
TWORZENIE EVENT GRIDA W AZURE
Ćwiczenie 9.1
WYSYŁANIE ZDARZEŃ DO EVENT GRIDA I ICH ODBIÓR
Ćwiczenie 9.2
FILTROWANIE ZDARZEŃ W EVENT GRIDZIE
Quiz!
Co więcej?
 Pełne szkolenie z Azure Functions(zaawansowane scenariusze,
rozbudowywanie funkcji, CI/CD, Azure Functions Proxy,
bezpieczeństwo, optymalizacje)
 Pełne szkolenie z Durable Functions(sub-orkiestracje, wersjonowanie,
zarządzanie orkiestracjami, zewnętrzne zdarzenia, eternal
orchestrations, performance)
 Kreowanie architektury dla Big Data – co wybrać w zależności od
naszych wymagań i jak nie zginąć już na samym początku?
Ankieta
HTTPS://GOO.GL/UFVXZM
Szkolenie dedykowane dla Ciebie
Interesuje Cię tematyka warsztatu?
Zapoznaj się z programem szkolenia Sages:
 Tworzenie aplikacji w chmurze z wykorzystaniem Windows Azure
Dla uczestników dzisiejszego warsztatu zniżka na to szkolenia
w wysokości 35%
Organizator Stacji IT
Partnerzy

More Related Content

Budowanie rozwiązań serverless w chmurze Azure

  • 2. O mnie  https://www.linkedin.com/in/kamil-mrzyg%C5%82%C3%B3d- 31470376/  https://github.com/kamil-mrzyglod  http://blog.codenova.pl/  @Kamil_Mrzyglod
  • 4. Agenda  1. Powitanie i informacje wstępne(9:15-9:20)  2. Serverless/FaaS - jak rozumieć każde z pojęć?(9:20-9:30)  3. Serverless w Azure - co dostarcza nam chmura?(9:30-9:45)  4. Flow vs Logic Apps oraz WebJobs vs Functions - co wybrać?(9:45- 10:45)  5. Automatyzacja procesów z zastosowaniem Logic Apps(10:45-11:45)  6. FaaS w Azure czyli Azure Functions(11:45-13:00)  7. Lunch(13:00-14:00)  8. Orkiestracje czyli Durable Functions(14:00-15:15)  9. Reaktywna architektura bezserwerowa - Event Grid(15:15-16:15)  10. Quiz, dyskusja(16:15-17:00)
  • 5. Serverless/FaaS O CZYM BĘDZIEMY TAK WŁAŚCIWIE ROZMAWIAĆ?
  • 6. Serverless vs FaaS  Buzzword  Bazuje na modelu płatniczym „pay-as-you-go”  Ma zastosowanie zarówno w FaaS jak i bazach danych czy nawet usługach wspierających tworzenie i zarządzanie mikroserwisami  Może(ale nie musi) być podstawą FaaS  Model architektury  Nie jest ograniczony do tylko jednego modelu płatniczego  Jednoznacznie wskazuje na architekturę aplikacji  Może(ale nie musi) być oparte o serverless
  • 7. Serverless w Azure  Logic Apps  Azure Functions(zbudowanie na podstawie WebJobs)  Event Grid  CosmosDB  Service Fabric  Azure Storage  Azure AD*  API Management*  ...
  • 8. Flow vs Logic Apps Functions vs WebJobs CO WYBRAĆ?
  • 9. Flow vs Logic Apps  Zbudowany na podstawie Logic Apps  Przeznaczony dla osób spoza IT  Służy własnym zastosowaniom  Tylko UI  Prosty proces wytwarzania i wdrażania  Przeznaczone dla specjalistów IT  Umożliwiają zaawansowane integracje  Możliwość modyfikowania kodu  Umożliwiają zaawansowane scenariusze DevOps
  • 11. Azure Functions vs WebJobs  Dwa modele – Consumption oraz App Service  Nie mogą być wykonywany w sposób ciągły  Bogata baza triggerów i bindingów  Umożliwiają odseparowanie danej funkcjonalności od App Service’u  Działają w oparciu o App Service  Mogą działać bez przerwy  Integracja tylko z Azure Storage oraz Service Bus  Nie można ich uruchomić bez App Service Planu
  • 14. Zalety Logic Apps  Prostota  Krótki TTM(Time To Market)  Wersjonowanie  Większe możliwości w porównaniu z Microsoft Flow  Możliwość automatyzacji używając szablonów ARM  Możliwość pracy z Visual Studio
  • 15. Ćwiczenie 3 ZARZĄDZANIE LOGIC APPS W VISUAL STUDIO
  • 17. FaaS w Azure AZURE FUNCTIONS
  • 18. Po co mi Azure Functions?  Pozwalają na płacenie tylko za wykorzystanie zasobów  Dwa modele płatnicze pozwalają na dużą elastyczność  Bogata biblioteka triggerów oraz bindingów pozwala na integrację z wieloma usługami  Prosty development  Bardzo aktywnie rozwijane  Duża społeczność  OSS(przynajmiej częściowo)
  • 19. Consumption Plan vs Regular App Service Plan  Pay-As-You-Go  Darmowy tier na początek  Pozwala na tworzenie prostych serwisów niemalże za darmo  Skalowanie nie jest idealne  Ograniczenia co do wywołań niektórych metod .NET  Błędny design może powodować problemy z performance  Forma prepaid  Wymagany co najmniej plan B1*  Dobry wybór dla serwisów a bardziej rygorystycznych wymaganiach co do skalowania  Funkcje są odizolowane od reszty  Dedykowany hardware oznacza przewidywalny performance
  • 20. Trigger vs Binding  Powoduje wykonanie funkcji  Nieco trudniejsze w rozbudowie  Jasno wskazuje na sposób wywołania(triggered vs scheduled)  Umożliwia integrację z innymi usługami  Dość łatwe do modyfikacji  W zależności od wersji pozwalają na otrzymanie różnych wyników
  • 22. Ćwiczenie 6 DODAWANIE WIERSZA DO AZURE STORAGE TABLE
  • 23. Ćwiczenie 6.2 DODAWANIE WIERSZA DO AZURE STORAGE TABLE UŻYWAJĄC DANYCH Z REQUESTU
  • 24. Ćwiczenie 7 USUNIĘCIE WIERSZA Z AZURE STORAGE TABLE
  • 26. Czym są Durable Functions?  Sposób na tworzenie orkiestracji za pomocą Azure Functions  Rozwiązują problem stanu w funkcjach  Ułatwiają organizację pracy(chaining, fan-in/fan-out)  Dają możliwość reagowania na zdarzenia pochodzące spoza procesu  Zbudowane w oparciu o Durable Task Framework
  • 27. Orkiestracje i aktywności  Składają się z aktywności  Spinają cały proces pozwalając na przechodzenie różnych ścieżek  Wywołuje je użytkownik  Trzymają stan  Mogą zwrócić inny wynik w zależności od warunków wewnątrz orkiestracji  Atomowe elementy orkiestracji  Są zależne tylko od kontekstu – mogą być wykorzystywane wielokrotnie  Nie można ich wywołać samodzielnie  Nie mają stanu  Muszą zawsze zwracać ten sam wynik(idempotentność)
  • 32. Po co mi Event Grid?  Umożliwia odwrócenie sterowania w architekturze – zamiast nasłuchiwać poszczególne komponenty po prostu są wybudzane  Proste filtrowanie np. po typie zdarzenia  Pay-per-event  Wysoka przepustowność  Pozwala ukryć poszczególne serwisy i scentralizować routing pomiędzy nimi
  • 33. Dlaczego nie Event Hub?  Inny sposób skalowania – dynamiczny(Event Grid) kontra na żądanie(Event Hub)  Inny koszt – pay-per-event kontra TU  Inne zastosowanie – reaktywna architektura kontra strumieniowanie dla Big Data  Inny czas dostarczenia wiadomości – Event Hub może się pochwalić znacznie mniejszym opóźnieniem  Inny format wiadomości – Event Grid dostarcza zdarzenie, Event Hub wiadomość
  • 35. Ćwiczenie 9.1 WYSYŁANIE ZDARZEŃ DO EVENT GRIDA I ICH ODBIÓR
  • 37. Quiz!
  • 38. Co więcej?  Pełne szkolenie z Azure Functions(zaawansowane scenariusze, rozbudowywanie funkcji, CI/CD, Azure Functions Proxy, bezpieczeństwo, optymalizacje)  Pełne szkolenie z Durable Functions(sub-orkiestracje, wersjonowanie, zarządzanie orkiestracjami, zewnętrzne zdarzenia, eternal orchestrations, performance)  Kreowanie architektury dla Big Data – co wybrać w zależności od naszych wymagań i jak nie zginąć już na samym początku?
  • 40. Szkolenie dedykowane dla Ciebie Interesuje Cię tematyka warsztatu? Zapoznaj się z programem szkolenia Sages:  Tworzenie aplikacji w chmurze z wykorzystaniem Windows Azure Dla uczestników dzisiejszego warsztatu zniżka na to szkolenia w wysokości 35%