1. Szukacie biblioteki wzorców używanych w systemach rozproszonych? Mamy coś dla Was 📚

Stali czytelnicy wiedzą pewnie, że z dużym szacunkiem traktuję działalność “misyjną” ThoughtWorks. Nie wszystkie materiały do mnie trafiają, ale naprawdę spora ilość to kapitalne opracowania - dość powiedzieć, że spędziłem sporo wieczorów na opracowanie ich ostatniego Technology Radaru.

Jedną z tych serii, na której zakończenie bardzo czekam, jest Patterns of Distributed Systems. Firma wzięła sobie na barki bardzo ambitny temat - postanowiła opisać w ramach serii artykułów większość istotnych wzorców, jakie używane są w systemach rozproszonych. Znajdziemy w niej zarówno podstawy, takie jak Quorum czy HeartBeat, jak i dużo badziej zaawansowane mechanizmy pokroju Zegara Genercyjnego. Z mojej perspektywy jest to chyba najlepsze kompendium tego typu, skupiające się nie tylko na samych technikaliach, ale również przypadkach użycia, praktycznych implementacjach i alternatywach.

Co prawda seria nie jest jeszcze ukończona (po początkowym szybkim starcie, publikacje straciły trochę na regularności i obecnie kolejne wzorce powolutku “skapują”), ale korzystając z tego, że mamy nieco wolniejszy tydzień, a dodatkowo dopiero co ukazał się kolejny artykuł z serii (“Rozpowszechnianie Plotek” - Gossip Dissemination), stwierdziłem, że jest to idealny moment żeby się z Wami rzeczonym przeglądem podzielić.

PS: Jeżeli ktoś szuka bardziej bazowego wprowadzenia do systemów rozproszonych - jak zawsze w takiej sytuacji polecam Distributed systems for fun and profit.

PS2: A jak już jesteśmy przy książkach, też w temacie - polecam świeżo wydanego MEAPa książki Software Mistakes and Tradeoffs. Miałem dość unikalną okazje obserwowania jak powstaje od kuchni i jestem pewien, że nie będziecie zawiedzeni lekturą.

2. Wprowadzenie do Kafki w stylu książki dla dzieci 🦦

Czy zdarza Wam się “wbijać” w jakąś nową tematykę? Jeśli tak, z doświadczenia sugeruje, że ciężko zrobić to lepiej niż poprzez jeden z artykułów trzymających się zasady “Wyjaśnij mi, jakbym miał pięć lat”.

Pozwolę sobie tutaj na lekką prywatę - dwa miesiące temu urodziła mi sie córka, i od najlepszego zespołu ever (zespołu Vived 🥳) dostaliśmy prezent - książkę Blockchain for Babies. Jej trochę jeszcze mimo wszystko zajmie, zanim pogrąży się w lekturze, ale ja przeczytałem od deski do deski. I choć sam prowadziłem prelekcje wprowadzające do tematyki łańcuchu bloków, to chyba nigdy nie udało mi się tematu wyłuszczyć w sposób równie klarowny co autorzy tej pozycji. Dość wspomnieć, że obecnie poluje na Quantum Information for Babies - i to bynajmniej nie dla noworodka. Może w końcu sam zrozumiem ten temat.

Jeśli kiedykolwiek zastanawiałeś się, czy nie jesteś za stary, aby zacząć programować - prawdopodobnie tak. Moja córka już zaczyna dziś mieć nad Tobą przewagę 

A skąd te dość prywatne wynurzenia? Otóż w sieci furorę robi Gently Down the Stream - wprowadzenie do Kafki poprzez historie wydr, trochę w stylu “Tajemnicy wiklinowej zatoki”. O ile całość jest według mnie delikatnym przerostem form nad treścią (aczkolwiek głównie przez nienajwygodniejszą nawigację), to sam sposób narracji jak najbardziej trafia i chciałbym widzieć więcej eksperymentów tego typu. Pozycja trafiła w zasadzie na "topki" wszystkich agregatorów newsów, więc jeśli chcecie, aby Wasz kontent się wyróżnił - to jest dobry kierunek.

No i zawsze jak mam okazję, polecam komiks Scotta McClouda o K8s

3. Linuxowe Repozytoria Microsoftu (sic!) padły i nie wiadomo dlaczego 🐧

A na koniec, jedyny w tym wydaniu news - ale na tyle zabawny, że zdecydowaliśmy się nim podzielić.

Microsoft ostatnio dobrze żyje z Linuxem - w zasadzie każda większa konferencja developerska firmy z Redmond przynosi nowe ogłoszenia o coraz bliższym zacieśnianiu tej więzi. Jednym z przykładów jest choćby to, że Microsoft posiada własne repozytorium pakietów linuxowych, dostępne pod adresem https://packages.microsoft.com. Parę dni temu wspomniane reposytorium spektakularnie się złożyło - i nie było w stanie wstać przez ponad osiemnaście godzin.

Awaria wpłynęła na użytkowników próbujących zainstalować platformę .NET Core, Microsoft Teams, Microsoft SQL Server dla systemu Linux - a także na wewnętrzne procesy Azure i ich system CI/CD Azure DevOps.

Jak pewnie domyślacie się, społeczność nie była zachwycona.

Przyczyny problemu nie są publicznie znane, aczkolwiek w lakonicznym komunikacie wspomniane są “space issue” - i prawda jest taka, że nikt tak naprawdę nie ma pojęcia czy chodzi o przestrzeń na dysku czy… problemy z parsowaniem spacji. Serio, na HackerNewsach dyskusja na ten temat nie doszła do żadnych konkretnych konkluzji, a Microsoft nabrał wody w ustach.

Jeśli Microsoftowi rzeczywiście skończyło się miejsce na dysku, to w kontekście tego faktu polecam bardzo dobry tekst Why All My Servers Have an 8GB Empty File. Nie łudzę się, że moja rada w przypadku Azurowego klastra przydałaby się do czegokolwiek, ale dla nas, maluczkich, tekst opisuje bardzo pragmatyczne podejście do problemu zajętości przestrzeni dyskowej - zachęcam do zapoznania się z nim.

PS: Też czekacie na konferencje Windows 11? Zapowiada się na ostatnie duże wydarzenie przed sezonem ogórkowym.

‌Pamiętajcie, żeby spróbować Vived, jeśli chcesz otrzymywać tego typu treści spersonalizowane pod Ciebie!