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)
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*
...
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
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
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ść
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%