#59 Patoarchitekci Short #17

2023, Jan 27

Czy warto wszędzie stosować Kubernetesa i Dockera? Masowe zwolnienia w sektorze big tech, The Ultimate Guide to the Software Architecture - oraz… co wg. Elona może oznaczać “some extra crunching” w kontekście naprawiania błędów Twittera 😅

Linki i ciekawe znaleziska:

Transkrypcja

Szymon Warda: Cześć! Słuchacie Patoarchitektów! Prowadzą Szymon Warda.

Łukasz Kałużny: I Łukasz Kałużny. Klasycznie wszystkie linki do tego odcinka na naszej stronie, czyli patoarchitekci.io/59. Dobrze, Szymonie. Dzisiaj Ty robisz ogłoszenie parafialne.

Szymon Warda: A jest ogłoszenie parafialne, bo jest to ważne i bardzo miłe ogłoszenie parafialne, bo można mieć naszą wspaniałą patologię, nasz wykład, czy cokolwiek - się dogadamy… W formie aukcji WOŚP jest wystawiony na Allegro. Będą oczywiście linki w opisie odcinka.

Łukasz Kałużny: W sumie jesteśmy wystawieni.

Szymon Warda: Wystawieni, rozstawieni. Tak więc zapraszamy tak naprawdę. Pieniądze oczywiście idą na WOŚP. My się zjawiamy. Termin realizacji jest do 31.11, prawie do końca roku. Co wchodzi - przedmiotem aukcji jest: oczywiście nasze wystąpienie na konferencji, spotkaniu firmowym, cokolwiek. 4 godziny konsultacji z nami, wspólne nagranie odcinka podcastu. Co do wyboru de facto. Pieniądze na szczytny cel jak doskonale wiemy także no… Zapraszamy.

Łukasz Kałużny: A można zrobić fajną akcję firmową. Albo może Wasz HR employer branding, jeżeli tego potrzebujecie. Albo jakieś fajne konsultacje z ciekawych tematów, ze wszystkiego o czym się wymądrzamy do tej pory i co mogliście słyszeć.

Szymon Warda: Dokładnie, lecimy z linkami. Co masz Łukaszu?

Łukasz Kałużny: Dobra, mój link… W tym tygodniu nie było nic porywającego jak sobie gadaliśmy, ale: The Ultimate Guide to the Software Architecture. Mam wrażenie, że to co tam gdzieś pomiędzy odcinkami wrzucamy, mówiliśmy o ADR-ach. Ktoś to spisał w post.

Szymon Warda: Dobra, dobra, patrzę właśnie.

Łukasz Kałużny: I to jest tutaj całość. Ciekawe; i bardzo fajna rzecz: podkreślenie, po co dokumentujemy architekturę. I to jest takie jedno zdanie, które to świetnie pokazuje. Dokumentujemy naszą architekturę po to, żeby wytworzyć wspólne zrozumienie.

Szymon Warda: To jest bardzo dobre określenie, bo super ważne w dokumentacji jest to, że określamy: dokumentacja powinna być po to, żeby zrozumieć co się dzieje, a nie żeby opisać co jest w kodzie. Dokument, który opisuje co jest w kodzie dokładnie, co konkretna linia albo co konkretne klasy robią nie ma żadnego sensu. To już przerobiliśmy używając Enterprise Architectów i inne narzędzia. Nie ma żadnego sensu. Koszt utrzymania jest zbyt duży.

Łukasz Kałużny: Tak właśnie i tam jest kolejny taki nagłówek ładny, który też mówi. To z tym się też bardzo mocno zgadzam. A nawet dwa takie po kolei, że on wspiera tak naprawdę pracę architektoniczną, dokumentacja wspiera pracę architektoniczną i ma podjąć; podejmować decyzje przy implementacji nowych ficzerów w rozumieniu produktowym. Czyli ma dać holistyczny pogląd, a nie te detale, o które się kłócimy albo potrafimy się wykłócać. To co powinno skończyć będąc kawałkiem markdownu czy komentarza w kodzie.

Szymon Warda: Czyli rzeczy, które mają de facto bardzo małą zmienność i co jest celem tego co budujemy de facto. Tak, bo opisanie rzeczy, które są bardzo często zmienne albo bardzo niedokładne, albo mogą się łatwo zmienić; nie ma większego sensu po prostu, bo za chwilę wchodzimy w problem taki generalnie: gdzie jest źródło prawdy - w kodzie, czy w dokumentacji? I to jest najgorsza sytuacja, w której możemy być.

