DevOps minimalista
Cześć!
Poznaj mnie
Pomysł
na siebie = DevOps Engineer
Wizja
Oprogramowanie, przy którym pracuję, jest przygotowane do obsługi globalnego zapotrzebowania na jego usługę.
Misja
Wspomagam zespoły Scrum poprzez wykonywanie zadań operacyjnych. Umożliwiam programistom i testerom skupienie się na zadaniach biznesowych i na dowożeniu celów sprintów. Przygotowuję środowisko, które sprzyja wydajnej pracy nad rozwojem aplikacji sieciowych, oraz uruchamiam je na Google Cloud, dbając o ich wysoką dostępność i niezawodność.
Cele
- Zdefiniować kompleksową i efektywną ścieżkę wdrażania dedykowanego oprogramowania na rynek.
- Skrócić czas pierwszego wdrożenia aplikacji do 2 tygodni, bez szkody dla jakości infrastruktury.
- Stale redukować występowanie awarii na produkcji poprzez wczesne wykrywanie problemów.
- Stale skracać czas przestoju produkcji poprzez sprawne reagowanie na awarie.
- Stale minimalizować marnotrawstwo czasu i energii zespołu poprzez mądrą automatyzację pracy.
Technologia
Używam narzędzi które kształtują najnowsze standardy w branży.
Certyfikaty
Moja wiedza potwierdzona jest oficjalnymi certyfikatami.
Praktyka
Programuję od 2009 roku.
Zawodowo od 2013.
DevOps robię od 2018.
Role
jakie pełnię w zespołach
DevOps Engineer
Operations - od kodu źródłowego, aż do produkcji.
Platform Engineer
Zajmuję się development platform.
Cloud Engineer
Zajmuję się deployment platform.
Site Reliability Engineer (SRE)
Dbam o niezawodność stateless services.
Database Reliability Engineer (DBRE)
Dbam o niezawodność stateful services.
Zadania
którymi się zajmuję
Budowa
Kompletuję zależności i buduję obrazy Docker z aplikacjami.
Wdrożenia
Uruchamiam kontenery Docker na klastrach Kubernetes.
Automatyzacja
Automatyzuję procesy CI/CD za pomocą narzędzi GitOps.
Utrzymanie
Monitoruję aplikacje 24/7/365 i dbam o ich wysoką dostępność.
Migracje do Google Cloud
Migruję istniejące systemy na chmurę obliczeniową Google.
DevOps golden path
pewny i wypróbowany sposób na rozwój aplikacji chmurowych
Zespół Scrum
Projekt rozpoczyna się od zbudowania zespołu, który posiada wszystkie niezbędne kompetencje do stworzenia produktu.
Scrum Team:
- Product Owner,
- Scrum Master,
- Scrum Developers.
Scrum Events:
- Sprint,
- Sprint Planning,
- Daily Scrum,
- Sprint Review (aka. demo),
- Sprint Retrospective.
Scrum Artifacts:
- Product Backlog,
- Sprint Backlog,
- Increment.
Additional recommended practices:
- Definition of Ready (DoR),
- Definition of Done (DoD).
Planowanie i przygotowanie
To etap przygotowania, w którym definiowane są wymagania produktu, projektowana jest architektura systemu, wybierane są technologie oraz konfigurowane są podstawowe narzędzia. Celem jest stworzenie solidnych fundamentów dla aplikacji i infrastruktury.
Zarządzanie zadaniami
Zespół wybiera narzędzie do organizacji pracy i zadań w projekcie.
Most popular Scrum tools:
Architektura aplikacji
Zespół projektuje architekturę aplikacji zgodną z wymaganiami biznesowymi.
Backend services options:
- monolith,
- microservices,
- modular monolith.
Frontend applications options:
- multi-page application (MPA),
- single-page application (SPA),
- server-side rendering (SSR),
- client-side rendering (CSR),
- static site generation (SSG), aka. prerendering.
Konta użytkowników
Zespół ustala metody logowania użytkowników do aplikacji i zarządzania ich uprawnieniami.
Most popular authentication (AuthN) methods:
- username and password combination,
- one-time password (OTP),
- two-factor authenticaton (2FA),
- single sign-on (SSO).
Most popular SSO protocols:
Most popular OAuth2 providers:
- Google,
- Facebook,
- Microsoft,
- X (Twitter).
Most popular authorization (AuthZ) security models:
- access-control list (ACL),
- role-based access control (RBAC).
Globalizacja aplikacji
Zespół ustala jakie aspekty globalizacji ma wspierać ich aplikacja dla różnych regionów świata.
Basic things to consider:
- user profile settings:
- language,
- country,
- timezone,
- date and time format,
- first day of the week,
- currency,
- text translations.
Serwisy wspierające
Zespół dobiera serwisy wspierające takie jak bazy danych, serwisy do wysyłania maili czy platformy płatności.
Things to consider:
- database (relational, document, key-value, wide-column, graph, time series, search engine),
- file storage,
- message queue,
- mailing service,
- notification service (for web browsers, for mobile devices),
- auth platform, aka. customer identity and access management (CIAM),
- payment gateway,
- feature flags service.
Platforma programistyczna
Zespół wybiera narzędzia i technologie potrzebne do efektywnego rozwoju aplikacji.
Things to consider:
- programming language,
- runtime environment (RTE),
- software development kit (SDK),
- integrated development environment (IDE),
- package manager,
- vulnerability scanner,
- code formatter,
- code linter,
- version control system (VCS),
- application framework,
- testing framework,
- database migrations & seeding tool.
Automatyzacja testów
Zespół określa jakie rodzaje testów automatycznych będzie stosować podczas rozwoju aplikacji.
Test types:
- unit tests,
- API tests,
- E2E tests,
- smoke tests.
Testing approach:
- Test-Driven Development (TDD),
- Behavioral-Driven Development (BDD); see also Gherkin.
Środowiska testowe
Zespół określa jakich środowisk będą używać podczas testowania aplikacji.
Examples:
- local / development,
- integration,
- staging,
- demo.
Wdrożenia produkcyjne
Zespół określa jak aplikacja będzie wdrożona na środowisko produkcyjne.
Deployment regions (see Google Cloud regions):
- one global instance (
example.com
), - one instance per continent (
eu.example.com
,as.example.com
), - one instance per country (
pl.example.com
,de.example.com
).
Deployment architectures:
- multi-tenant,
- single-tenant.
Platforma wdrożeniowa
DevOps wybierają narzędzia potrzebne do wdrożenia wysokodostępnych aplikacji.
Recommended stack:
- infrastructure: Google Cloud Platform (GCP),
- infrastructure as code: Terraform,
- orchestration: Google Kubernetes Engine (GKE),
- containers: Docker,
- operating systems: Linux (Debian/Ubuntu).
Kopie zapasowe danych
DevOps planują system tworzenia kopii zapasowych.
Recommended stack:
Monitorowanie
DevOps wybierają narzędzia do monitorowania infrastruktury i aplikacji.
Recommended stack:
- Grafana,
- Loki (logs storage),
- Mimir (metrics storage),
- Tempo (traces storage),
- Prometheus exporters,
- OpenTelemetry collectors.
Wersjonowanie oprogramowania
Zespół wybiera strategię wersjonowania aplikacji.
Most popular versioning strategies:
- Semantic Versioning (SemVer),
- 0-based Versioning (ZeroVer),
- Calendar Versioning (CalVer),
- datetime (e.g.
2025-12-31T23:59:59Z
), - timestamp (e.g.
1735685999
), - Git commit hash (e.g.
f4aeb7b
), - CI build number,
- incremental number.
Most popular changelog formats:
Kod źródłowy
Zespół ustala zasady pracy z kodem źródłowym.
Most popular Git branching models:
Most popular Git commit messages formats:
Repozytoria
DevOps wybierają rejestry dla kodu źródłowego i wybudowanych artefaktów.
Recommended code registries:
Strategies for organizing code repositories:
- multirepo,
- monorepo.
Recommended artifact registries:
Automatyzacja pracy
DevOps dobierają narzędzia do automatyzacji procesów budowy, testowania i wdrażania aplikacji.
Recommended build servers:
Dokumentacja projektów
Zespół wybiera narzędzia do dokumentowania projektu i API sieciowego.
Most popular documentation tools:
- plain Markdown files,
- Markdown architectural decision records (Markdown ADRs),
- OpenAPI,
- Swagger,
- apiDoc,
- AsyncAPI.
Budowa i uruchomienie
To etap, w którym aplikacja i infrastruktura są budowane, konfigurowane i wdrażane. System zostaje uruchomiony i zaczyna działać.
Repozytoria
DevOps tworzą repozytoria na kod źródłowy i wybudowane artefakty.
Things to consider:
- Git,
- Node.js packages, Python packages, ...,
- Docker images,
- Helm charts,
- Terraform modules,
- Terraform state.
Konfiguracja projektów
Programiści instalują frameworki i przygotowują aplikację do pierwszego uruchomienia.
Things to remind:
Lokalne środowisko deweloperskie
DevOps przygotowują środowisko deweloperskie do lokalnej pracy z aplikacją.
Things to consider:
Logika biznesowa ✅
Programiści implementują pierwsze funkcje aplikacji dostarczające wartość dla użytkowników.
Platforma wdrożeniowa
DevOps tworzą i konfigurują platformę na której uruchomione będą aplikacje.
Recommended cloud components:
- VPC network,
- GKE cluster,
- VPC egress (IP address, NAT mapping),
- VPC ingress (IP address, DNS records, SSL/TLS certificates),
- VPC firewall.
Zarządzanie sekretami
DevOps tworzą bezpieczne mechanizmy przechowywania konfiguracji niejawnej.
Wdrożenie aplikacji ✅
DevOps wdrażają aplikację zapewniając jej wysoką dostępność i odporność na awarie.
Recommended features:
- high availability,
- fault tolerance,
- horizontal autoscaling,
- load balancing,
- zero-downtime deployments (e.g. rolling updates),
- immutable deployments,
- instances auto-healing.
Automatyzacja wdrożeń
DevOps konfigurują pipeline CI/CD do automatycznego budowania i wdrażania aplikacji.
Recommended pipeline steps:
- dependencies vulnerability check,
- build,
- code format check,
- code lint check,
- run code tests,
- deploy to integration environment (Continuous Integration),
- run smoke tests,
- run system tests,
- deploy to staging environment (Continuous Delivery),
- run smoke tests,
- deploy to production environment (Continuous Deployment),
- run smoke tests.
Kopie zapasowe danych
DevOps konfigurują automatyczne tworzenie kopii zapasowych i testują odzyskiwanie utraconych danych.
Recommended features:
- scheduled backups,
- restore on demand.
Monitorowanie
DevOps uruchamiają system monitorowania. Gromadzą logi, metryki i trasy, a następnie je wizualizują.
Recommended actions:
- collect logs,
- collect metrics,
- collect traces,
- visualize system state,
- collect Service Level Indicators (SLI) to assess Service Level Objectives (SLO) and monitor Service Level Agreements (SLA),
- predict issues,
- alert issues.
Obserwacja i utrzymanie
To etap ciągłego zarządzania, monitorowania i optymalizacji działającego systemu. Skupia się na zapewnieniu niezawodności, skalowalności i wydajności.
Zarządzanie dostępami
DevOps zarządzają dostępem i uprawnieniami do zasobów chmury obliczeniowej.
Ciągłe wdrażanie ✅
Programiści stale rozwijają aplikację i dostarczają nowe funkcjonalności zgodnie z metodyką Scrum.
Zarządzanie incydentami
DevOps monitorują infrastrukturę i reagują na incydenty zapewniając stałą dostępność systemu.
Recommended practices:
- incident response,
- on-call duties,
- disaster recovery plan (DRP).
Optymalizacja kosztów
DevOps analizują wykorzystanie zasobów infrastruktury i optymalizują koszty chmury obliczeniowej.
Recommended tools:
Audyty bezpieczeństwa
DevOps przeprowadzają audyty w celu zapewnienia bezpieczeństwa infrastruktury.
Aktualizacje oprogramowania
DevOps okresowo przeprowadzają aktualizacje wykorzystywanych narzędzi.
Narzędzia
których używam w codziennej pracy
Code


