#52 Patoarchitekci Short #11

2022, Nov 25

Ciekawe linki i inne znaleziska z tego odcinka:

Transkrypcja

Łukasz Kałużny [ŁK]: Cześć! Słuchacie Patoarchitektów short. Prowadzą Łukasz Kałużny

Szymon Warda [SW]: i Szymon Warda. Wszystkie linki do tego odcinka znajdziecie na patoarchitekci.io/52. No więc, Łukasz, masz ogłoszenia. Lecisz.

ŁK: Tak, lecimy z ogłoszeniami parafialnymi. Jeżeli ktoś z Was chciałby się nauczyć K8s-a trochę bardziej (mam na myśli low levelowy hardkor), to 15 grudnia organizuję otwarte szkolenie z K8s the Hard Way. W trakcie którego nauczysz się stawiać K8s-a zupełnie od zera, a z moim dobrym wytłumaczeniem zrozumiesz, co te wszystkie komponenty pod spodem znaczą, jak działają, o co w nich chodzi. Będą to, zupełnie bez żadnej pomocy, same polecenia, dotykanie binarek, generowanie z palca wszystkich certyfikatów. Zero automatyzacji. Więc dość ciekawa perspektywa, jeżeli chcesz wejść głębiej i się dowiedzieć, co dzieje się pod spodem mimo tej otoczki.

SW: Spoko. To już za chwilę właściwie.

ŁK: Tak, już za niecały miesiąc. 3 tygodnie.

SW: 3 tygodnie, mój drogi.

ŁK: Tak. I druga rzecz to konferencja Architektura i kontenery. Edycja 2022. 12 grudnia, więc też zapraszam do zapisów. Live map się szykuje dość ciekawy, właśnie wokół K8s-a, architektury i konteneryzacji. Zobaczymy, co prelegenci pokażą.

SW: Dobrze, dobrze. To już kończymy cross–sell. Linki. Lecisz.

ŁK: Dobra, pierwsza rzecz. Czasem też muszę dotknąć łajna. I przy dotykaniu tego łajna potrzebowałem zescrapować coś. Naprawdę, nie chciało mi się kodować, bo byłoby tego za dużo. Było zbyt proste względem do kodowania i moich potrzeb, by odpalać jakiś scraper w Pythonie. A Excel o dziwo nie dał rady. Bo dla zainteresowanych: Excel ma fajny plugin do scrapowania, ale czasem nie daje rady. I wpadł mi taki plugin do Chroma, cloudowym rozwiązaniem: simplescraper.io. I jedno powiem: genialne. Instalujemy i prawie w UI-owy sposób wybieramy, co my naprawdę chcemy zescrapować, do jakiego miejsca i jakich lite theme’ów czy innych rzeczy, i wypruć można z tego przyjemnego JSona czy CSV-kę, jeżeli potrzebujemy.

SW: Przyznam, że faktycznie wygląda nieźle. Tym bardziej że wcześniejsze scrapery były z reguły oparte na jakimś powiedzmy XPathie, tudzież składni jquerowej. Dla tych, którzy pamiętają jeszcze jquery. A to faktycznie jest dość mocno wizualnie. Tak że nawet osoby nieprogramistyczne mogą z tego korzystać.

ŁK: Tak, dokładnie.

SW: Naprawdę nieźle wygląda.

ŁK: To nieźle wygląda i jak mówię, naprawdę jest… Tak jak musiałem dotknąć, to co bym się musiał namęczyć, popoprawiać, zrobiłem to dosłownie w 5 minut. To, co patrzyłem sobie, wyekstrahowałem w hurtowej liczbie. Więc szczerze polecam.

