Soumettre la recherche
Mettre en ligne
Mikrousługi w allegro
•
0 j'aime
•
224 vues
Laravel Poland MeetUp
Suivre
#LaravelPoznanMeetup #10 Temat: "Mikrouslugi w allegro" Autor: Paweł Nuckowski (allegro)
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 41
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
It od kuchni w nokaut.pl
It od kuchni w nokaut.pl
Przemyslaw Wroblewski
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
jzielinski_pl
PLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł Stefański
PROIDEA
Space Wars Hack - Class #1
Space Wars Hack - Class #1
Piotr Pawlak
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PROIDEA
Wjug from java to big data
Wjug from java to big data
Piotr Guzik
LXC - kontener pingwinów
LXC - kontener pingwinów
gnosek
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
SzymonSadlo
Recommandé
It od kuchni w nokaut.pl
It od kuchni w nokaut.pl
Przemyslaw Wroblewski
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
jzielinski_pl
PLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł Stefański
PROIDEA
Space Wars Hack - Class #1
Space Wars Hack - Class #1
Piotr Pawlak
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PROIDEA
Wjug from java to big data
Wjug from java to big data
Piotr Guzik
LXC - kontener pingwinów
LXC - kontener pingwinów
gnosek
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
SzymonSadlo
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
3camp
Jak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFramework
HighWheelSoftware
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
asquelt
Optymalizacja hostingu
Optymalizacja hostingu
Divante
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
Webinar - Podstawy Node.js
Webinar - Podstawy Node.js
Wojciech Kaniuka
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
PROIDEA
Michał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
kraqa
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PROIDEA
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
Semihalf
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...
PROIDEA
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
Jakub Hajek
Extjs & netzke
Extjs & netzke
GaldoMedia
Pocałunek śmierci
Pocałunek śmierci
Divante
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PROIDEA
Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13
Divante
Budowanie sieci Grid
Budowanie sieci Grid
Alicja Sieminska
Monitoring sieci
Monitoring sieci
Kamil Grabowski
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Biznes 2.0
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Webhosting.pl
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
Laravel Poland MeetUp
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
Laravel Poland MeetUp
Contenu connexe
Similaire à Mikrousługi w allegro
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
3camp
Jak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFramework
HighWheelSoftware
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
asquelt
Optymalizacja hostingu
Optymalizacja hostingu
Divante
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
Webinar - Podstawy Node.js
Webinar - Podstawy Node.js
Wojciech Kaniuka
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
PROIDEA
Michał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
kraqa
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PROIDEA
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
Semihalf
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...
PROIDEA
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
Jakub Hajek
Extjs & netzke
Extjs & netzke
GaldoMedia
Pocałunek śmierci
Pocałunek śmierci
Divante
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PROIDEA
Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13
Divante
Budowanie sieci Grid
Budowanie sieci Grid
Alicja Sieminska
Monitoring sieci
Monitoring sieci
Kamil Grabowski
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Biznes 2.0
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Webhosting.pl
Similaire à Mikrousługi w allegro
(20)
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
Jak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFramework
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Optymalizacja hostingu
Optymalizacja hostingu
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Webinar - Podstawy Node.js
Webinar - Podstawy Node.js
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Michał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
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...
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
Extjs & netzke
Extjs & netzke
Pocałunek śmierci
Pocałunek śmierci
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13
Budowanie sieci Grid
Budowanie sieci Grid
Monitoring sieci
Monitoring sieci
Cloud 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 Azure
Plus de Laravel Poland MeetUp
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
Laravel Poland MeetUp
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
Laravel Poland MeetUp
Kilka slajdów o castowaniu atrybutów w Eloquent
Kilka slajdów o castowaniu atrybutów w Eloquent
Laravel Poland MeetUp
Licencje otwartego oprogramowania
Licencje otwartego oprogramowania
Laravel Poland MeetUp
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
Laravel Poland MeetUp
Jak przemycić Shape Up do Scruma?
Jak przemycić Shape Up do Scruma?
Laravel Poland MeetUp
Cykl życia zapytania HTTP (pod maską)
Cykl życia zapytania HTTP (pod maską)
Laravel Poland MeetUp
Enumy w Laravelu - dlaczego warto stosować?
Enumy w Laravelu - dlaczego warto stosować?
Laravel Poland MeetUp
Laravelowe paczki do uwierzytelniania
Laravelowe paczki do uwierzytelniania
Laravel Poland MeetUp
Przegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do Laravela
Laravel Poland MeetUp
Walidacja w Laravelu
Walidacja w Laravelu
Laravel Poland MeetUp
(prawie) Wszystko o Tinkerze
(prawie) Wszystko o Tinkerze
Laravel Poland MeetUp
Laravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2E
Laravel Poland MeetUp
Laravel Octane - czy na pewno taki szybki?
Laravel Octane - czy na pewno taki szybki?
Laravel Poland MeetUp
Laravel Jobs i PHP8
Laravel Jobs i PHP8
Laravel Poland MeetUp
Wszystko o Laravel Livewire
Wszystko o Laravel Livewire
Laravel Poland MeetUp
Laravel/PHP - zderzenie z PDFami
Laravel/PHP - zderzenie z PDFami
Laravel Poland MeetUp
Action-based Laravel
Action-based Laravel
Laravel Poland MeetUp
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHP
Laravel Poland MeetUp
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Laravel Poland MeetUp
Plus de Laravel Poland MeetUp
(20)
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
Kilka slajdów o castowaniu atrybutów w Eloquent
Kilka slajdów o castowaniu atrybutów w Eloquent
Licencje otwartego oprogramowania
Licencje otwartego oprogramowania
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
Jak przemycić Shape Up do Scruma?
Jak przemycić Shape Up do Scruma?
Cykl życia zapytania HTTP (pod maską)
Cykl życia zapytania HTTP (pod maską)
Enumy w Laravelu - dlaczego warto stosować?
Enumy w Laravelu - dlaczego warto stosować?
Laravelowe paczki do uwierzytelniania
Laravelowe paczki do uwierzytelniania
Przegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do Laravela
Walidacja w Laravelu
Walidacja w Laravelu
(prawie) Wszystko o Tinkerze
(prawie) Wszystko o Tinkerze
Laravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2E
Laravel Octane - czy na pewno taki szybki?
Laravel Octane - czy na pewno taki szybki?
Laravel Jobs i PHP8
Laravel Jobs i PHP8
Wszystko o Laravel Livewire
Wszystko o Laravel Livewire
Laravel/PHP - zderzenie z PDFami
Laravel/PHP - zderzenie z PDFami
Action-based Laravel
Action-based Laravel
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHP
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Mikrousługi w allegro
1.
Mikrousługi w
2.
Paweł Nuckowski Senior Software
Engineer p.nuckowski@gmail.com Zdjęcie
3.
Technologie ● 800+ mikrousług ●
JVM (Java, Kotlin, Scala) ● Python, Go, Elixir, Swift, ... ● SQL vs NoSql (MySQL,PostreSQL,Mongo,Cassandra,...)
4.
Monolith First ● Monolith
(PHP) ○ Utrudniona praca nad kodem ○ Złożony proces wdrożeń
5.
Platforma developerska ● Elastyczna
technologicznie
6.
Platforma developerska ● Elastyczna
technologicznie
7.
Platforma developerska ● Usprawniać
pracę biznesu
8.
Platforma developerska ● Usprawniać
pracę biznesu
9.
Warstwy abstrakcji
10.
Wdrożenia
11.
Abstrakcja wdrożeniowa ● Wszystko
i wszędzie ● Mesos jako technologia wdrożeniowa (mesos.apache.org)
12.
Konfiguracja
13.
Konfiguracja ● jedno bezpieczne
miejsce na hasła ● usługa do zarządzania konfiguracją
14.
Metryki & Logi
15.
Metryki & Logi ●
chcemy wiedzieć jak system działa ● czasy odpowiedzi zasobów REST ● czasy klientów HTTP
16.
Metryki & Logi
17.
Metryki & Logi ●
9 mln metryk/minute ● Statsd, Graphite, Prometheus ● Logstash & Kibana
18.
Monitoring - automatyczny
19.
Monitoring - automatyczny ●
szablony monitoringu ○ czasy odpowiedzi, ilość 500 ○ restart aplikacji ○ zasoby: CPU, pamięć
20.
Autoscaling
21.
Autoscaling ● dokładamy instancji
aplikacji gdy ruch jest wzmożony ● gdy ruch spada zmniejszamy liczbę instancji
22.
Autoscaling ● dokładamy instancji
aplikacji gdy ruch jest wzmożony ● gdy ruch spada zmniejszamy liczbę instancji ● Automatycznie
23.
Komunikacja
24.
Komunikacja ● Komunikaty biznesowe ●
Pub/Sub ● Hermes hermes.allegro.tech ● Apache Kafka over REST ● HDFS
25.
Service Discovery
26.
Service Discovery ● service://my-service/api/ ●
usługa wstając ma obowiązek zarejestrowania się ● padając automatycznie jest wyrejestrowywana ● całkowicie pozbyliśmy się odpytywania po hostach
27.
Kontrakt usługi
28.
Kontrakt usługi ● pl.allegro.{domain}.{context}.{nazwa} ●
status/info - identyfikacja usługi ● status/ping - mechanizm weryfikacji usługi
29.
Allegro AppEngine
30.
Allegro AppEngine ● Zaczynaliśmy
skromnie ● Standaryzacja oraz kolejny warstwy abstrakcji
31.
Allegro AppEngine
32.
Allegro AppEngine ● Info ●
Runtime ● Deployment ● Load Balancer ● OAuth ● Database ● Diagnostics ● Security ● Monitoring ● Configuration
33.
Allegro AppEngine ● Deployment ○
separacja środowisk (dev, test, prod) ○ wdrożenia kanarkowe na prod (%)
34.
Distributed tracing
35.
Distributed tracing ● Zipkin.io
36.
Distributed tracing ● Zipkin.io
37.
Distributed tracing ● Zipkin.io
38.
Mikrousługi dla każdego? ●
Tak i Nie :) ● Są gotowe rozwiązania w OpenSource
39.
Podsumowanie ● bogata platforma,
sporo automatyzacji ● większość czasu poświęcamy na rozwój biznesu ● ciekawe projekty i wyzwania
40.
Dziękuję ● @allegrotech ● https://allegro.tech/
41.
Pytania? p.nuckowski@gmail.com Paweł Nuckowski
Télécharger maintenant