Łukasz Kałużny: Tak, wiesz co to jest: ta Twoja dyskusja? Bo miałeś fajną dyskusję pod naszym jednym z tych odcinków, gdzie mówiliśmy czy architekt musi kodować czy nie. Gdzie sobie dyskutowaliśmy, bo widziałem tam zrobiłeś; widziałem fajną dyskusję. Też zapraszam do poczytania o co chodzi. Właśnie nie odróżnianie architektury systemu od architektury kodu.

Szymon Warda: Tak, to są dwie zupełnie inne rzeczy. Ale co mnie dotknęło, znaczy dotknęło, tknęło bardziej w tej dyskusji. I to nie jest odnośnie osoby konkretnej, tylko myśl obok kompletnie się pojawiła. Chociaż też patrzę na swoją karierę. Póki się nie wyjdzie z architektury pojedynczej aplikacji, nie widzi się de facto ile jeszcze jest powyżej tak naprawdę. Ja pamiętam ten moment - u mnie - przeskoczenia de facto, tu jest naprawdę dużo roboty. Więc tak, ta dyskusja jest mega ciekawa i też jestem wdzięczny za tą dyskusję, bo ona była naprawdę wartościowa.

Łukasz Kałużny: Dobra, i jest tam przy tym wpisie jeszcze taka pierdoła, która się tu znajduje, ale jest ciekawa, bo zawsze zadajemy sobie pytanie jak zacząć, jak powinno wyglądać. I są wrzucone de facto dwa toole przypominające pewne rzeczy. Albo trzy. Pierwsza to są diagramy C4, które… Jak nie kojarzymy o co chodzi, nie znamy tego pojęcia, bo ja tego nie stosuję religijnie, ale ono pomaga sobie ułożyć pewien kontekst. Bo rzeczą, którą każdy z nas ma jako osoba, z backgroundem inżynierskim: często nie potrafimy trzymać się poziomu ptaka. Jak o czymś dyskutujemy. Czasami schodzimy z kontekstem za nisko i wiem, to jest moja personalna wada również. Tobie też czasami się zdarza zjechać za nisko w rozmowie.

Szymon Warda: Zgadza się, ale powiem Ci jedną rzecz. Często widzę, że osoby, które słuchają, domagają się bardzo mocnego detalu, zejścia od razu w dół. My jako IT często mówimy “a jaki będzie szczegół”, jesteśmy uczeni tego, żeby wyszukiwać corner case’y, żeby wyszukiwać sytuacje, gdzie coś nie zadziała itd. Ciężko nam jest dyskusji utrzymać takich high level overview.

Łukasz Kałużny: Tak, a on jest potrzebny, żeby to robić dobrze. I druga rzecz, która tam wleciała to jest… Przykłady template’ów takiej dokumentacji. Czy się z nimi zgadzam to już jest zupełnie inna rzecz, bo mam jak zawsze przy takich gotowcach mieszane uczucia, ale dobrze pokazują jako właśnie… Tam jest ten szablon, który jest pokazany… Dobrze pokazuje komuś wejście w coś takiego. A czemu mi się nie podoba? Troszeczkę jest pominięty temat ADR-ów i innych takich rzeczy.

Szymon Warda: Właśnie ten link przescrollowałem i, to nieźle wygląda, włącznie z toolami, które proponują też. Naprawdę, całościowo dobrze zebrany link.

Łukasz Kałużny: Tak, możemy się kłócić o detale.

Szymon Warda: Tak, ale zebranie wiedzy ogólnie jest naprawdę imponujące. Jako taki ładny link-through-them-all. Jestem pod wrażeniem. Dobra robota. Dobrą robotę ktoś zrobił naprawdę.

Łukasz Kałużny: Tak, dlatego go wyciągnąłem, bo jest fajnym takim zebraniem, nawet świetnym dla kogoś, kto się zastanawia: w jaki sposób coś zebrać. Dobra, a Ty co Szymon masz wyciągnięte?

