PAPERDRIVENDESIGN
ODCINEK 002SEZON 0138 MINPREMIERA

SKILL ISSUES W SERVERLESS

Prowadzący: Kamil Kiełbasa & Artur Wojnar
#SERVERLESS#AWS LAMBDA#DYNAMODB#ZŁOŻONOŚĆ
Gotowy do odsłuchu

PDD #002 — Skill Issues w Serverless

Czas całkowity: 37:48 · Dźwięk masterowany: 128 kbps

00:0037:48
articleO czym jest ten odcinek

Serverless miał zdjąć z nas serwery, patche i skalowanie. Artur opowiada z perspektywy audytora, który wchodzi w poobijane projekty na AWS, Kamil jako twórca systemu zbudowanego w całości na Lambdach. Dziś narzekamy, ale z miłością: AWS i Lambdy są świetne, jeśli wiesz, do czego ich używasz.

Zaczynamy od definicji z książki „Serverless Architectures on AWS” (płacisz tylko wtedy, gdy używasz) i plusów: nikt nie patchuje serwerów, jest SLA, a bezpieczeństwo usługi zarządzanej bije Kubernetesa na bare metal. Potem lista bólu: cold start w .NET i fakt, że od sierpnia 2025 AWS dolicza czas inicjalizacji Lambdy do rachunku; DynamoDB używane jak baza relacyjna; 50 funkcji z jednej DLL-ki i okno rozsynchronizowania przy deployu; SQS bez Dead Letter Queue i ETL-e, które nie przeżywają trzygodzinnej awarii Redshifta; Lambda pinball, czyli proces przechodzący przez 50 funkcji, kolejek i bucketów. Do tego prawo Teslera (złożoność nie znika, tylko przenosi się z serwerów do integracji), Lambda layers ze „shared kernelem” prowadzące do Distributed Big Ball of Mud i mikroserwis, który tylko kapitalizuje stringa. Teza odcinka: Lambda to architektura wdrożenia, nie architektura oprogramowania. Zasady projektowania się nie zmieniły.

checklistCzego dowiesz się z tej rozmowy:

  • 01
    Cold start to jedyny problem z natury serverlessaReszta listy to skill issue: DynamoDB używane jak baza relacyjna, kolejki bez DLQ, brak alarmów. Trzeba znać narzędzie, zanim wprowadzi się je w organizacji.
  • 02
    DynamoDB wymaga modelowania pod wzorce dostępuPartycje, hashowanie i router decydują, gdzie trafia zapytanie. Bez modelowania up front powstają gigantyczne tabele i frustracja, choć baza robi dokładnie to, do czego ją zaprojektowano.
  • 03
    Złożoność nie znika, tylko się przenosiPrawo Teslera i Brooks: wyciągnęliśmy złożoność z zarządzania serwerami i wsadziliśmy ją w integrację między Lambdami, kolejkami i bucketami. Im więcej ruchomych elementów, tym więcej miejsc, gdzie giną dane.
  • 04
    Lambda to architektura wdrożenia, nie oprogramowaniaUżycie Lambd nie daje mikroserwisów. Layers ze „shared kernelem” prowadzą do Distributed Big Ball of Mud. Najpierw projektujemy i modelujemy, potem decydujemy, jak to wdrożyć.
format_list_bulletedRozdziały odcinka
23 segmentów

Kliknij na znacznik czasowy, aby natychmiast przeskoczyć do wybranego wątku w odtwarzaczu.

groupGospodarze rozmowy
Kamil KiełbasaSoftware Architect · Tech Lead · Microsoft MVP
Artur WojnarSolutions Architect · Consultant · Speaker
Biblioteka artefaktów

MATERIAŁY, ŹRÓDŁA I PLIKI DO POBRANIA

Wszystkie schematy, tablice i dokumenty ADR omówione podczas odcinka. Bez paywalli, w otwartych formatach.

menu_book
Książka · 2022

Sbarski, Cui, Nair, „Serverless Architectures on AWS, Second Edition”

