SlideShare una empresa de Scribd logo
1 de 45
Tomasz Lelek
tomekl007
@tomekl007
Jak przerobić monolityczną
aplikację na architekturę mikro
serwisów ?
Plan Prezentacji
1. kontekst biznesowy
2. technologia
3. architektura
4. zarządzanie konfiguracja
5. monitorowanie
6. zbieranie logów
7. nowoczesna dokumentacja
Rozwiązywanie problemów
Monolit
Domena aplikacji
Jeden obiekt – wiele tożsamości
Ta sama funkcjonalność -
nowa architektura
Przekierowanie requestów
Url Rewriting
#Apache rewrite url, work for post request
RewriteEngine On
RewriteRule /generate http://reportservice.no/generate [P]
Potrzeby
i
Embedded Container
Startowanie serwisu
./sbt
>container:start
[info] Started
SelectChannelConnector@0.0.0.0:8090
[success] Total time: 2 s
Jak wygląda mikro serwis ?
Użycie przez importowanie
klienta
Wielu klientów
Bardzo specyficzny model (
core )
Rest, json, http
Architektura
Zarządzanie konfiguracja
Pytanie o konfiguracje
Podmiana konfiguracji
Monitorowanie serwisów -
status
Monitorowanie - zależności
Grafowa wizualizacja
Wizualizacja zależności
Gdzie jest serwis z
konfiguracjami ?
etcd
Circuit Breaker
Hystrix
Implementacja
Wiele serwisów = wiele logów
Jedno miejsce przeglądania
+ logstash
Konfiguracja Logstash
/_search?pretty&type=batch-
staging
Odpowiednia dokumentacja
Dokumentacja
Wygenerowany json
Swagger-ui
https://github.com/wordnik/swagger-ui
Dokumentacja jako klient
Czas na mikro serwisy !
Dziękuje, pytania ?

Más contenido relacionado

Destacado

Automatyzacja deploymentów aplikacji enterprise w AWS
Automatyzacja deploymentów aplikacji enterprise w AWSAutomatyzacja deploymentów aplikacji enterprise w AWS
Automatyzacja deploymentów aplikacji enterprise w AWSMichal Balinski
 
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaAutomatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaWomen in Technology Poland
 
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.ecommerce poland expo
 
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...Bartlomiej Twardowski
 
Jira plugin dev introduction 14012014 a
Jira plugin dev introduction 14012014 aJira plugin dev introduction 14012014 a
Jira plugin dev introduction 14012014 alukasgotter
 
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...Bartlomiej Twardowski
 
Ustawa o vod
Ustawa o vodUstawa o vod
Ustawa o vodMarsi1603
 
Środowisko testowe pod REST-a
Środowisko testowe pod REST-aŚrodowisko testowe pod REST-a
Środowisko testowe pod REST-aFuture Processing
 
Systemy rekomendacji
Systemy rekomendacjiSystemy rekomendacji
Systemy rekomendacjiAdam Kawa
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices Bozhidar Bozhanov
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Reshmi Krishna
 
Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureMarcin Grzejszczak
 

Destacado (14)

Strategia eCommerce
Strategia eCommerceStrategia eCommerce
Strategia eCommerce
 
Automatyzacja deploymentów aplikacji enterprise w AWS
Automatyzacja deploymentów aplikacji enterprise w AWSAutomatyzacja deploymentów aplikacji enterprise w AWS
Automatyzacja deploymentów aplikacji enterprise w AWS
 
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaAutomatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
 
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.
Marketing Automation według optivo. Najlepsze e-mail marketingowe case studies.
 
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na nieja...
 
Jira plugin dev introduction 14012014 a
Jira plugin dev introduction 14012014 aJira plugin dev introduction 14012014 a
Jira plugin dev introduction 14012014 a
 
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...
 
Ustawa o vod
Ustawa o vodUstawa o vod
Ustawa o vod
 
Środowisko testowe pod REST-a
Środowisko testowe pod REST-aŚrodowisko testowe pod REST-a
Środowisko testowe pod REST-a
 
Systemy rekomendacji
Systemy rekomendacjiSystemy rekomendacji
Systemy rekomendacji
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)
 
Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice Architecture
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 

Similar a Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?

Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiProjektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiAntoni Orfin
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
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
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...Tomasz Kopacz
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationBartlomiej Zass
 
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...PROIDEA
 
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
 
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PROIDEA
 
Jak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFrameworkJak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFrameworkHighWheelSoftware
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVCQuick-Solution
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
 
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
 
PLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux ContextualizationPLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux ContextualizationPROIDEA
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 

Similar a Jak przerobić monolityczną aplikację na architekturę mikro serwisów ? (20)

Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiProjektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
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
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic Beanstalk
 
Serwery WWW - wykład
Serwery WWW - wykładSerwery WWW - wykład
Serwery WWW - wykład
 
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
 
Jak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFrameworkJak nie narobić sobie problemów korzystając z EntityFramework
Jak nie narobić sobie problemów korzystając z EntityFramework
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
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
 
PLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux ContextualizationPLNOG 7: Michał Jura - Linux Contextualization
PLNOG 7: Michał Jura - Linux Contextualization
 
NET flow
NET flowNET flow
NET flow
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 

Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?

Notas del editor

  1. 35.nastepnie udajac sie w miejsce gdzie mamy elasticsearch mozemy przefiltrowac rekordy po wczesniej wyspecyfikowanym typie w konfiguracji logstash. widzimy message z logow tej aplikacji Mamy wiec w centralnym punkcie logi dla wszyskich serwisow
  2. 37.mozemy uzyc graficznego klienta, aby prezentowac te logi w fajniejeszej formie - kibana - jest to anrzedzie do tego celu, widzimy logi, w czasie rzeczywistym . Mozemy specyfikowac filtry - w tym przykladzie chce wyswietlic logi dla procesy batch, ktore zawieraja w message string excetpion, i odpowiedznim odstepie czasu. Logi sa zideksowane przez full text serach ( elasticsearch ) dzieki czemu, mozemy je filtrowac w kazdy mozliwy sposób Widizmi w przykaldzie ze np. o 12:14 było 30 takich logow. Po klikniecciu na pasek dostaniemy dokaldna liste logow wraz z wiadomosciami.
  3. 36.Istotnym roweniez elementem jest stworzenie dobrej dokumentacji webowych metod ( interfejsu ) naszej aplikacji. Doskonalym narzedziem do tego jest swagger. Dokumentacja powinna byc precyzyjna i zawierac tylko to, co potrzeba