SW: Dobrze. Teraz ja się wpierniczam. Zgodnie ze stwierdzeniem, że jesteśmy trochę różni od siebie, co faktycznie już było zauważone na naszym meet up’ie. Teraz znowuż inna rzecz, bo też taka mało techniczna, ale… Nawiązując do meet up’a, tam mieliśmy okazję i przyjemność spotkać się z niektórymi osobami, z którymi pracowaliśmy dawno temu. Wiadomo – ludzie są obecnie na różnych stanowiskach i po drodze obydwaj żeśmy doradzali ludziom, gdzie i jak się odnaleźć na nowej pozycji, bo nie oszukujmy się, często te nowe pozycje są takie… Trzeba po prostu znaleźć się, dowiedzieć, co robić, jak robić i nie jest to takie czyste pisanie w kodzie, którego uczymy się od wielu lat. Przy okazji natknąłem się na fajną stronę od Google: rework with Google.com. I czym to jest? Fajna strona skierowana głównie do managerów tak naprawdę. Zarówno początkujących, jak i tych bardziej zaawansowanych. Przez managerów rozumiem ludzi, którzy zarządzają, mają pod sobą innych ludzi. Niekoniecznie to są tacy managerowie w stopce. Czemu mi się to spodobało? Struktura jest podobna mocno do microsoftowego Learn, który jest naprawdę niezły. Kilka głównych punktów, obszarów na których się skupia. Ustalanie celów. Czemu ta sam kupiła? Bo w samym ustalaniu celów w obszarach, które to pokrywa jest między innymi komunikowanie tych celów do organizacji i do ludzi. Czyli to nie jest takie głównie, że po prostu robimy, zakładamy no i ustalamy sobie jakąś listę „to do”. Zatrudnianie. Zarządzanie innowacyjnością, rozwój pracowników, zarządzanie w ogóle, taki management tego i people analitycs. Nie mam pojęcia, jak to przetłumaczyć na polski, sorry. I z zespoły jako takie, czyli jak je budować, jak nimi zarządzać. I jeszcze bezstronność, czyli zarządzanie naszymi skłonnościami, tendencjami – w którym kierunku bardziej idziemy i myśleniu, że te rzeczy wykonają w pewien sposób. Nie ma tego dużo. Jest chyba ok. 30 „lekcji” tak naprawdę. Od takich rzeczy typu worker, po rzeczy właśnie typu zarządzanie naszymi skłonnościami i tendencjami. Żeby nie było - to nie jest całkowicie googlowe. Tam fajnie opowiadają historie takie firmy jak: KPMG, Riot Games, jetBlue i jeszcze parę innych. Jest wywiad z Microsoftem, ze wszystkich właściwie rzeczy. Niezłe, naprawdę. Czemu w ogóle to polecam? Bo np. w kontekście OKR-ów, jedna z metod do wyznaczania celów, która z reguły jest tragicznie opisywana, tam się skupia chyba na 10 prostych punktach. Na, nie wiem, na… każdy z punktów to jest 1/4 strony Worda, tak naprawdę, z podanymi narzędziami. Bardzo proste. Bardzo przydatne. Fajnie podane i oparte na pracach naukowych i psychologii, jak to wygląda. Dobre. Jak ktoś zarządza ludźmi i potrzebuje się rozwinąć, naprawdę dobre źródło informacji.

ŁK: Wiesz co, ja bym powiedział, bo tak sobie zerknąłem na OKR-y, jak to jest ustrukturyzowany ten link. Tak jak powiedziałeś, fajnie, bo jest zrobione takie step by step, proste.

SW: Jak Microsoft Learn, dokładnie.

ŁK: Tak, Tak.

SW: Jakbyś uczył, nie wiem, up-serwisów albo jakiejś prostej usługi.

ŁK: Tak. Tylko wiesz co, ja bardziej bym to nazwał, że to jest intro do tych tematów. Że to jest taka zajawka, abyś zrozumiał, o co chodzi w tym temacie, i potem mógł pójść dalej i się z nim rozwinąć.

SW: Właśnie nie powiedziałbym. Może inaczej: to na pewno nie jest in dept. Nie jest to dogłębne. Ale to jest coś, po przeczytaniu czego, możesz zacząć używać. I będziesz używał tego raczej dobrze. Wiadomo, że takie podejście trzeba będzie dostosowywać do konkretnego użycia, ale nie jest tak, jak masz czasami na blogu, że masz: „O, to są OKR-y. Wszystko fajnie” i tyle.

ŁK: Tak.

SW: To jest takie, że faktycznie… change zone i możesz zacząć używać. Wiesz, co z tym zrobić, rzeczy są wypunktowane. Wiesz, jak podejść, jakie są cele, jak ustawiać. Tak, fajnie. Fajnie ustruktyryzowane tak naprawdę.

ŁK: Tak. Tylko że w sensie, wychodzę, że jeżeli… Może inaczej. Te OKR-y to będą fajne dla kogoś, kto… O! Opis OKR-ów jest bardzo fajny, jeżeli ktoś miałby go zacząć stosować, bo już jest stosowany u niego w organizacji. Niż zacząć. Bo tam jest troszeczkę… Z punktu widzenia osoby wdrażającej OKR-y jest trochę rozkminek.

SW: Ale… Znaczy, tak. Bo ty myślisz w kontekście wdrożenia OKR-ów na całą organizację. To się zgadza. A tutaj mówimy generalnie o: „Ty zaczynasz używać OKR-ów, i np. mierzysz swój zespół”. I to jest po to.

ŁK: Tak.

SW: Więc tu mówimy o osobach, które zaczynają. Dlatego powiedziałem na starcie: które zaczynają odnajdywać się w roli managera. Czyli np. mają nowy zespół pod sobą i uczą się, co i jak zrobić, i jak w ogóle zarządzać tym zespołem. Więc zgadza się. Tak. To nie jest na c-level, gdzie zaczynamy OKR-y i rozliczamy na poziomie firmowym, bo to jest grube i skomplikowane.

ŁK: Tak. Raczej to jest na poziomie zespołu i personal management. To tak z mojej perspektywy to jest… Ten hand-by, to jest taki początek drogi. O, to jest to.

SW: Trochę tak. Dlatego powiedziałem, że to jest dla ludzi, którzy zaczynają swoją historię, swoją przygodę w byciu managerem. Dokładnie. I do tego to się naprawdę fajnie nadaje. Więc tak, zdecydowanie byłem pod wrażeniem, jak to zostało fajnie zrobione. Nie ma tego dużo, więc warto naprawdę rzucić okiem.

ŁK: Dobra. To z mojej strony.

SW: Tak.

ŁK: Lecimy. Moje ulubione podśmiechujki z doradztwa consultingu strategicznego. I tutaj… McKinsey odkrył coś, o czym mówiliśmy już od dawien dawna. Co odkryli? Że K8s nie pomaga w walce z cloud lock-in.

SW: Czyli już kumy, dostawcy Clouda, pracują nad tym, żeby nie pomagał. (śmiech)

ŁK: (śmiech) Żeby nie pomagał. Tak, dokładnie. I tutaj jest… Zaczęło się od tego oczywiście… Trafiłem na to na Twitterze i przeszedłem do wpisu, który jest na blogu McKinsey digital. Opisują swój eksperyment i inne rzeczy, że te…. Inaczej. Rzeczy, o których zawsze mówiliśmy, że jeżeli chcesz mieć multi… Inaczej. Jeżeli uważasz, że K8s będzie prawdziwym multicloude, musisz szukać albo agnostycznych API u dostawcy, tak jak jest ten nieszczęsny, jak to określam, Postgres, który cenowo może nie jest najtańszy, ale wszędzie jest taki sam. Korzystasz tylko z natywnych rzeczy z perspektywy K8s-a, a jakieś wszystkie zabawki przenosisz z open source, gdzie nie jest to warte gry bardzo często, jeżeli nie będziesz się przenosił. I wyszło im na to, że przenoszenie się pomiędzy platformami, jak to ładnie opisali, za każdym razem zajmuje w sumie tyle samo czasu, gdyby poszli na natywne rozwiązanie u danego dostawcy.

SW: Ale… Znaczy, po pierwsze. To jest takie, czy faktycznie ten cloude… Pamiętajmy o tym, że z cloud lock-in, że korzystając z jakiś usług chmurowych, to zaoszczędzili ileś tam czasu wcześniej. Czyli nie pisali własnego systemu, nie stawiali HashiCorp Vault, tylko załóżmy, że skorzystali z Azure Key Vault . Więc ileś(dziesiąt) godzin zaoszczędzili stawiając to. Ileśdziesiat licencji zaoszczędzili i tak naprawdę kasy. Więc, ponownie… Ten Vendor lock-in, jeśli jest zrobiony dobrze, sensownie i korzystamy z wartości, które oferuje, to nie ma w tym nic złego. No, kurczaki, tak to wygląda.

ŁK: No nie, ale wiesz… Dokładnie. Ale to jest… Ja się śmieję, że zawsze najgłośniej krzyczą o verndor lock-in Ci, którzy nie chcą się pozbyć swoich Orakli i Sapi i mówią, że to nie jest ich vendor lock-in, tylko ważna strategiczna współpraca i rzecz w firmie.

SW: A tak. Oczywiście. Możemy to ubrać w wiele słow. A jeszcze inna bajka, też takie opisywanie, że stawianie od zera… Tak jest trochę nie do końca, bo przecież część aplikacyjna jest przenaszalna. Ta część, która de facto łączy K8s-a z konkretną chmurą, to ok, no to… Ale to się chyba nikt tu nie oszukiwał, że to będzie przenaszalne. Z całym szacunkiem.

ŁK: No i jeszcze jest taki dowcip, że odpalenie migration time, to 16 godzin, jak robili sobie na premie, który sam zresztą używam. Jest taki micro servis is demo od JSP. 16 patoserwisików.

SW: Mhm

ŁK: Nanoserwisików. Rozbite. I piszą, że to 16 godzin zajmuje. Kiedy sprawdzałem, nawet kiedyś już, jak to postawić, żeby zrobić demo produkcyjne, jak w pewnym momencie enterprisowy klaster zrobiony, to set-up całego, taki od zera, tłumaczony warsztatowo grupie, zajęło mi 4 godziny. A oni tu piszą o jakiś 16. Wiec to jest takie… no… No wszystko fajnie. Zastanawiam się, tak jak zawsze się śmieję, że końcówka roku to przeglądanie na następny rok baz wordów, które właśnie tego pokroju firmy produkują i będą modne w pewnych kręgach. Tak. Ten wpis trochę zaliczam do tego, że odkrywają koło na nowo.

SW: Tak, to jest kolejny wpis z serii: „Emmm… serwisy nie są takie super, można podzielić”. Nie. To są skrajności, których po prostu według mnie należy unikać. Należy patrzeć na to trzeźwo, że każde narzędzie ma swoje zastosowanie i jeżeli z danego narzędzia bierzemy jakąś wartość to super, ale nie myślmy, że nam ogarnie wszystko. Bo to jest nierealne, to się nie opłaca.

ŁK: Patrząc się, moja preferencja będzie taka, że jak idziesz do clouda, użyj natywnych, passowych komponentów dostawcy. Jak musicie wirtualki, to już lepiej spróbuj K8s-a, żeby chociaż dostać jakieś benefity tego clouda. Takie realne, bo wgrzewanie obrazu aplikacji deployment na VMK-ki dynamiczne nie jest dla każdego. A jeżeli już bierzesz K8s-a i się na nim nie znasz, to przestań czytać wszystkie blogi i prezentacje, tylko wyklikaj z tutoriala dostawcy dosłownie wszystko, co rekomenduje w paczce, aby było natywnie od niego.

SW: Tak. To fajnie widać na poziomie security. Że z reguły te domyślne rekomendacje, pierwszych 10 punktów, to jest po prostu niegłupo postawiony klaster, tak naprawdę.

ŁK: Tak. Jest po prostu to poprawnie zrobione. Dobra.

SW: Jeszcze jeden argument czemu wejść w K8s-a, jeżeli chce się mieć większą utylizację zasobów. Bo passy są fajne, tylko w tym momencie nagle mamy ileś tam appserwisów albo czegokolwiek, co będziemy stawiali. Już mają utylizację na poziomie 300%. I płacimy za te VMK-i jak za zboże.

ŁK: Wiesz co… To ja dorzucę jedną uwagę do tego. Na koniec. To jest dobre, jeżeli już umiesz obsługiwać K8s-a.

SW: Tak, tak. To bez dwóch zdań.

ŁK: Albo kolokowanie jest super sprawą. Mamy takich klientów, u których kolokujemy, tylko trzeba być świadomym, że to już jest troszeczkę wyższa jazda.

SW: Bez dwóch zdań tak. Dobra. To jeszcze jeden link na przemyślenie. Znowu chwalenie się, ale też całkiem ciekawie to wygląda. MS chwali się, można powiedzieć: informuje, że po przejściu na dotnet 6, oczywiście na to cora 6, spadła im zapotrzebowanie na hardware o 29%. Tam są w ogóle… Jest masa liczb w tym artykule, faktycznie podają dużo, do kosmosa. Ale faktycznie sporo zasobów Azurowych stoi na tym corze. To fajnie nawiązuje do tego, co mówiliśmy parę odcinków temu, że kolejne frameworki będą krótko żyły. Że support dotnetowy kiedyś był 10 czy 15 lat (czy nawet innych frameworków) był dość długi, a obecnie mamy taki myk, że to żyje powiedzmy 3 lata, bo support jest 3-letni.

ŁK: Tak, to jest ciekawe. Ja jeszcze dorzucę jedną rzecz: czekam na dotnet 8, bo 7 jest tą częścią, która jest bardzo krótkożyjąca, nie jest LTS-em . Tam się pojawi jeszcze lepszy skok, bo można mu zapakować optymalizację dla maszyny wirtualnej dotnetowej. Można mu zapakować też optymalizację już na starcie. Więc tam już w ogóle są jakieś ciekawe liczby. Więc to też będzie przyśpieszało, będzie fajnie wyglądało.

SW: Tak, ale co mnie zaciekawiło, bo tam też piszą o latencji itd. Dużo liczb tak naprawdę. Ale tak realnie jak popatrzy, jeżeli nie ma opcji albo setek godzin, trzeba by było poświęcić, żeby mieć na poziomie całej aplikacji wzrost załóżmy o nawet 13%, o jest naprawdę dużo. No nie? Czy nawet 13-15. Coś w tym stylu. A tu przez samo podbicie frameworka, które może nie jest super łatwe, ale to już się zaczyna opłacać po prostu.

ŁK: Raczej, inaczej… Tak czy siak musieli się w końcu z tego 3.1 podnieść. Czy tego chcieli czy nie.

SW: Tak. Ale robią wrażenie same liczby. Kiedyś podbicie frameworka to było: „Ok; musimy, bo potrzebujemy jakiegoś ficzera”. A zaczyna być to w opcji, że core w ogóle jest znacząco szybszy i zaczyna mieć wartość biznesową.

ŁK: Tak.

SW: Skoro zaoszczędzimy na hardware, to zaoszczędzimy kasy hostowania. I ładnie wygląda.

ŁK: Tam wiesz, skala robi swoje. I wiesz co, ja dorzucę jedną rzecz do tego. To się pojawi w 8, jest już w 7, ale 7 traktuję sobie po prostu jako takie technology demo troszeczkę. I podrzucimy linka do naszego zestawienia. Jest właśnie w wydajności, to się tam nazywa dynamic PGO. Optymalizacja. I to jest z bloga, to jest wpis wokół Akki, więc niepowiązane z Microsoftem. I te liczby. W Akka serii mouse osiągnęli wzrost 30,3% a sama Akka, .NET czy tam jej części in memory: 75% wzrostu wydajności przez to, że optymalizator ma takie, a nie inne hindy dynamicznie.

SW: Nawet gdyby nasze przypadki użycia były połową tego, to to są absurdalnie dobre wyniki.

ŁK: Tak. Przy czym na CPU pamięć zostaje taka sama (śmiech). To też trzeba pamiętać. Tego nie przeskoczymy. Dobra. I mój ostatni wpis do przemyśleń na dzisiaj. Znowu wokół całej zadymy przy Twitterze, a jakżeby inaczej. Jest na Twitterze dużo dyskusji na temat długu technologicznego. I jest taka ciekawostka, de facto za dług technologiczny, z czym można się tutaj, taki blame można powiedzieć, że on jest właśnie dla mnie bardzo rzeczywisty, trzeba winić od techleadów, principalów plus w górę. De facto za brak sprzątania długu i pozwalanie na niego na dłuższą metę.

SW: A ja się nie zgodzę z tym wszystkim. Nie zgodzę się z taką narracją, że dług technologiczny jest czymś złym. To jest coś, co po prostu jest, i co istnieje.

ŁK: Nie, ja mówię… Wiesz co… Ja mówię o sprzątaniu jego.

SW: OK.

ŁK: Bo jest jedna rzecz. Jest bardzo ten… Bo to, co powiedziałeś, że używanie długu technologicznego jako ścieżka do przyśpieszenia rzeczy, do osiągnięcia celu, jest poprawną rzeczą. Gorzej jest ze sprzątaniem jego i utrzymaniem na jakimś poziomie, który nas nie spowalnia.

SW: Tak, ale często dług, to jest powiedzenie: „Ok, mamy bibliotekę, która jest starej wersji, a mamy system, który jest np. na dotframeworku albo na czymkolwiek”. Jeżeli tak jest, jeżeli to działa, jeżeli to ma support, jeżeli tego nie rozwijamy, jeżeli nic z tym nie robimy, to zostawmy to w spokoju. To nie jest dług, to po prostu system, który wygaszamy. Tak naprawdę.

ŁK: Tak. Znaczy jest jedna rzecz, pamiętaj, że ten dług akurat pod względem wersji, to jest problem też security, ale to już inna śpiewka.

SW: Tak, dlatego dodałem: jeżeli jest bezpieczny. Dług realny jest przy systemach, które rozwijamy, tak. Ale też widziałem za dużo opcji, że: „Ooo… przepiszmy ten system, zróbmy wielki refactor”.

ŁK: A to…

SW: No, dajmy sobie spokój. Naprawdę są ciekawsze rzeczy do robienia. Bardziej wartościowe.

ŁK: Tak. Raczej tak. Zabawa z tego, to tak jak w tym tweecie jest dość dobrze opisane, velocity over quality i features over simplicity. To jest dobre określenie. Przy czym chyba trzeba będzie wreszcie zrobić odcinek o długu technologicznym i sobie na ten temat podyskutować więcej.

SW: Rozmawialiśmy kiedyś o tym. Nie pamiętam, w którym odcinku, ale było.

ŁK: Było, ale nigdy nie było całego. Być może chyba nawet w pierwszym rozmawialiśmy. Ale całość, ten temat żonglowania długiem, jest ciekawą perspektywą.

SW: Podoba mi się to, co powiedziałeś: żonglowania. Bardziej bilansowania. Ja bym tak to nazwał.

ŁK: Tak, bilansowo… No w zależności, tak. To zawsze będzie jakimś problemem jak to określić, bo inaczej określisz to w firmie produktowej, a inaczej czymś, co w IT jest istotne, ale nadal nie jest to corową usługą firmy, w sensie… Świadczy jakąś usługę, a IT wspiera świadczenie tej usługi. Trzeba powiedzieć sobie, że to są dwie różne na to perspektywy.

SW: Albo… zależy, w którym kręgu jest system generalnie. Czy on jest wspierający, czy jest naszym głównym produktem. Jak jest wspierający, miejmy to. Lepiej w ogóle kupmy to jako Saasa i już. Z głowy.

ŁK: (śmiech) Dobra.

SW: Dobra, kończymy.

ŁK: Kończymy.

SW: trzymajcie się, Hej

ŁK: Trzymajcie się, na razie!