Stąd definicja z początku odcinka: serverless to oprogramowanie lub usługa, za którą płacisz tylko wtedy, gdy jej używasz.

O książce (Manning)open_in_new
payments
Ogłoszenie · 2025

AWS Lambda dolicza fazę INIT do czasu rozliczanego

Od 1 sierpnia 2025 cold start funkcji w managed runtime jest częścią rachunku. Dlatego ciepła Lambda zaczęła kosztować podwójnie: w opóźnieniu i w pieniądzach.

Czytaj na AWS Compute Blogopen_in_new
bolt
Dokumentacja · AWS

.NET Native AOT na AWS Lambda

Kompilacja do natywnej binarki zamiast JIT: krótszy cold start, ale bez refleksji i z bibliotekami, które nie zawsze to wytrzymują.

Czytaj dokumentacjęopen_in_new
play_circle
Wideo · re:Invent 2018

Rick Houlihan, „Amazon DynamoDB Deep Dive: Advanced Design Patterns”

Seria wykładów, o której mówi Artur. Jak myśleć o partycjach, wzorcach dostępu i single-table design zamiast przenosić tabele relacyjne 1:1.

Oglądaj na YouTubeopen_in_new
database
Dokumentacja · AWS

DynamoDB: najlepsze praktyki projektowania NoSQL

Najpierw wzorce dostępu, potem model danych. Oficjalny punkt startu, zanim zespół wrzuci do DynamoDB swoje tabelki relacyjne.

Czytaj dokumentacjęopen_in_new
move_to_inbox
Dokumentacja · AWS

Amazon SQS: dead-letter queues i redrive policy

DLQ nie jest domyślnie włączone. Bez redrive policy po nieudanych próbach dostarczenia wiadomość po prostu ginie.

Czytaj dokumentacjęopen_in_new
stream
Dokumentacja · AWS

DynamoDB Streams jako trigger Lambdy

Przykład dobrze użytej Lambdy z odcinka: funkcja reagująca na zmiany w tabeli jako początek procesu ETL.

Czytaj dokumentacjęopen_in_new
radar
Technology Radar · 2019

Thoughtworks, „Lambda pinball” (Hold)

Antywzorzec nazwany po imieniu: żądania odbijają się między Lambdami, bucketami i kolejkami, a logika domenowa znika z pola widzenia.

Czytaj na thoughtworks.comopen_in_new
balance
Prawo · UX

Prawo Teslera, czyli prawo zachowania złożoności

Każdy system ma nieredukowalny poziom złożoności. Można ją tylko przenieść: z serwerów do integracji, z kodu do użytkownika.

Czytaj na lawsofux.comopen_in_new
description
Esej · 1986

Fred Brooks, „No Silver Bullet”

Złożoność esencjonalna i przypadkowa. Wracamy do niej, bo serverless głównie przestawia złożoność przypadkową w inne miejsce.

Czytaj PDFopen_in_new
description
Esej · 1997

Foote & Yoder, „Big Ball of Mud”

Oryginał, od którego pochodzi „Distributed Big Ball of Mud”. Lambda layers ze wspólnym kernelem to jego chmurowa wersja.

Czytajopen_in_new
monitoring
Raport · 2023

CNCF Annual Survey 2023

Raport, o którym mówimy pod koniec: po początkowym boomie użycie FaaS maleje, a organizacje mieszają funkcje z kontenerami zależnie od przypadku.

Czytaj raportopen_in_new
mark_email_readPDD Paper Notes Newsletter

NIE PRZEGAP NOTATEK WIZUALNYCH DO NASTĘPNYCH ODCINKÓW

Co dwa tygodnie wysyłamy jeden zwięzły e-mail z ręcznie rysowanymi schematami architektonicznymi, wyciągiem z decyzji technicznych oraz linkiem do odsłuchu przed oficjalną premierą. Zero spamu.

Zapisując się, zgadzasz się na otrzymywanie newslettera na podany adres. Wypiszesz się jednym kliknięciem w każdej wiadomości. Jak chronimy Twoje dane, opisuje polityka prywatności.