Szymon Warda: U mnie… Właśnie nic mnie nie wciągnęło jakoś w tym tygodniu. Jeden temat na który, tak, byłem ciekawy i zerknąłem, bo gdzieś tam podsłyszałem to: no, w kontekście zwolnień, które słyszymy w dużych firmach technologicznych i mówimy o liczbach, ale bardzo mało kto pisze o tym gdzie i w których dywizjach, bo to nie są równe zwolnienia. I teraz pewnie już widzisz linki, ale tego… I teraz tak, gdzie były zwolnienia? Jeszcze w Amazonie się zaczęły jakiś czas temu. Zwolnienia były w Alex’ie, która traci kasę już od bardzo wielu lat. Teraz poszły zwolnienia w Amazonie w kontekście Prime Airdrone Delivery. Czyli drony latające, dostarczające paczki i Device and Services Division. Czyli znowu ponownie Alexa i ponownie serwis; de facto. Jeżeli chodzi o Microsoft, studia deweloperskie i AR i VR. Czemu? Kongres odrzucił to, żeby wojsko amerykańskie kupiło 7 tysięcy HoloLensów.

Łukasz Kałużny: Tam w ogóle były, z HoloLensami, to… Nikt tak naprawdę nie wie co się zadziało, bo to jest najlepsze. Nikt nie będzie wiedział tak naprawdę co się zadziało. Fakt: to, co poszło publicznie, że gdzieś ergonomia przy długim czasie używania siedziała. Przy jednorazowych sesjach.

Szymon Warda: Tak, jest to możliwe. Ale finalnie kongres odrzucił, więc kasa nie weszła po prostu i AltSpaceVR też poszło. Więc jak na mój gust, tak naprawdę to patrzymy sobie, no to VR is Dead. To w fajnej sytuacji stawia cały MetaVerse Facebooka.

Łukasz Kałużny: Wiesz co tam z AltSpace’em się akurat doczytałem tam kawałek… Jak to wyglądało… To tam chcą scalić, że tak powiem wszystkie teamy i inne rzeczy, czyli połączyli, odrzucili to co niepotrzebne.

Szymon Warda: Tak, ale do czego, do czego dążę? Bo nabijanie się z samego VR to to nie jest, bo VR dalej swoje miejsce będzie miał; tylko po prostu to pokazuje de facto, że dywizje, które nie były dochodowe, które były takim longshotem, jak to ładnie nazywają, po prostu zostały obcięte. A żeby nie było MS jednocześnie nie może ludzi zwolnić, to na przykład jak rekrutuje i ładuje absurdalne pieniądze obecnie, to, co mówiliśmy w poprzednim odcinku; właśnie w AI’a. To samo dzieje się w googlu. Google też też mocno inwestuje.

Łukasz Kałużny: To w googlu. Tak, tam też zwolnienia w googlu też były. Ale słuchaj - takie dwa ciekawe komentarze zupełnie insiderskie, jeden tak naprawdę w sumie i o Microsofcie i o Google’u. Znajomy przygotował CV’kę i czeka czy może się załapie na te wypowiedzenia.

Szymon Warda: Tak, bo warunki są całkiem - bym powiedział - niezłe.

Łukasz Kałużny: Więc z drugiej strony, warunki są całkiem niezłe - ba, nawet się będzie mógł z powrotem zarekrutować prawdopodobnie.

Szymon Warda: Obstawiam, że po tym terminie kiedy ma severance, czyli ma płatność też generalnie tak naprawdę to będzie: spokojnie, to już się odbija.

Łukasz Kałużny: Tak, więc śmiał się, że już przygotował nawet CV-kę. Druga rzecz, która jest tam gdzieś o tym, że te firmy zatrudniały na potęgę i to jest bardzo ważne poniżej nawet bym powiedział w ramach troszeczkę średniej rynkowej i poniżej. I teraz coś, co powiem, to jest bardzo brzydkie i tego nienawidzimy, tego określenia i ono no jest takie trochę antyludzkie.

Szymon Warda: No dajesz już.

Łukasz Kałużny: Ale antyludzkie, wiesz: jest sobie takie określenie, funkcjonuje, że jest to “pozbywanie się tłuszczu”.

Szymon Warda: Tak, tak, tak, kojarzę te określenie.

Łukasz Kałużny: Czyli jest to moment, że z czasów, bo był dobrobyt i de facto jak się zaczęło, to są dwie takie fajne rzeczy, które tak z poziomu zarządu takich firm: jak inni zaczęli zwalniać, to my też możemy się oczyścić i zwalić to na koniunkturę.

