Konferencja GeeCON Microservices 2015 odbyła się w Sopocie, zorganizowano ją w Multikinie. Frekwencja była nie za duża – około 200 osób.

Tematami tegorocznej konferencji były mikroserwisy i architektura. Organizatorzy zapowiedzieli udział sław i jako pierwsza wystąpiła największa gwiazda konferencji –
Fred George z prezentacją ” It’s Not Just MicroServices: Areas of focus for MicroService Success”
I było po amerykańsku: dużo wykresów, ciekawych uwag, trochę dowcipów, nic bardzo odkrywczego, ale wszystko przedstawione sprawnie i dość ciekawie. Byłoby jeszcze lepiej, gdybym nie był dzień wcześniej na warsztatach (o tym na końcu), wtedy słyszałbym to wszystko po raz pierwszy.
Główna idea: Go faster. I to nie dlatego tylko, że chcesz, ale głównie dlatego, że musisz, ponieważ:

  1. Na rynku jest ogromna, globalna konkurencja. Musisz być lepszy i szybszy niż wszyscy inni. Dzisiaj z łatwością siedząc w Azji możesz oferować swoje usługi w UE czy USA. Liczy się, kto jest pierwszy, szybciej nadąża za trendami i dostarcza to, czego oczekują klienci.
  2. Spotykamy się z wieloma skomplikowanymi problemami, w których brak wyraźnego powiązania przyczyny ze skutkiem. Żeby je rozwiązywać, trzeba próbować. Trzeba mieć możliwość łatwego modyfikowania systemu na produkcji i próbowania wielu różnych ścieżek, zanim znajdzie się tę właściwą.

Było też o tym, jak przez lata skracał się czas: dostarczenia aplikacji, długości iteracji, czy też przygotowania sprzętu. Dzisiaj konfiguracja sprzętu zajmuje sekundy (docker), a deployment robi się kilka razy dziennie. Przykład z życia: przez tydzień 53 developerów zrobiło 882 commity i 652 deploymenty.Trzeba tylko odrzucić strach przed chmurami, rozwiązaniami Open Source, „dziwnymi” bazami danych czy „dziwnymi” językami programowania. Trzeba też z klientem rozmawiać na poziomie funkcjonalności, a nie user story.
Oczywiście wszystko to wymaga także ogromnych zmian mentalnych i w sposobie działania organizacji.

Hasła klucze: „fail fast”, „Experimentation drives innovation”.

I z haseł anarchicznych: nie piszemy testów, testujemy na produkcji, managerowie są źli i niepotrzebni, team rządzi.

Z technologicznego worka:
https://www.docker.com/
cały stos: https://netflix.github.io/

Poniżej krótkie notatki na temat kolejnych wystąpień:

Bert Jan Schrijver „Swimming upstream in the container revolution: Containerless Continuous Delivery”
Pierwsza z cyklu prezentacja o tym, że mieliśmy jedną wielką aplikację, a teraz mamy mikroserwisy.

Marcin Grzejszczak & Tomasz Szymański„Microservices – enough with theory, let’s do some coding”
Kodowania było dosłownie 5 linijek, za to było bardzo dużo narzędzi/frameworków. Kilka, które zapisałem:
https://zookeeper.apache.org/
https://www.elastic.co/products/kibana
http://grafana.org/
https://github.com/scobal/seyren
https://jenkins-ci.org/

https://github.com/Netflix/Hystrix
http://swagger.io/ – bardzo fajne jak się ma REST-owe api
https://jenkins-ci.org/

Cały ten stos przewijał się przez wiele prezentacji.

Adrian Trenaman ” Scaling microservices at Gilt”
Kolejna historia o tym, jak z jednej aplikacji mieć kilka, ale ta przynajmniej ciekawie opowiedziana i z morałem. Zaczęło się od tego, że prelegent spóźnił się na konferencję, ponieważ dzień wcześniej padła aplikacja i wezwano go z lotniska do biura, żeby ją naprawił. Potem było trochę o biznesie (gilt.com), o jego specyfice (zazwyczaj mają ruch na stronie na poziomie poniżej 5000 zapytań, ale koło północy rośnie do 45000 zapytań, ponieważ są publikowane nowe oferty na kolejny dzień). Zaczynali od aplikacji w Ruby On Rails, teraz mają większość w chmurze Amazona, serwisy są w Scali, Javie (play framework) i JavaScripcie (node.js). Mają swoją architekturę serwisu jeszcze opakowaną przez dockera.

Morał: błąd w aplikacji okazał się na poziomie sterownika do Mongo (Mongo + hiszpańskie tłumaczenia :)) – cały mikroserwis przepisali w kilka godzin, prelegent dotarł na konferencję.

Ondřej Krajíček „Microservices or SOLID Services?”
Może i fajne, ale słabo przedstawione. Jednym zdaniem: wszystkie kłótnie w IT już przerabialiśmy, nie można oczekiwać, że mikroserwisy będą odpowiedzią na wszystko. Stare zasady pisania kodu nadal obowiązują.

Jarosław Pałka „3 (or more) fallacies of microservices in a monolithic world”
Prezentacja w zasadzie na ten sam temat, co poprzednia.Troszkę zabawniej i lepiej opowiedziane. Motto: „think for yourself and question authority”.

Bruno Bossola „Microservices: the lean way, I mean, code”
Ta sama historia po raz kolejny: mieliśmy 1 apkę, mamy wiele. Tym razem po włosku: z uśmiechem i bez napinki. Tak tego typu prezentacje powinny wyglądać.

tool: http://www.msnos.io/

Sam Elamin „Monoliths To Microservices. A Journey”
I kolejna historia migracji ku mikroserwisom. Też wyróżniająca się na plus. Z ciekawostek: trzeba angażować biznes i lepiej z nim rozmawiać. Planowanie rozwoju technologicznego aplikacji jest tak samo ważne, jak planowanie strategii i celów biznesowych.

Dashboardy są przydatne dla ludzi biznesu, jeśli prezentują informacje ważne z ich punktu widzenia (kliknięcia, ilość zamówień, etc.)

Erik Dörnenburg „Architecture without Architects”
Właściwie nie wiem o czym. Chyba o tym, że architekt w IT to jednak inna funkcja niż architekt w budownictwie. Jak na zamykający keynote to dla mnie za słabo.

Warsztaty: Fred George „MicroServices – Let’s Build Some!”
To był główny powód mojego wyjazdu na konferencję i ta część wyjazdu dla mnie była najciekawsza. Szczegóły na najbliższym spotkaniu Akademii FINGO 🙂