Dzięki wszystkim za wypełnienie ankiety - dała mi dużo informacji i już przekłada się na moje działania. Ich rezultaty zobaczycie już niebawem.
Wylosowałem już 3 osoby i otrzymały one oddzielnego maila z zaproszeniem na rozmowę ze mną 1:1.
A dzisiaj podważę długo utrzymywane założenie, że potoki CI/CD są najlepszym sposobem na tworzenie i wdrażanie oprogramowania. Wyjaśnię Ci czym jest podejście CI&CD.

Dlaczego tradycyjny potok CI/CD jest niedoskonały

Klasyczny potok CI/CD łączy budowanie i wdrażanie w jeden zautomatyzowany przepływ. Podejście to ma jednak kilka istotnych wad:

  • Marnotrawienie zasobów - Kompilacje są uruchamiane często, ale nie każda kompilacja musi zostać wdrożona, co prowadzi do niepotrzebnych procesów.
  • Trudny i niepełny rollback - Wdrożenia tradycyjną częścią CD potoku konstruują (często na sznurki i gumę do żucia) manifesty i od razu je wdrażają na klastry przez co rollback jest złożony i niepełny, gdyż nie ma pełnych śladów o tym procesie CD
  • Ścisłe powiązanie (tight coupling)- Podejście CI/CD ściśle łączy tworzenie i wdrażanie, zmniejszając elastyczność i zwiększając złożoność.

Poznaj CI&CD

Zamiast monolitycznego potoku CI/CD,oddzielamy procesy budowy i wdrażania:

  • Oddzielne budowanie z CI - Wykorzystaj istniejący silnik CI (np. Jenkins, GitHub Actions, GitLab CI), aby skupić się wyłącznie na budowaniu i testowaniu kodu.
  • Wdrażanie za pomocą CD z GitOps - Tutaj pojawia się prawdziwa poprawa. Zdefiniuj pożądany stan aplikacji w repozytorium Git i użyj narzędzi GitOps, aby automatycznie zsynchronizować stan ze środowiskiem. Repozytorium Git staje się pojedynczym źródłem prawdy dla aplikacji.

Kto powinien przyjąć to podejście?
Skorzystają na tym duże organizacje ze złożonymi projektami, bo dzięki temu jest lepsza kontrola i możliwość audytu, a te są nieocenione przy zarządzaniu wdrożeniami na dużą skalę.
Również małe startupy ze świeżymi projektami (greenfield) zyskują na tym podejściu - rozpoczęcie od GitOps od samego początku buduje skalowalny i niezawodny proces wdrażania od podstaw.

Korzyści nowego podejścia

Przede wszystkim to olbrzymie oszczędności czasu. Nowe wersje są wcześniej udostępniane - skraca się TTM (Time To Market).
Zwiększona jest też transparentność - każda zmiana jest śledzona w Git, zapewniając wyraźną ścieżkę audytu wszystkich wdrożeń.

Pełny rollback jest możliwy i prostszy. Powrót do poprzedniego stanu odbywa się poprzez cofnięcie odpowiedniego commitu w repozytorium Git i zaczekanie, aż GitOps zrobi swoje.

Wspiera to również moje ulubione podejście “Everything as Code”. Bez tego tradycyjne potoki CI/CD wprowadzają chaos i niespójność.

Jak wdrożyć CI&CD

O dziwo to dość proste:

  1. Użyj istniejącego silnika CI (Jenkins, GitHub Actions, GitLab CI) do budowy potoki CI, aby budować obrazy kontenerów i testować aplikacje. Taki potok wytwarza też manifesty, które automatycznie są commitowane do repozytorium.
  2. Wybierz dowolnego dostawcę Git (GitHub, GitLab, Bitbucket) i utwórz odpowiednią strukturę repozytoriów, wliczając to dedykowane “źródło prawdy” dla automatycznych wdrożeń przez GitOps.
  3. Połącz to z GitOps. Argo CD to obecnie najlepsze rozwiązanie dla większości przypadków użycia. Rozważ Flux CD dla mniejszych środowisk lub gdy potrzebujesz lekkiego rozwiązania.

A czy takie wdrożenie jest łatwe?
No cóż, to podejście może początkowo stanowić wyzwanie, ale długoterminowe korzyści w postaci zmniejszonego nakładu pracy, zwiększonej niezawodności i szybszego TTM sprawiają, że inwestycja jest opłacalna. Doświadczone zespoły uznają to za łatwiejsze w zarządzaniu i jest to niezbędne dla zespołów, które chcą uniknąć ciągłej frustracji i niespójności środowisk.

O tym podejściu będę tworzył dodatkowe, ciekawe treści. Temat jest bardzo interesujący dla dużej części z Was co potwierdziła ankieta.
Plan jest, wkrótce realizacja 🙂

Nowe części serii “AI w minutę”

Tradycyjnie na końcu przedstawiam listę dostępnych wideo tłumaczących jak działa AI.

1: Jaka jest różnica między AI a LLM?
2: Czym jest LLM?
3: Jak powstaje LLM?
4: Jaka działa LLM?
5: Czym są parametry w LLM?
6: Ile kosztuje korzystanie z LLM?
7: Czym jest self-attention?
8: Czym jest cutoff w LLM?
9: Czym są tokeny?
10: Czym są embeddings?
11: Czym jest RAG?
12: Czym jest prompt engineering?
13: Jak uczyć AI z własnych danych?
14: Dlaczego LLMy halucynują? (niepubliczne - obecnie dostępne tylko dla subskrybentów)
15: Czym jest fine-tuning modelu? (niepubliczne - obecnie dostępne tylko dla subskrybentów)
16: Czy korzystanie z LLM jest bezpieczne? (już w tłusty czwartek 27 lutego)