Szymon Warda: Tak, oczywiście to tak działa. Nie oszukujmy się, tak wygląda zatrudnienie, bo żeby złapać dobrych ludzi musisz złapać ileś tam po prostu ludzi, którzy finalnie ci nie będą pasowali, więc to jest dobre uzasadnienie. Ale do czego też dążę? Do tego, że de facto dochodowe biznesy dalej trzymają się mocno. Więc tu bym nie siał takiego fermentu jak się słyszy na rynku, że o Jezu, Jezu, Tech Bubble is Bursting, czyli że bańka technologiczna, firm technologicznych właśnie wybuchła i generalnie nic nie będzie.

Łukasz Kałużny: Startupowa sobie wybucha ciągle, ale to już zupełnie inny kawałek.

Szymon Warda: Ale one muszą wybuchać tak naprawdę. Mam też drugi link, bo mam dużo takich pierdół właśnie dzisiaj. Znowu link THH. Ciekawy link do przeczytania, bo jest trochę długawy. Odnośnie tego czy de facto wciskając wcześniej wszędzie właściwie Kubernetesa i wciskając wszędzie Dockera; czy to w ogóle ma sens? I żeby nie było zgadzamy się z tym, że Kubernetes/Docker mają swoje miejsce, ale często jak widzę firmy, które na przykład publikują coś np. publikują wszystko na app-service’y i nagle publikują tam w Dockerze. Po co? A bo tak powinno być. To nie ma żadnego większego sensu. Często sobie utrudniamy życie. Link do przemyślenia. Nie jest to zero-jedynkowy wpis, ale on daje trochę do myślenia. Tak naprawdę. Wiesz, że masz o tym mieszane uczucia.

Łukasz Kałużny: Wiesz co? Inaczej, ja sobie to rozdzielam na trzy przypadki, o. To będzie najlepsze. Pierwszy - kiedy ten Kubernetes ma sens, kiedy nie ma sensu. Czwarty - kiedy ma prawie zawsze sens, to zostawię na razie. Pierwszy jest taki, czyli klasyczne… Przebudowa Gwiazdy Śmierci, często to kawałka monolitu i innych takich rzeczy, które się dzieją. To jest bardzo często. Nie ma żadnego benefitu z tego, że na początku przebudowy wstawiamy Kubernetesa czy w szczególności…

Szymon Warda: To jest więcej negatywów generalnie, bo Kubernetesa ciężej się hostuje i debuguje.

Łukasz Kałużny: Tak, dokładnie. Czyli jeżeli coś było monolitem dostosowanym do wirtualek - przeniesienie tego na Kubernetesa będzie wrzodem na tyłku.

Szymon Warda: Tak…

Łukasz Kałużny: Lepiej dobrze oskryptować Deployment Ensemble’m czy jak robisz na… W szczególności to jest dla mnie porażka ludzi myślących, że przeniosą ciężką aplikację dotnetową do kontenerów windowsowych i będzie dobrze.

Szymon Warda: Nie tylko dotnetową, ale tak, zgadza się, dokładnie.

Łukasz Kałużny: Ale nie, nie, właśnie mówię w szczególności dotnetową, bo może jeszcze dorzucają Windows kontenery - to jest w ogóle masakra.

Szymon Warda: A, w tej wersji…

Łukasz Kałużny: Więc dla mnie to jest jedna rzecz.

Szymon Warda: Często ludzie mówią Kubernetes, a nie liczą ile czasu zajmie, żeby zespół nabył wiedzy w ogóle żeby tego używać.

Łukasz Kałużny: Tak, i to jest też w tym wymienione właśnie, że to jest pochowane to wszystko. Więc to jest pierwszy przypadek. I tutaj z tym wpisem się zgadzam. W ogóle nie próbuj, zostaw, jak nie będziesz gotowy to nie dotykaj. A kiedy Kubernetes ma sens? Taki prawie troszeczkę domyślnego kierunku? Jeżeli ktoś już nabył kompetencje Kubernetesowe, buduje coś nowego w on-premie… To naprawdę ma to sens.

Szymon Warda: A ja bym powiedział inaczej; jeżeli to wysyłasz komuś innemu. Uproszczenie, że dajesz komuś helm charta i on w ciągu… Jednym poleceniem instaluje cały twój system na on-premie czy w chmurze, to jest po prostu next level, więc to jest fenomenalna funkcjonalność.

