AWS CDK - Czyli killer sls'owych frameworków

Hej! chciałbym zapytać kto z was korzystał z aws-cdk na tą chwilę ? :slight_smile: , temat jest świeży i już teraz wydaje mi się ża pozamiatał Serverlessowe frameworki. AWS-CDK pozwala na bezpośrednie tworzenie infrastruktury w chmurze bez pośredników/‘frameworków’ typu serverless/sam.

Co to daje? oczywiście prostotę i klarowność, cała struktura projektu zostaje w obrębie kodu i w nim jest ściśle definiowana i typowana, dlatego też wsparcie w TS, Pythonie i Javie jako default (oczywiście koniec końców i tak lądujemy w cloudformation template :smile:). Polecam prosty i fajny workshop pokazujący co cdk potrafi: https://cdkworkshop.com/20-typescript.html :slight_smile:

ps. Żeby nie było, tworzyłem i utrzymywałem projekty zarówno używając serverlessa jak i na czystym sam’ie więc piszę to z własnego doświadczenia.

1lajk

Hej, czyli porównałbyś to tak:
aws-cdk > serverless > sam (mam małe dośw. tylko z ostatnim, więć przyjrzę się cdk)

Dzięki za post (i link do workshop)

Jest jeszcze https://www.pulumi.com/ z ckeawostek.

Cześć Fii,
Witam na forum :slight_smile:

Popatrzyłem w ten workshop i jako osobie, która od 3 lat pisze w JS i od ponad roku codziennie w CloudFromation nie do końca przypadł mi do gustu. Wydaje mi się, że występuje “cognitive overhead”, czyli niepotrzebnie trzeba się nagłówkować, aby zrozumieć to, co w CF byłoby (prawie) oczywiste. W TS czy JS można napisać coś na miliardy sposobów, a w CF na tysiące (bo CF jest ograniczony). Przez to jak czytasz cudze CF to łatwiej i szybciej pojąć o co chodzi.

Jestem świadom zalet takiego podejścia, głównie tego, że mamy wreszcie do dyspozycji składnie prawdziwego języka a nie yaml z ograniczeniami CF.

Natomiast, jako że na własne oczy widziałem niepowodzenia MDA i XMLa, nie do końca jestem przekonany do generowania kodu, transpilacji i wszelakich transformat. Na koniec dnia dostajemy znów CFT, tylko pytanie jest czy to CFT będzie wyglądało jakby je człowiek napisał czy automat? Bo to niezwykle ważna kwestia przy debugowaniu.

Ja już napisałem kilka, może kilkanaście tysięcy linii CloudFormation. Zbluzgałem je na wszelkie możliwe sposoby :face_with_symbols_over_mouth: bo ma pełno niedoróbek i głupich ograniczeń. Jednak, równocześnie wiem, że pisząc w CF poznałem jak AWS jest zbudowany i jak działają usługi. Czuję, że jestem blisko źródła. To bardzo rozwija. Patrząc na CDK nie widzę możliwości, aby posiąść tak dogłębną wiedzę, ponieważ to nakładka.

Podsumowując, byłbym w stanie po głębszej analizie (czy można skonfigurować każdy element, każdego zasobu zgodnie z CF?), użyć CDK do rozwiązań opartych o tradycyjne architektury (serwery, sieci i reszta klamotów) ale nie zamieniłbym tego za Serverless Framework (SF).

Oczywiście, pewnie można w SF użyć jakiegoś pluginu i korzystać z CDK, a jeśli jeszcze nie można to pewnie ktoś niedługo taki napisze :slight_smile:

Fajnie, że mamy kolejną opcje, ja jednak nie zamierzam przepisywać swoich szablonów CF.

Pozdrawiam,

Cdk ~ Serverless, widzę sporo plusów obu stron - tak jak napisał @pzubkiewicz poniżej :slight_smile:
Suma sumarum wszystko ląduje w CFie, kwestia tylko teraz czy chcemy mieć to spinane kodem (TSem, Javą itd) czy wspieramy się “protokołem” - frameworkiem który zawsze będzie czytelny dla wszystkich tak samo :slight_smile:

2lajki

Male porownanie. Brakuje mi jeszce tutaj Plumi.