SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (7)

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

Ähnlich wie Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele

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
 
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
Infoshare
 

Ähnlich wie Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele (13)

Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...
Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...
Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy uż...
 
Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012
 
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
 
Webinar symfony
Webinar symfonyWebinar symfony
Webinar symfony
 
Aplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowychAplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowych
 
Reliable Event Delivery with Apache Kafka®
Reliable Event Delivery with Apache Kafka®Reliable Event Delivery with Apache Kafka®
Reliable Event Delivery with Apache Kafka®
 
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...
 
WUD 2009 - Ewolucja interface'ów aplikacji
WUD 2009 - Ewolucja interface'ów aplikacjiWUD 2009 - Ewolucja interface'ów aplikacji
WUD 2009 - Ewolucja interface'ów aplikacji
 
RIA - przyszłość aplikacji internetowych
RIA - przyszłość aplikacji internetowychRIA - przyszłość aplikacji internetowych
RIA - przyszłość aplikacji internetowych
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
 
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
infoShare 2011 - Łukasz Korzeniowski - Różnorodność mobilnych systemów operac...
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Od Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki koduOd Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki kodu
 

Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele