Rozproszona i asynchroniczna architektura - case study - Spread it
-
Upload
krzysztof-szabelski -
Category
Software
-
view
144 -
download
0
Transcript of Rozproszona i asynchroniczna architektura - case study - Spread it
![Page 1: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/1.jpg)
Rozproszona i asynchroniczna architektura oparta na Azure - case study
Krzysztof Szabelski
![Page 2: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/2.jpg)
Krzysztof Szabelski
Konsultant techniczny, trener, prelegent
Obszary zainteresowań► .NET► Architektura systemów► Przywództwo techniczne► Microsoft Azure
Prywatnie► Skialpinista,► Motocyklista,► Podróżnik
Great software… because we put People first► Software development
services► Training and consulting
![Page 3: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/3.jpg)
Dziś w programie
Asynchroniczność na poziomie architektury
Mikroserwisy
Chmura obliczeniowa w
praktyce
Dobre rozwiązania
Złe rozwiązania
Prawdziwy projekt –
prawdziwe doświadczenia
![Page 4: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/4.jpg)
O projekcie• Powiedzmy, że chodzi o:
• Nowatorski system zamawiania i obsługi taksówek.• SaaS • Multitenant• Mali klienci (małe miasteczka)
• Wymagania niefunkcjonalne• Dostępność bliska 24/7• Duża liczba zleceń w szczycie• Niezbędna responsywność dla użytkownika, nawet w szczycie
![Page 5: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/5.jpg)
Website
Services
Browser application
SQL Databases
Storage blob
Email Service
Commands Service
SignalR Hub Host
New order topic
Application Insights
Order DatabaseOrder Service
Notification topic
Mobile Gateway Push Notification Ack Service
Notification timeout topic
Notification ack topic
Timedout notification topic
Order Processor Service
Mobile App
![Page 6: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/6.jpg)
Asynchroniczność na poziomie architektury
Browser application
Booking Commands Service
Bookings Hub Host
New booking topic
Booking DatabaseBooking Service
Notification topic
Booking Processor Service
Scenariusz 1 – normalne działanie
![Page 7: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/7.jpg)
Asynchroniczność na poziomie architektury
Browser application
Booking Commands Service
Bookings Hub Host
New booking topic
Booking DatabaseBooking Service
Notification topic
Booking Processor Service
Scenariusz alternatywny – maksymalna prostota
![Page 8: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/8.jpg)
Asynchroniczność na poziomie architektury
Browser application
Booking Commands Service
Bookings Hub Host
New booking topic
Booking DatabaseBooking Service
Notification topic
Booking Processor Service
Scenariusz 2 – godziny szczytu
Δt=?
![Page 9: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/9.jpg)
Asynchroniczność na poziomie architektury
Browser application
Booking Commands Service
Bookings Hub Host
New booking topic
Booking DatabaseBooking Service
Notification topic
Booking Processor Service
Scenariusz 3 – wzrost liczby klientów
![Page 10: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/10.jpg)
Asynchroniczność na poziomie architektury
Browser application
Booking Commands Service
Bookings Hub Host
New booking topic
Booking DatabaseBooking Service
Notification topic
Booking Processor Service
Scenariusz 4 – coś poszło nie tak
![Page 11: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/11.jpg)
Mikroserwisy• Osiągnięte korzyści• Segmentacja danych • Modularność systemu
• Koszty i nieosiągnięte korzyści• Koszty vs prędność• Brak odporności na awarie pojedynczych serwisów – ukryte zależności• Niezależny deployment – nadmierna komplikacja dla jednego zespołu
![Page 12: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/12.jpg)
Mikroserwisy
„Almost all the successful microservice stories have started with a monolith. Almost all (...) system that was built as a microservice system from scratch, has ended up in serious trouble.”
Martin Fowler
![Page 13: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/13.jpg)
Chmura obliczeniowa w praktyce
IaaS czy PaaS?+ Koszt usług- Koszt obsługi- Czas uruchomienia- Podatność na błędy ludzkie
+ Koszt obsługi+ Czas uruchomienia+ Bezpieczeństwo/skalowalność - Ograniczenia- Koszt usług
![Page 14: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/14.jpg)
Microsoft Azure – wykorzystane usługi
• Cloud Service• Trochę przestarzałe• App Services (Web App) – lepsza alternatywa
• SQL Database • Ograniczony Sql Server – perspektywa DB Nazi• Wygodny SQL Server – perspektywa developera
• Azure Service Bus• Tanio, wygodnie i stabilnie, żyć nie umierać
• Application Insights• Send Grid• Search
![Page 15: Rozproszona i asynchroniczna architektura - case study - Spread it](https://reader036.fdocument.pub/reader036/viewer/2022081605/5888c22a1a28ab200f8b57f7/html5/thumbnails/15.jpg)
Podsumowanie• PaaS – the way to go!• Realnie globalny zasięg dla małej organizacji• Duża oszczędność czasu zarządzania środowiskiem
• Microservices• Unikaj• Lub bądź pewien, że wiesz co robisz i rób to dobrze
• Kolejki i przetwarzanie w tle• Potężny, obosieczny miecz • Używaj z rozwagą, licz się z konsekwencjami