SlideShare a Scribd company logo
1 of 42
Download to read offline
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

Similar to Budowanie rozwiązań serverless w chmurze Azure

Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?tkryskiewicz
 
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...Michal Furmankiewicz
 
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&test
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&testWykorzystanie chmury Microsoft Azure w scenariuszach dev&test
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&testJarek Sokolnicki
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Tomasz Cieplak
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Lukasz Kaluzny
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
 
Integracja systemow od strony praktycznej
Integracja systemow od strony praktycznejIntegracja systemow od strony praktycznej
Integracja systemow od strony praktycznejMarek Horbań
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPROIDEA
 
Datapolis Process System PL
Datapolis Process System PLDatapolis Process System PL
Datapolis Process System PLDatapolis
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkThe Software House
 
4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta4 lata z Azure okiem Architekta
4 lata z Azure okiem ArchitektaLukasz Kaluzny
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6The Software House
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzkeGaldoMedia
 

Similar to Budowanie rozwiązań serverless w chmurze Azure (20)

Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
 
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
Serverless w Chmurze. Azure Functions vs AWS Lambda. Porównanie dwóch najwięk...
 
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&test
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&testWykorzystanie chmury Microsoft Azure w scenariuszach dev&test
Wykorzystanie chmury Microsoft Azure w scenariuszach dev&test
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
NET flow
NET flowNET flow
NET flow
 
Integracja systemow od strony praktycznej
Integracja systemow od strony praktycznejIntegracja systemow od strony praktycznej
Integracja systemow od strony praktycznej
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Datapolis Process System PL
Datapolis Process System PLDatapolis Process System PL
Datapolis Process System PL
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic Beanstalk
 
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
 
4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 

More from Sages

Python szybki start
Python   szybki startPython   szybki start
Python szybki startSages
 
Docker praktyczne podstawy
Docker  praktyczne podstawyDocker  praktyczne podstawy
Docker praktyczne podstawySages
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznieSages
 
Jak działa blockchain?
Jak działa blockchain?Jak działa blockchain?
Jak działa blockchain?Sages
 
Qgis szybki start
Qgis szybki startQgis szybki start
Qgis szybki startSages
 
Architektura SOA - wstęp
Architektura SOA - wstępArchitektura SOA - wstęp
Architektura SOA - wstępSages
 
Bezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaBezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaSages
 
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache HadoopWprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache HadoopSages
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreSages
 
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...Sages
 
Szybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem WekaSzybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem WekaSages
 
Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?Sages
 
Wprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkWprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkSages
 
Wprowadzenie do technologii Puppet
Wprowadzenie do technologii PuppetWprowadzenie do technologii Puppet
Wprowadzenie do technologii PuppetSages
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startSages
 
Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkitSages
 
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemWprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemSages
 
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash courseCodepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash courseSages
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJSSages
 
Wprowadzenie do technologii Big Data
Wprowadzenie do technologii Big DataWprowadzenie do technologii Big Data
Wprowadzenie do technologii Big DataSages
 

More from Sages (20)

Python szybki start
Python   szybki startPython   szybki start
Python szybki start
 
Docker praktyczne podstawy
Docker  praktyczne podstawyDocker  praktyczne podstawy
Docker praktyczne podstawy
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
 
Jak działa blockchain?
Jak działa blockchain?Jak działa blockchain?
Jak działa blockchain?
 
Qgis szybki start
Qgis szybki startQgis szybki start
Qgis szybki start
 
Architektura SOA - wstęp
Architektura SOA - wstępArchitektura SOA - wstęp
Architektura SOA - wstęp
 
Bezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaBezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach java
 
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache HadoopWprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT core
 
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
 
Szybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem WekaSzybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem Weka
 
Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?
 
Wprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkWprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache Spark
 
Wprowadzenie do technologii Puppet
Wprowadzenie do technologii PuppetWprowadzenie do technologii Puppet
Wprowadzenie do technologii Puppet
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki start
 
Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkit
 
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemWprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
 
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash courseCodepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJS
 
Wprowadzenie do technologii Big Data
Wprowadzenie do technologii Big DataWprowadzenie do technologii Big Data
Wprowadzenie do technologii Big Data
 

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%