Serverless_na_platformie_Azure_servaz.pdf

(3238 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Barbara Lepionka
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Grafika na okładce została wykorzystana za zgodą Shutterstock.com
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/servaz
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Kody źródłowe wybranych przykładów dostępne są pod adresem:
ftp://ftp.helion.pl/przyklady/servaz.zip
ISBN: 978-83-283-5068-7
Copyright © Helion 2019
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wstęp ................................................................................................................. 7
Rozdział 1. Serverless ......................................................................................... 11
1.1. „Bezserwerowy” ................................................................................................................. 11
1.2. Od monolitu do funkcji .................................................................................................... 12
1.3. Od architektury klient-serwer do sterowanej zdarzeniami ......................................... 14
1.4. FaaS — świat bez wad? ...................................................................................................... 16
1.5. Historia FaaS ...................................................................................................................... 17
1.6. FaaS od różnych dostawców ............................................................................................ 18
1.7. Podsumowanie ................................................................................................................... 18
Rozdział 2. Azure Functions — zacznijmy! ........................................................... 19
2.1. Pierwsza funkcja Hello Azure! ......................................................................................... 20
2.2. JavaScript i funkcje ............................................................................................................ 26
2.3. C# script i funkcje .............................................................................................................. 32
2.4. Wyzwalacze, wiązania i gotowe szablony ...................................................................... 38
2.5. Podsumowanie ................................................................................................................... 45
Rozdział 3. Azure CLI, Azure Function Tools for VS ................................................. 47
3.1. Azure CLI ........................................................................................................................... 48
3.1.1. Logowanie do platformy Azure ............................................................................ 49
3.1.2. Utworzenie grupy zasobów ................................................................................... 49
3.1.3. Utworzenie konta w usłudze magazynu (Azure Storage) ................................. 50
3.1.4. Utworzenie aplikacji funkcji (Function App) ..................................................... 51
3.2. Azure Function Tools dla Visual Studio ........................................................................ 53
3.2.1. Rozpoczęcie pracy z Visual Studio ....................................................................... 53
3.2.2. Dodanie funkcji do aplikacji funkcji .................................................................... 56
3.2.3. Uruchomienie i debugowanie funkcji .................................................................. 61
3.2.4. Wdrożenie na platformie Azure ........................................................................... 65
3.3. Podsumowanie ................................................................................................................... 69
Kup książkę
Poleć książkę
4
Serverless na platformie Azure
Rozdział 4. Durable Functions ............................................................................. 71
4.1. Kluczowe pojęcia ............................................................................................................... 72
4.1.1. Funkcja aktywności, funkcja orkiestracji ............................................................. 72
4.1.2. DurableOrchestrationContext .............................................................................. 73
4.1.3. Nowe typy wiązań ................................................................................................... 74
4.1.4. Uruchomienie funkcji ............................................................................................ 75
4.2. Durable Functions pod maską ......................................................................................... 77
4.2.1. Task Hub .................................................................................................................. 77
4.2.2. Skalowanie ............................................................................................................... 78
4.3. Event sourcing ................................................................................................................... 78
4.4. Ograniczenia związane z Durable Functions ................................................................ 82
4.5. Podsumowanie ................................................................................................................... 83
Rozdział 5. FaceAggregator — wizja i architektura .............................................. 85
5.1. Założenia projektowe ........................................................................................................ 85
5.2. Usługi i komponenty wsparcia ........................................................................................ 86
5.2.1. Cognitive Services ................................................................................................... 86
5.2.2. Azure Storage — Blob ............................................................................................ 86
5.2.3. Azure Storage — Queue ......................................................................................... 87
5.2.4. Cosmos DB .............................................................................................................. 88
5.2.5. Twilio SMS ............................................................................................................... 88
5.2.6. Logic Apps ............................................................................................................... 88
5.2.7. Application Insights ............................................................................................... 89
5.2.8. Azure DevOps ......................................................................................................... 89
5.2.9. Azure Functions Proxy .......................................................................................... 89
5.2.10. Google Sign-In ...................................................................................................... 89
5.3. Architektura aplikacji ....................................................................................................... 90
5.4. Projekt interfejsu użytkownika ........................................................................................ 93
5.5. Podsumowanie ................................................................................................................... 93
Rozdział 6. Zarządzanie zdjęciami ....................................................................... 95
6.1. Frontend aplikacji FaceAggregator ................................................................................. 96
6.2. Konfiguracja narzędzi i uruchomienie aplikacji ........................................................... 98
6.3. Funkcja pobierająca zasoby użytkownika ...................................................................... 99
6.4. Funkcja dodająca zdjęcia do kontenera ........................................................................ 106
6.5. Funkcja tworząca miniaturki zdjęć ............................................................................... 110
6.6. Funkcje zwracające zdjęcia ............................................................................................. 112
6.7. Funkcja usuwająca i funkcja zmieniająca nazwę zdjęcia ........................................... 115
6.8. Podsumowanie ................................................................................................................. 119
Kup książkę
Poleć książkę
Spis treści
5
Rozdział 7. CI/CD z Azure DevOps w tle ............................................................... 121
7.1. Przygotowanie .................................................................................................................. 122
7.2. Continuous deployment ................................................................................................. 122
7.3. Azure DevOps .................................................................................................................. 125
7.4. Udostępnienie frontendu za pomocą Azure Function Proxy ................................... 130
7.5. Podsumowanie ................................................................................................................. 134
Rozdział 8. Integracja aplikacji z Face API .......................................................... 135
8.1. Zakładka Face Recognition ............................................................................................ 136
8.2. Funkcja pobierająca drzewo katalogów użytkownika ................................................ 138
8.3. Funkcja przyjmująca zlecenia użytkownika ................................................................ 139
8.4. Utworzenie usługi Face API ........................................................................................... 141
8.5. Sprawdzanie zgodności zdjęć z wymaganiami ............................................................ 145
8.6. Funkcja trenująca model ................................................................................................ 154
8.7. Funkcja przetwarzająca wybrane zdjęcia ..................................................................... 159
8.8. Wdrożenie projektu ........................................................................................................ 166
8.9. Podsumowanie ................................................................................................................. 169
Rozdział 9. Autoryzacja i uwierzytelnianie ......................................................... 171
9.1. Skonfigurowanie dostawcy tożsamości ........................................................................ 171
9.2. Konfiguracja uwierzytelniania w Azure ....................................................................... 175
9.3. Pobieranie tożsamości w kodzie .................................................................................... 176
9.4. Atrybut filtrujący ............................................................................................................. 178
9.5. Podsumowanie ................................................................................................................. 180
Rozdział 10. Łączenie z zewnętrznymi serwisami ............................................... 181
10.1. Utworzenie aplikacji Logic App .................................................................................. 181
10.2. Pierwszy wyzwalacz i akcja .......................................................................................... 184
10.3. Wyrażenia warunkowe i pętla ..................................................................................... 187
10.4. Testowanie przepływu i widok tekstowy ................................................................... 191
10.5. Podsumowanie .............................................................................................................. 194
Rozdział 11.Testowanie ................................................................................... 195
11.1. Testowanie logiki biznesowej ...................................................................................... 195
11.2. Testowanie metod funkcji ............................................................................................ 202
11.3. Wdrożenie testów do chmury ..................................................................................... 211
11.4. Podsumowanie .............................................................................................................. 213
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin