Dziś chciałem się z Wami podzielić ciekawostką, którą wykopaliśmy w "zagranicznym" internecie.
Temat jest nam bliski, zresztą jak wszystko co związane ze Springiem i Spring Bootem. Okazuje się, że powszechnie znany serwis streamujący wideo - Netflix,
postanowił zastąpić własny framework równie znanym i lubianym w ekosystemie Javy - Spring Bootem. W tym momencie od razu nasuwa się pytanie - dlaczego stało się to
właśnie teraz, skoro Spring Boot istnieje już od lat? Aby to zrozumieć trzeba się cofnąć co nieco do historii.
Netflix OSS (Open Source Software)
W 2007 roku Netflix rozpoczął swoją pracę ukierunkowaną na działanie w architekturze chmurowej.
W ramach tego zadania inżynierowie Netflixa zbudowali kilka bibliotek i systemów w ramach infrastruktury chmury.
Z najbardziej znanych wymienić trzeba mechanizm do load balancingu (równoważenia obciążenia) o wdzięcznej nazwie Ribbon oraz
system Eureka stworzony w celu wykrywania i podstawowego monitoringu usług. Wielu programistów słyszało też pewnie o Hystrixie,
który umożliwia zarządzanie błędami i awariami w systemach rozproszonych. Wszystkie te elementy były integrowane za pomocą wewnętrznego frameworka Governator,
współpracującego z mechanizmem zarządzającym konfiguracją - Archaius.
Spring Cloud Netflix
W tym czasie społeczność Springa zgromadzona wokół Spring Cloud Netflix zajmowała się tworzeniem komponentów umożliwiających integrację
z rozwiązaniami Netflixa, a w 2015 roku doprowadziła do finalizacji prac nad wersją 1.0. Ze względu na elastyczność i łatwość użycia
ten sposób integracji stawał się coraz bardziej popularny, aż w końcu Netflix podjął decyzję, że z początkiem 2018 roku
rezygnuje z własnego rozwiązania w postaci Governatora z Archaiusem i przechodzi na Spring Boota!
Nowe otwarcie
Netflix swoje kolejne decyzje tłumaczy tym, że na początku najważniejszym aspektem było zbudowanie frameworka, który jest skalowalny, wydajny i bezpieczny,
a w tamtym czasie (2010 rok) takiego rozwiązania po prostu nie było. Natomiast w ciągu kilku lat platforma Spring ciągle się rozwijała i powoli dojrzewała do tego
aby w końcu stać się w pełni gotową do spełnienia wymagań stawianych przez Netflixa. Ewolucja Springa i jej cechy doskonale wpasowują się w bieżące oczekiwania,
a także dalsze perspektywy rozwoju największej na świecie firmy dostarczającej usługi medialne w internecie.
To co zostało docenione w Springu to przede wszystkim doświadczenie
w dostępie do danych (Spring Data), złożone struktury zarządzania bezpieczeństwem (Spring Security) oraz integracje z dostawcami architektury chmurowej
(Spring Cloud AWS). Warty podkreślenia jest również sposób przygotowania kolejnych rozwiązań Springa. Netflix zauważył, że są one przemyślane, dobrze zaprojektowane
i udokumentowane, a także zapewniają stabilność nawet w przypadku dalszej rozbudowy. Dostrzegając te wszystkie zalety, ludzie z Kalifornijskiego giganta
postanowili więc nazwyczajniej w świecie zaufać Springowi i postawili na Spring Boota.
Czy to zauroczenie Springiem i Spring Bootem będzie trwałe i czy przetrwa próbę czasu - tego nie wiem. Wiem natomiast, że w zeszłym roku parę razy zdarzało mi się
testować rozwiązania Netflixowe przy pomocy Springa i osobiście oceniam tą integrację bardzo pozytywnie. Wydaje się, że zacieśnienie współpracy między Netflixem
i Springiem może w niedalekiej przyszłości przynieść dużo dobrego dla nas wszystkich.
Autor: Jarek Klimas
Data: 15 luty 2019
Labele:Backend, Spring, Netflix, Poziom średniozaawansowany
Linki:
https://medium.com/netflix-techblog/netflix-oss-and-spring-boot-coming-full-circle-4855947713a0
https://netflix.github.io
Masz pytanie odnośnie zagadnienia omawianego w artykule?
Coś, co napisaliśmy, nie zaspokoiło Twojego głodu wiedzy?
Daj nam znać co myślisz i skomentuj artykuł na facebooku!