Читать книгу Wzorce Cloud Native - Cornelia Davies - Страница 6
przedmowa
ОглавлениеPrzez sześć lat miałem przywilej pracy z Nicole Forsgren i Jezem Humble’em nad „State of DevOps Report” (Raport o stanie DevOps), który zebrał dane od ponad 30 000 respondentów. Jednym z największych dla mnie objawień była istotność architektury oprogramowania: wysokowydajne zespoły działały w architekturach, które pozwalały programistom na szybkie i niezależne rozwijanie, testowanie i dostarczanie wartości do klientów, bezpiecznie i niezawodnie.
Dekady temu mogliśmy żartować, że architekci oprogramowania byli ekspertami jedynie w używaniu Visio, tworzeniu diagramów UML i generowaniu slajdów w PowerPoincie, na które nikt nigdy nie patrzył. Jeśli nawet było to prawdą, to teraz zdecydowanie tak nie jest. W dzisiejszych czasach biznesy wygrywają i przegrywają na rynku dzięki oprogramowaniu, które tworzą. A nic nie wpływa na codzienną pracę programistów bardziej niż infrastruktura, w której muszą pracować.
Ta książka wypełnia pustkę rozpiętą między teorią a praktyką. Tak naprawdę myślę, że tylko garstka ludzi mogła ją napisać. Cornelia Davis jest wyjątkowo wykwalifikowana, po spędzeniu lat na doktoracie, ucząc się o językach programowania, rozwinąwszy miłość do programowania funkcyjnego i niezmienności, pracując przez dekady z dużymi systemami oprogramowania i pomagając osiągnąć wielkość dużym organizacjom pracującym nad oprogramowaniem.
Przez ostatnich pięć lat wielokrotnie zwracałem się do niej o pomoc i porady, często w takich tematach jak CQRS i event sourcing, LISP i Clojure (mój ulubiony język programowania), niebezpieczeństwa programowania imperatywnego i stanu, a nawet w takich prostych rzeczach jak rekurencja.
Tym, co sprawia, że czytanie tej książki daje taką satysfakcję, jest fakt, że Cornelia nie zaczyna po prostu od wzorców. Zaczyna od pierwszych zasad, a następnie udowadnia ich ważność przez argumentację, czasami logiczną, a czasami przy użyciu schematów blokowych. Niezadowalając się teorią, implementuje następnie te wzorce za pomocą Java Spring, iteracja po iteracji, uwzględniając to, czego się nauczyłeś.
Uważam, że ta książka bawi i uczy, a ja poznałem niewiarygodną ilość tematów, o których kiedyś miałem tylko pobieżne pojęcie. Postanowiłem teraz zaimplementować jej przykłady w Clojure, ponieważ chcę udowodnić, że potrafię przekuć tę wiedzę w praktykę.
Spodziewam się, że znajdziesz tu koncepcje, które cię zachwycą, a może nawet nieco zaskoczą. Dla mnie jednym z tych konceptów była potrzeba centralizacji przekrojowych problemów za pomocą programowania zorientowanego aspektowo, sidecarów w Kubernetesie czy wstrzykiwania Spring Retry.
Mam nadzieję, że uznasz tę książkę za tak wartościową, jak ja ją za taką uznałem!
Gene Kim
badacz i współautor The Phoenix Project,
The Devops Handbook i Accelerate