Build
package managers
Release
Google Artifact Registry GitHub Packages Docker Hub Semantic Versioning (SemVer) 0-based Versioning (ZeroVer) Calendar Versioning (CalVer) Keep a Changelog Conventional CommitsDeploy
Kubectl Kustomize
Kubernetes framework
projekt infrastructure as code, który opieram na moim wieloletnim doświadczeniu i który mogę użyć do pracy przy Twoim produkcie
To do
In progress
Done
Projekty
w których biorę udział
Start-up
Wspieram startupy w szybkim wejściu na rynek, testowaniu pomysłów i częstym wdrażaniu nowych wersji.
Priorytety:
- uruchomienie infrastruktury,
- wdrożenie aplikacji,
- automatyzacja wdrożeń,
- monitorowanie aktywności użytkowników,
- przeprowadzanie testów A/B.
Scale-up
Pomagam firmom podczas poszerzania swoich zasięgów. Przygotowuję produkt do wzrostu liczby użytkowników. Dbam o niezawodność infrastruktury i stałą dostępność aplikacji.
Wymagania:
- automatyczne skalowanie infrastruktury,
- monitorowanie stanu i kondycji infrastruktury,
- zapewnienie wysokiej dostępności aplikacji,
- minimalizowanie przestojów aplikacji,
- automatyzacja CI/CD wspomagająca zachowanie wysokiej jakości kodu źródłowego.
Usługi
jakie mogę Ci zaoferować
DevOps as a service
Wykonuję zadania DevOps w oparciu o logowanie czasu pracy i stawkę godzinową.
DevOps on demand
Wykonuję konkretnie zdefiniowane zadania za konkretnie ustaloną kwotę.
DevOps on-call duty
Utrzymuję środowiska produkcyjne poza standardowymi godzinami pracy.
DevOps consultations
Doradzam w zakresie rozwoju i wdrażania oprogramowania na chmury obliczeniowe.
DevOps audits
Sprawdzam poziom kultury DevOps w Twojej organizacji i wskazuję obszary do poprawy.
DevOps trainings
Uczę Docker, Kubernetes, Terraform i Google Cloud, a także ich praktycznego zastosowania.
DevOps mentoring
Towarzyszę w świadomym planowaniu ścieżki zawodowej i rozwoju umiejętności.