Usługi / DevOps i platform engineering

Dostarczanie oprogramowania

Release, który jest rutyną, nie wydarzeniem

GitLab albo GitHub Actions buduje i testuje. Argo CD wdraża to, co jest w Gicie. Kubernetes trzyma workload. Grafana pokazuje, czy zmiana utrzymała SLO. Platforma, z której zespoły korzystają same, bez utraty kontroli.

1 pipeline Ta sama ścieżka od commita do produkcji
GitOps Stan klastra wynika z repozytorium
SLO Alert i dashboard od pierwszego dnia platformy
Self-service Zespół wdraża bez ticketu na każdą zmianę
Jak to składa się w całość

Cztery warstwy, jeden sposób dostarczania

Bez GitOps pipeline kończy się na artefakcie. Bez obserwowalności deploy jest zgadywaniem. Składamy CI, Argo CD, Kubernetes i Grafanę w jeden rytm: zmiana, weryfikacja, wgląd.

  • Preview environment i produkcja korzystają z tych samych manifestów, z inną konfiguracją.
  • Ręczna zmiana w klastrze jest dryfem. Wracamy do Gita albo zapisujemy ją jako kod.
GitLab, pipeline CI/CD, status i etapy build
01, CI/CD

Pipeline z polityką jakości, nie z ręcznym przyciskiem

Budujemy CI w GitLab albo GitHub Actions: test, skan, artefakt i bramka do środowiska. Merge nie omija kontroli. Preview environment wstaje na merge request i znika po zamknięciu.

Bramki

Testy, lint, SAST, obraz i polityka artefaktu. Broken main jest wyjątkiem, nie trybem pracy.

Środowiska

Dev, staging i produkcja z tym samym pipeline. Różnica to zatwierdzenie i sekrety, nie inny skrypt.

Tożsamość

Runner, registry i chmura na kontach serwisowych z krótkim życiem tokenu.

Ślad

Kto odpalił job, jaki commit, jaki artefakt poszedł dalej. Materiał pod audyt zmiany.

Argo CD, aplikacje, health i sync GitOps
02, Argo CD

Stan klastra wynika z repozytorium

Argo CD porównuje klaster z Gitem i synchronizuje dryf. Rollback to powrót do znanego commita. Uprawnienia do klastra zostają w narzędziu, nie w laptopie developera.

Źródło prawdy

Manifesty, Helm albo Kustomize w repo. Zmiana bez merge nie zostaje na produkcji.

Widoczność

Health, sync i diff na aplikacji. OutOfSync ma właściciela, nie cichy dryf.

Granice

Projekt per zespół albo per klient. RBAC w Argo, nie cluster-admin dla wszystkich.

Awaria

Gdy sync zawiedzie, widać zasób i zdarzenie. Playbook na rollback i eskalację.

Kubernetes Dashboard, pody, CPU i pamięć
03, Kubernetes

Klaster, który da się powtórzyć i rozliczyć

Kubernetes w chmurze albo on-prem, z tą samą polityką sieci, limitów i backupu. Node, storage i ingress są w kodzie. Dashboard służy do diagnostyki, nie do ręcznych zmian na produkcji.

Powtarzalność

Terraform albo inny IaC na klaster, addony i sieć. Drugie środowisko wstaje z tego samego opisu.

Limity

Request, limit, quota i NetworkPolicy. Jeden niesforny workload nie zabiera sąsiadom CPU.

Dzień drugi

Upgrade, certyfikaty, storage class, PDB. Okno i plan cofnięcia są częścią retaineru.

Dostęp

kubectl przez tożsamość firmową. Audit log każdego żądania API.

Grafana, katalog dashboardów i źródeł danych
04, Grafana

SLO widać, zanim użytkownik zgłosi awarię

Metryki, logi i ślady w jednym miejscu. Dashboard per usługa, alert z runbookiem, nie z surowym progiem CPU. Po deployu widać, czy p95 i błąd zostały w budżecie.

Sygnał

RED albo USE per usługa. Logi z kontekstem poda i commita. Tracing tam, gdzie ścieżka jest rozproszona.

Alert

Priorytet, cisza przy utrzymaniu, eskalacja. Szum schodzi w pierwszym miesiącu, nie zostaje na zawsze.

Koszt

Retencja i sampling ustawione świadomie. Obserwowalność nie może zjadać marży produktu.

Ludzie

Ten sam obraz dla engineeringu i dyżuru. Mniej zgadywania, kto patrzy na który panel.

Operacja

Od mapy platformy do rytmu release

Najpierw inwentaryzacja repo, klastrów i sekretów. Potem pipeline i GitOps. Na końcu SLO, dyżur i katalog usług.

  1. Mapa Repozytoria, środowiska, sekrety, kto wdraża, jaki klaster.
  2. Baseline CI z bramkami, Argo CD, limity i pierwszy zestaw dashboardów.
  3. Self-service Szablon aplikacji, dokumentacja, uprawnienia per zespół.
  4. Rytm Przegląd faili pipeline, dryfu GitOps i budżetu SLO.
Rozmowa

Omówimy pipeline, klaster i obserwowalność

Na tej podstawie przygotujemy zakres: CI, GitOps, limity i dashboardy.

Skontaktuj się