SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Jak zrobić bramkę zdolną przyjąć miliony danych
i nie strzelić sobie gola?
Use case
Kamil Wysocki – Cloud Solutions Architect, Billennium (kamil.wysocki@billennium.pl)
Wybierz grafikę lub jeden z kolorów z koła kolorystycznego
Agenda
• O mnie
• Opis przypadku
• Jak zrobić bramkę?
• Problemy, błędy
• Statystyki
• Podsumowanie
• Pytania
O mnie
• Programista, architekt
• 10 lat doświadczenia
• Billennium Lab (R&D)
• Pasjonat technologii chmurowych
Use case: chcę
odebrać pliki!
• Cyklicznie
• Zazwyczaj tuż przed terminem
• W godzinach pracy
• O różnych rozmiarach (1KB – 300GB)
• Od 2 mln klientów
• Nie w moim data centrum!
• Bezpiecznie
Azure Network
1. Własna sieć szkieletowa
2. Wbudowana systemy anty DDoS
3. Możliwość blokowania ataków DDoS na węzłach u partnerów
Proste. Chmura wszystko przyjmie ;)
1. Klienci wysyłają do chmury
2. Chmura przekazuje do data center
3. Data center potwierdza przyjęcie
4. Chmura potwierdza przyjęcie
Rest Api
Cloud design patterns
Valet Key Pattern
• Azure Storage Blob
• SAS
• Komunikacja bezpośrednio do Azure
Storage
REST API
1. Init Upload
2. Put (Azure Storage Blob REST Api)
3. Finish Upload
4. Status
Init Upload
• Metadane biznesowe
• Metadane o wysyłce
• Informacja o wysyłanym pliku (MD5)
• Podpis elektroniczny zgodny z Xades-
Bes
Init Upload - response
1. Losowy storage
2. SAS – wygenerowany z policy
3. Dynamiczny timeout
4. MD5
5. HttpClient, SDK: .NET, Node.js, Java, C++, PHP, Ruby, Python, iOS, Xamarin
PutBlob
FinishUpload
Sprawdzam!
Status
Sprawdzanie aktualnego statusu
Baza danych
1. Co trzymamy w bazie?
2. Sql, czemu nie?
3. Insert, Select!
4. A kiedy wszystko już jest gotowe…
5. Testy wydajnościowe
6. Azure Storage Account Table
IntegracjaIntegracja z inną firmą IT
Integracja
1. Informacja o nowej wysyłce trafia do
kolejki
2. Datacenter odbiera wiadomość tak
szybko jak potrafi
3. Pobiera paczkę z Bloba
4. Wysyła informacje o statusach
5. Bramka pobiera informacje o
statusach
Storage CQRS (RA-GRS)
Azure Service Bus Queue
bramkabramka
Azure Storage Blob
Data centrumData centrum
1 2
3
4
3
Azure Service Bus Queue
5
Status
• 44K w ciągu 2h
• Nie mamy wpływu jak klienci używają
naszego API
• Throttling
• Azure Redis Cache
• SaaS – 250MB-530GB RAM
Cache aside pattern
Statystyki
• Avg. Response time 30 days
ASE – Statystyki
• App Service Environment
Podsumowanie
• Trudne w on-premises
• Łatwe w chmurze
Pytania
kamil.wysocki@billennium.pl
www.billennium.pl
IT dla ludzi. Ludzie dla IT.
Billennium Sp. z o.o.
Ul. Tagore 3
02-647 Warszawa
Poland
www.billennium.pl
+48 22 844 15 00
info@billennium.pl

Weitere ähnliche Inhalte

Ähnlich wie Kamil Wysocki - Jak zrobić bramkę zdolną przyjąć miliony danych i nie strzelić sobie gola

Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury
Jakub Mazurkiewicz
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
Divante
 

Ähnlich wie Kamil Wysocki - Jak zrobić bramkę zdolną przyjąć miliony danych i nie strzelić sobie gola (20)

PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Najbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurzeNajbardziej popularne wzorce architektoniczne w chmurze
Najbardziej popularne wzorce architektoniczne w chmurze
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidk
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury
 
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
 
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
 
Silesia JUG : Java Message Service
Silesia JUG : Java Message ServiceSilesia JUG : Java Message Service
Silesia JUG : Java Message Service
 
infraxstructure: Rafał Stańczak "Postępujący rozwój infrastruktury na potrze...
infraxstructure: Rafał Stańczak  "Postępujący rozwój infrastruktury na potrze...infraxstructure: Rafał Stańczak  "Postępujący rozwój infrastruktury na potrze...
infraxstructure: Rafał Stańczak "Postępujący rozwój infrastruktury na potrze...
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Logi dla dużych firm_Tameshi na AWS Community Day .pdf
Logi dla dużych firm_Tameshi na AWS Community Day .pdfLogi dla dużych firm_Tameshi na AWS Community Day .pdf
Logi dla dużych firm_Tameshi na AWS Community Day .pdf
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
 
10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
DynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornychDynamoDB – podstawy modelowania danych dla opornych
DynamoDB – podstawy modelowania danych dla opornych
 
Praca naukowa i projekty komercyjne w 9 Lives Data
Praca naukowa i projekty komercyjne w 9 Lives DataPraca naukowa i projekty komercyjne w 9 Lives Data
Praca naukowa i projekty komercyjne w 9 Lives Data
 
Żegnaj chmuro, witaj blacho - Marcin Kowalski
Żegnaj chmuro, witaj blacho - Marcin KowalskiŻegnaj chmuro, witaj blacho - Marcin Kowalski
Żegnaj chmuro, witaj blacho - Marcin Kowalski
 
SQLDAY2022-AdrianChodkowski-10BledowPowerBI.pdf
SQLDAY2022-AdrianChodkowski-10BledowPowerBI.pdfSQLDAY2022-AdrianChodkowski-10BledowPowerBI.pdf
SQLDAY2022-AdrianChodkowski-10BledowPowerBI.pdf
 
Nowości w zakresie bezpieczeństwa w SQL Server 2016
Nowości w zakresie bezpieczeństwa w SQL Server 2016Nowości w zakresie bezpieczeństwa w SQL Server 2016
Nowości w zakresie bezpieczeństwa w SQL Server 2016
 

Kamil Wysocki - Jak zrobić bramkę zdolną przyjąć miliony danych i nie strzelić sobie gola