Łukasz Kałużny: Tak, produktowy zostawmy, bo tutaj w ogóle nie ma co się z tym kłócić, ale idąc właśnie: czyli w on-premie jak posiadam kompetencje, robię coś nowego. Genialne! O tak sprawdza się i tyle. Tylko ważne - posiadam kompetencje, a przypadek cloud’u jest taki: jeżeli umiem w Kubernetesa i mój zespół umie w Kubernetesa sprawdzi się świetnie. Jeżeli nie umiem - idźmy w natywne elementy, passy, serverlessy, inne zabawki i na siłę nie hostujmy tam baz danych. Jeżeli wcześniej tego nie robiliśmy.

Szymon Warda: Bym się z tym zgodził. Znaczy, jak już jesteśmy w Kubernetesie to niech będzie, ale moment wejścia to jest duża inwestycja, bardzo.

Łukasz Kałużny: Duża i długa.

Szymon Warda: Tak.

Łukasz Kałużny: I masz jeszcze ostatni przypadek: lokalny development. Sorry, to się sprawdza bardzo często. Jeżeli wiesz - inaczej, znowu - jeżeli wiesz, co robisz i standaryzujesz to wśród swojego teamu.

Szymon Warda: Lokalny development w sytuacji, kiedy developujesz. Serwisy trzecie masz w dockerze swoje, a swój generalnie odpalasz lokalnie. To się z tym zgodzę.

Łukasz Kałużny: Dokładnie albo jakieś VS Code’y dev containery i inne tego typu zabawki, kiedy Twoje IDE się z tym integruje.

Szymon Warda: I Łukasz, jeszcze rzecz trzecia. Już odchodząc od tego całego linku ponieważ zauważyłem, że mamy trochę błąd i przerwanie ciągłości ponieważ nie nabijaliśmy się z Elona ostatnio. Ale, ale, mam genialny, genialny po prostu link. Elon. Wpis z twittera: “Okay, our team of 20 did some extra hardcore crunch time and patched every bug. Hopefully we didn’t miss anything…”. 3 minuty później: “Some fucker decided it would be funny to SQL inject on the login form”!

Łukasz Kałużny: Some extra crunching…

Szymon Warda: Teraz ekstra z informacji to jest to, że od czasu kiedy Elon kupił Twittera, ani razu jego samolot nie wylądował na lądowisku SpaceX-owym, więc Elon się nie zajmuje kompletnie, już teraz SpaceX-em. Więc okazuje się, że powiedzenie it isn’t rocket science możemy zamienić na it isn’t software.

Łukasz Kałużny: Aczkolwiek jedno jest ciekawe z całości tej zabawki, bo tutaj mówimy o okrajaniu tego, jak tam okrajał ludzi i innych rzeczy. Twitter w sensie usability nie poleciał na ryj - i dostępności.

Szymon Warda: Ale ciężko z usability, nie ruszy od tego, bo to dalej chodzi. Jak masz dużą platformę… To jakieś tam wybuchy mniejsze, większe. Poza tym jak MFA wyłączył… Generalnie to będzie dalej chodziło.

Łukasz Kałużny: Ale mówię, że wiesz, poza tą pierdołą z MFA - blue badge’a zostawmy - to jest właśnie… Pięknie pokazuje, że tamten core naprawdę nie był duży u osób utrzymujących to.

Szymon Warda: Trochę osób poleciało. Tak, ale to też idzie z taką siłą inercji de facto; też pewne rzeczy działają, pewne procesy działają. Tak naprawdę. Zanim to wszystko, zostanie wywalone, to Elonowi trochę zajmie czasu. Ale to pokazuje bardzo dokładnie mi jedną rzecz. Ten mit time crunch’u, hackowania, który czasami istnieje, szczególnie u młodych, nie ma żadnego sensu. Jak mówiliśmy kiedyś, że nie ma żadnego sensu długofalowo. To nie ma sensu nawet krótkofalowo generalnie. Jeżeli poświęcisz jakość i wrzucisz to na szybciora, to za chwilę to Ci wybuchnie w twarz. Po prostu jakość ma sens, a szczególnie że to jest wystawione jakkolwiek do publicznego Internetu, bo za chwilę ktoś Cię zeskanuje i ktoś zwykłymi botami, automatyzacją, rozwali Twoje API. Po prostu.

Łukasz Kałużny: Dobra, miałem z czegoś poużywać, ale to zostawmy na następny odcinek. To co, kończymy.

Szymon Warda: Tak, trzymajcie się. Hej.

Łukasz Kałużny: Na razie, hej!