SlideShare a Scribd company logo
Radek Baczyński
01
4Developers 2016
Multi kernelowa aplikacja w oparciu o
Symfony 3 i microkernele
02
Monolit vs Wiele aplikacji 1
Message
Price3rd party
integration
Frontend
Backend Admin
Auth
App
Ilość zainstalowanych bundli
30
60
90
120
2013 2014 2015 2016
Bundle
Aplikacja monolityczna w Symfony
Container, events, routes
Aplikacja monolityczna w Symfony
~2000 ~ 200 ~ 7500
Usług w kontenerze Różych eventów Route
Dlaczego tak?
Aplikacja monolityczna w Symfony
!
?
Baaardzo szybki wzrost
biznesu
21
? FOSElasticaBundle
? I18nRoutingBundle
? Wstępne założenia
Dajemy radę!
Monolityczna aplikacja w Symfony
Bartek Kuleszewicz
Przyspieszenie Symfony2
na przykładzie
ZnanyLekarz.pl
05
https://vimeo.com/153816243
Wiele aplikacji 1
Message
Price3rd party
integration
Frontend
Backend Admin
Auth
! Bounded context
Cechy architektury wieloaplikacyjnej
!
Duży problem dzielimy na wiele
mniejszych problemów
! Większa autonomia zespołów
Wyzwania 1
! Deploy
Cechy architektury wieloaplikacyjnej
! Wiele repozytoriów (?)
! Warstwa sieciowa
! Tranzakcyjność
! Środowisko developerskie
Wiele aplikacji, a Symfony
02
Da się, ale…
Symfony
Architektura wieloaplikacyjna w Symfony
" You never need more than one
application in Symfony2"
Fabien Potencier
Spróbujmy
Architektura wieloaplikacyjna w Symfony
Symfony 2.8 wprowadziło MicroKernele, co
ułatwia tworzenie wielu aplikacji w jednym
projekcie.
Ale ta możliwość była zawsze
http://jolicode.com/blog/multiple-applications-with-symfony2
Kernel & Container
Architektura wieloaplikacyjna w Symfony
Kernel & Container
Architektura wieloaplikacyjna w Symfony
Kernel & Container
Architektura wieloaplikacyjna w Symfony
app.php i wiele Kerneli
Architektura wieloaplikacyjna w Symfony
Użyj stackphp lub
nginx.conf
AdminKernel
Architektura wieloaplikacyjna w Symfony
Struktura 1
! katalog app apps
!
configi indywidualne
i współdzielone
!
bundle indywidualne i
współdzielone
Architektura wieloaplikacyjna w Symfony
Nowe problemy 1
! Assety
! Eventy
! Komunikacja między aplikacjami
Architektura wieloaplikacyjna w Symfony
API call spider’s web 1
Architektura wieloaplikacyjna w Symfony
Email
Price
3rd party
integration
Frontend
Backend
Auth
Message Bus 1
Architektura wieloaplikacyjna w Symfony
Email
Price
3rd party
integration
Frontend
Backend
Auth
message bus
AddOrderCommand
AddedOrderEvent
Message Bus 1
Architektura wieloaplikacyjna w Symfony
! Commandy & Eventy asynchroniczne
! Monitoring i debugowanie
!
Łatwość wpinania nowych
aplikacji
Ale co z tym monolitem
02
W praktyce 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
5 112 28
Zespołów Bundli Krajów
1
Aplikacja
Hackathon 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
"
"
“Zajmie nam to rok”
“To ma sens?”
“Jak to zrobić”
“Zróbmy to w jeden
dzień!”
Hackathon 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
App
Front End
API
FrontEnd 1
Architektura wieloaplikacyjna w Symfony
! Tylko strona główna
! ~8 godzin Hackathon
!
Sprawdzimy co będzie
problemem
FrontEnd 1
Architektura wieloaplikacyjna w Symfony
!
Osobna aplikacja i
repozytorium
! Kopiujemy szablony Twig
! Assety z CDN
!
Na razie dla niezalogowanych
ale wprowadzimy SSO*
*https://pl.wikipedia.org/wiki/Pojedyncze_logowanie
! Cache!
! Testy wydajnościowe!
!
Aplikacja szkieletowa
dla kolejnych aplikacji
Monolit staje się backendem 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
Backend
Front End
API
SearchEngine
API
Backoffice
API
Queue
Podsumowanie 1
Architektura wieloaplikacyjna w Symfony
! Zrób to na początku
!
Jeśli masz dojarzały projekt znasz
swoje Bounded Contexts
! Nie ugrzęźnij
Fajne wyzwanie?
napisz do mnie:
radek.baczynski@docplanner.com
@radekbac
http://fb.com/radek-baczynski
02
Dziękuję :)
Czy macie jakieś pytania?
02

More Related Content

PDF
Od lokalnego do globalnego serwisu w Symfony2 - docplanner / znanylekarz
PDF
Poprawa dostępu do opieki zdrowotnej. Umawianie wizyt przez Internet - Piotr ...
PDF
Jak zrobic wizyte przez znanylekarz.pl
PDF
From * to Symfony2
PDF
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
PDF
SaaS con Symfony2
PPTX
ZnanyLekarz.pl - wyszukiwarka lekarzy i umawianie wizyt przez internet
PDF
Scaling symfony apps
Od lokalnego do globalnego serwisu w Symfony2 - docplanner / znanylekarz
Poprawa dostępu do opieki zdrowotnej. Umawianie wizyt przez Internet - Piotr ...
Jak zrobic wizyte przez znanylekarz.pl
From * to Symfony2
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
SaaS con Symfony2
ZnanyLekarz.pl - wyszukiwarka lekarzy i umawianie wizyt przez internet
Scaling symfony apps

Viewers also liked (7)

PDF
Symfony day 2016
PDF
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
PDF
Nuvola: a tale of migration to AWS
PDF
CQRS and Event Sourcing in a Symfony application
PDF
Six Stages of Digital Transformation (Research)
PDF
Deploying Symfony | symfony.cat
PDF
Blitzscaling Session 1: Household Stage
Symfony day 2016
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Nuvola: a tale of migration to AWS
CQRS and Event Sourcing in a Symfony application
Six Stages of Digital Transformation (Research)
Deploying Symfony | symfony.cat
Blitzscaling Session 1: Household Stage
Ad

Similar to Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele (7)

PDF
Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...
ODP
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
PDF
Jak migrować kod legacy do Symfony? Tips & tricks
PDF
Prostota i mozliwosci symfony2
PPTX
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
PPTX
Czy można napisać dobry MONOLIT?
PDF
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Jak migrować kod legacy do Symfony? Tips & tricks
Prostota i mozliwosci symfony2
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Czy można napisać dobry MONOLIT?
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Ad

Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele