Rozwój infrastruktury to rozwój nowych specjalizacji – od rozwiązań takich jak DevOps nie można już się odwrócić. Jednak jaką motywację mają ludzie do zostawania DevOpsami? Czy warto stosować rozwiązania Serverless? I co to znaczy globalnie dla branży? O tym w dzisiejszym odcinku opowiedzą Tomek Borowicz, Łukasz Małocha i Artur Skowroński.
1. Czy Serverless to jednak rozczarowanie? 😔
W odcinku sporo mówimy o Serverlessie, dlatego warto przypomnieć debatę, która przetoczyła się przez internet w ostatnich miesiącach, a której tematem była odpowiedź na pytanie – czy Serverless spełnił pokładane w nim oczekiwania.
Połową października Corey Quinn, często przywoływany tutaj autor “Last Week in AWS”, w swoim stylu dość mocno przejechał się po Lambdzie w szczególności, a o serverlessie w ogóle. Obrywa się temu modelowi głównie za to, że nigdy nie spełnił obietnic, które składane były przy oryginalnej premierze Lambdy – że programiści będą mogli pisać wyłącznie logikę biznesową, a całe skomplikowanie architekturalne będzie za nimi skutecznie ukryte. Okazało się, że w praktyce tworzenie aplikacji serverless sprowadza się do tworzenia olbrzymiej ilości kodu konfiguracyjnego – kleju, który jest w utrzymaniu przeraźliwie drogi. Corey twierdzi też, że z perspektywy czasu wartość jaką wnoszą serverlessy nie jest tak duża, żeby motywować przejście na ten konkretny wzorzec architektoniczny.
Na post odpowiedział Jeremy Daly jedna z osób najbardziej zaangażowanych w cały związany z nimi ekosystem osób – twórca frameworka Serverless i host podcastu Serverless Chats. Zgadza się on z wieloma zarzutami ze strony Coreya, jednak przedstawia trochę inną perspektywę. Jego zdaniem, serverless to technologia bardzo młoda, która po prostu jeszcze nie doczekała się odpowiednich narzędzi. Potrzebujemy deklaratywnego język programowania, rozumianego przez narzędzia (np. chmury) na tyle, że będą w stanie samodzielnie decydować o infrastrukturze i ukrywać przed programistami nadmiarowe szczegóły. Pierwszym krokiem w tym kierunku ma być tworzona przez jego zespół Serverless Cloud.
Na sam koniec do dyskusji przyłączył się Mark Nunnikhoven. Po części zgodził się z Jeremym, że serverless nie spełnił pokładanych w nim oczekiwań… jeszcze. Zamiast jednak skupiać się na niedostatecznym wsparciu narzędzi, wskazuje on na fakt ciągłego tkwienia w obecnym, “serwerowym” paradygmacie przez większość projektów, programistów i firm. Twierdzi bowiem, że Early Majority po prostu jeszcze ciągle jest przed nami, tak jak przez długie lata chmura traktowana była po prostu jako po prostu inna forma serwerowni.
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Jak ochronić swoje “chmury”?
Sporo wspominamy w odcinku o atakach i bezpieczeństwie, więc mam dla Was też coś, co pozwoli się Wam ochronić: poradnik zabezpieczeń infrastruktury chmurowej, napisany przez specjalistów z National Security Agency (lepiej znanego jako NSA)
Raport zawiera min. szczegółowe zalecenia dotyczące “hardeningu” Kubernetesa. Poza podstawowymi działaniami, takimi jak skanowanie kontenerów i podów w poszukiwaniu luk w zabezpieczeniach lub błędnych konfiguracjach, bardzo mocno skupia się na technikach – jak uruchamianie kontenerów i podów z możliwie najmniejszymi uprawnieniami czy odpowiednia separacja networków. Podkreśla też wagę silnego uwierzytelniania i audytu logów. Ogólnie mamy do czynienia z przeszło sześdziesięciostronicowym bydlęciem. Jest to bardzo kompetentny (a dodatkowo – napisany zaskakująco przyjaznym językiem) poradnik, opatrzony dodatkowo mocarną listą źródeł pogłębiających.
Nie jedyny tego typu przewodnik opublikowany przez NSA. Agencja ma ich całą bazę, dotykającą szerokiego spektrum tematów. Co prawda, większość z nich jest dość hermetyczna, ale np. udało mi się wygrzebać szczegółową analizę bezpieczeństwa oprogramowania do pracy zdalnej czy raport z najczęściej wykorzystywanych podatności chmur obliczeniowych.
3. Kto włada On-Callem?
Jestem ogromnym fanem roboty którą Stripe robi z Increment. Ten tematyczny periodyk w każdym kolejnym numerze bierze na warsztat jakiś konkretny temat, kompilując zbiór tekstów na jego temat (we wspomnianej wersji papierowej jest to każdorazowo około 100 stron. Ich selekcja jest naprawdę świetna, a tematyka poszczególnych artykułów nie powtarza się, dzięki czemu lektura każdego wydania pozwala otrzymać dosyć przekrojowy obraz danej tematyki.
Dlatego też zamiast wyszukiwać poszczególnych artykułów dotyczących On-Calla i różnych strategii jego obsługi, zapraszam Was po prostu do lektury wydania Increment dotyczącego właśnie tej tematyki. Szczególnie polecam “przeglądówkę” o znamiennym tytule Who owns on-call?, która podsumowuje podejście do On-Calla w największych firmach branży. Tak naprawdę większość artykułów jest godna przeczytania, a w kontekście odcinka Podcastu nie mogę też nie polecić numerów Increment dotyczących Chmur Obliczeniowych, Kontenerów oraz “niezatapialnej” infrastuktury
Zainstaluj teraz i czytaj tylko dobre teksty!
4. A na koniec – dwie pozycje książkowe + jeden bonus
Dzisiaj wybór był dość oczywisty 😍
Jednym z moich ulubionych talków ostatnich lat jest wygłoszone przez Pawła Szulca Illogical Engineer, a precyzyjniej – jego początek. Paweł ukazuje problemy związane z tym, że jako branża nie wypracowaliśmy sobie wzorców zachowań. Bycie “Rzemieślnikiem Oprogramowania” implikuje bowiem wieczne używanie wiedzy plemiennej i opieranie się na tym co jako czeladnik nauczyliśmy się od mistrza na początkowych etapach kariery.
Dlatego tak bardzo szanuję (i chyba reszta branży też) Accelerate, która stanowi obecnie jedną z najbardziej szanowanych pozycji, opisujących tworzenie produktywnego zespołu programistycznego. Dowodzi ona przy użyciu metod statystycznych, że są pewne czynniki, które odróżniają efektywne zespoły od tych przeciętnych. Ich obserwacje (oparte na publikowanym każdego roku badaniu The State of DevOps) stały się na tyle opiniotwórcze, że ciężko znaleźć jest aktualnie jakąkolwiek listę najlepszych książek o IT, która Accelerate by nie zawierała, co jest pewnie niezłą rekomendacją do lektury.
Site Reliability Engineering to specjalizacja w ramach całej DevOpsówk, która zajmuje się tworzeniem warstwy operacyjnej systemów, pozwalającej utrzymywawać je w stanie wysokiej dostępności. To oni odpowiadają za narzędzia, procedury on-callowe, monitoring w największych firmach. Niejako “Biblią” tej specjalności jest tak zwany SRE Book, który jest serią poradniko-esejów napisanych przez inżynierów Google. Zaletą SRE Booka, oprócz faktu, że zawiera olbrzymie pokłady unikalnej wiedzy, jest fakt, że zarówno on, jak i komplementarne pozycje dostępne są za darmo. Ułatwia to spojrzenie na glosariusz i sprawdzenie, czy zaproponowana w książce forma Wam odpowiada. Zapewniam, że każdy pracujący z chmurami znajdzie w niej coś dla siebie – niezależnie od pozycji.
PS: Podobno bardzo dobrym, fabularyzowanym wprowadzeniem do tematyki DevOpsowej jest też książka Phoenix Project – niestety, nie czytałem jej, więc z mojej strony jest to wiadomość z drugiej ręki.