Sunday, January 4, 2015

2014-12-04 Mikroserwisy

Koniec roku obfitował w prelekcje na bardzo wysokim poziomie. Na końcu zapowiedzi kolejnych - nie może was zabraknać!
W czwartek 4 grudnia 2014 odwiedził nas Marcin Grzejszczak, pochodzący z Łodzi, obecnie mieszkający w Warszawie współzałożyciel Warszawskiej Grupy Użytkowników Grooviego (WGUG). Marcin pracuje obecnie w 4Finance, gdzie z kolegami rozwijają bibliotekę Micro-Infra-Spring wspierającą architekturę mikroserwisów. Temat mikroserwisów ciągle jest bardzo popularny, czego dowodem może być frekwencja na prelekcji - ok. 80 osób to blisko rekordu spotkań łódzkiego JUGa. Cała prelekcja dostępna jest na naszym YouTube. Zachęcam do obejrzenia, a poniżej krótkie podsumowanie wydarzenia. Po prelekcji udaliśmy się do pubu Cotton, gdzie przy piwie i pizzy sponsorowanymi przez 4Finance mogliśmy w luźnej atmosferze wypytać Marcina o co nam tylko przyszło do głowy.

Widły, Łódź widły...

Marcin zaczął od krótkiej prezentacji 4Finance, gdzie wspomniał również o warunkach finansowych. Myślę, że ujawnianie warunków finansowych, tzw. widełek, to dobry trend i Łódzkie firmy są pod tym względem jeszcze sto lat za murzynami. Ich prezentacja wzbudziła spore zainteresowanie obecnych. Łodzi - może warto zaprzyjaźnić się z widłami?

To proste - robimy mikroserwisy i już

Czy tak? No właśnie, takie jest potoczne postrzeganie tematu - "założymy sobie oddzielne repozytoria z kodem i mamy mikroserwisy". Marcin pokazał, że to nie takie proste, jakie są wyzwania i ile pracy trzeba włożyć w architekturę, żeby nasze mikroserwisy zagrały.

Blisko początku prelegent pokazał problem zawarty w prawie Conwey'a - zależności struktury organizacyjnej i systemu, który organizacja buduje. Z tego względu 4Finance wprowadziło organizację mikro teamów - samoorganizujących się zespołów. To ciekawe spostrzeżenie pokazuje jak aspekty nietechniczne mogą być decydujące w trakcie tworzenia systemów w IT.

Następnie Marcin przeszedł do problemu z jakim mikroserwisy mają się zmierzyć, tzw. spaghetti code, który powstaje m.in. kiedy struktura kodu odwzorowuje techniczne aspekty projektu, a nie biznesowe. Ważne jest tutaj podejście DDD, które pozwala na odcinanie silnie oddzielonych kontekstów biznesowych (bounded context).

W prezentacji zawarte były również zalety podejścia:
- możliwość wykorzystywania najnowszych technologii, różnych dla innych serwisów,
- autonomiczność serwisów pozwala na wdrożenie/aktualizację małych klocków.

Marcin analizuje również tematy i narzędzia skupione wokół mikroserwisów:
- automatyzacja administracji systemami - tzw. provisioning (Ansible),
- deployment (Jenkins, Go),
- job scheduling (Roundeck),
- fail fast (Hystrix, Netflix Chaos Monkey),
- mikroserwisy vs ESB,
- mikroserwisy vs SOA,

Prelekcja poruszała również wyzwania związane z architekturą mikroserwisów:
- reużywalność kodu
- robustness principle
- zbyt wiele technologii
- zarządzanie zależnościami
- zmiany globalne.

W drugiej części prelekcji Marcin pokazywał jak można wykorzystać bibliotekę Micro-Infra-Spring, żeby znacznie uprościć cały proces. 

Wyniki ankiety

Linki

- Wpis Marcina na blogu po spotkaniu: http://toomuchcoding.blogspot.com/2014/12/doing-microservices-with-micro-infra.html#more

- Sporo komentarzy Marcina po spotkaniu na evencie meetupowym: http://www.meetup.com/Java-User-Group-Lodz/events/218109972/

- Cała prelekcja: https://www.youtube.com/watch?v=D6V49K_Yb8g

Uwaga!

To nie koniec dobrych prelekcji:

Git ready - 8 stycznia w czwartek o 18 widzimy się na DMCsie, zapowiedź spotkania na Meetupie. Prelegent: Maciej Jesionowsk­i.

Always Be Responsible for Any Code You Write, Even for Fun. NoException() - 15 stycznia w czwartek o 18 DMC, zapowiedź spotkania. Prelegent: Matt Harasymczu­k.

Narzędzia do automatyzacji tworzenia aplikacji webowych - 15 stycznia w czwartek o 18 na DMCsie, meetup. Prelegent: Jarosław Jaryszew.



No comments:

Post a Comment