Junior
Z jakimi usługami pracowałeś i co dokładnie z nimi robiłeś?
sobes.tech AI
Odpowiedź od AI
Pracowałem z szerokim spektrum usług obejmujących główne obszary praktyk DevOps:
-
Platformy chmurowe:
- AWS (Amazon Web Services): EC2 (zarządzanie instancjami, autoscaling, ELB), S3 (przechowywanie obiektów, konfiguracja statycznych stron internetowych), RDS (zarządzanie bazami danych – PostgreSQL, MySQL), VPC (infrastruktura sieciowa), IAM (zarządzanie dostępem), CloudWatch (monitoring i alerty), Lambda (funkcje bezserwerowe), EKS (zarządzanie klastrami Kubernetes), Route 53 (DNS).
- Azure (Microsoft Azure): Maszyny wirtualne, Konta magazynowe, Azure SQL Database, Sieć wirtualna, Azure AD (Azure Active Directory), Azure Monitor, Azure Kubernetes Service (AKS), Azure Functions, Azure DNS.
- GCP (Google Cloud Platform): Compute Engine, Cloud Storage, Cloud SQL, Virtual Private Cloud, Cloud Identity and Access Management (IAM), Cloud Monitoring, Google Kubernetes Engine (GKE), Cloud Functions, Cloud DNS.
-
Systemy zarządzania konfiguracją:
- Ansible: Automatyzacja wdrażania aplikacji, zarządzanie serwerami, konfiguracja systemów operacyjnych, wykonywanie rutynowych zadań. Pisanie playbooków i ról.
- Terraform: Infrastruktura jako kod. Tworzenie, modyfikacja i niszczenie infrastruktury chmurowej (AWS, Azure, GCP, Kubernetes i innych). Zarządzanie stanem infrastruktury.
- Chef / Puppet (podstawowe doświadczenie): Użycie receptur/manifestów do zarządzania konfiguracjami.
-
Systemy CI/CD:
- Jenkins: Budowa pipeline'ów do kompilacji, testowania i wdrażania aplikacji (od monolitów po mikroserwisy). Integracja z systemami kontroli wersji (Git), menedżerami pakietów, narzędziami testowymi.
- GitLab CI/CD: W pełni zintegrowane rozwiązanie CI/CD w GitLab. Tworzenie plików
.gitlab-ci.yml, konfiguracja runnerów, zarządzanie wdrożeniami. - GitHub Actions: Automatyzacja procesów w GitHub. Budowa, testowanie i wdrażanie aplikacji bezpośrednio z repozytorium.
- Azure DevOps Pipelines: Budowa pipeline'ów CI/CD w środowisku Azure DevOps.
-
Konteneryzacja:
- Docker: Budowa obrazów (Dockerfiles), uruchamianie kontenerów, zarządzanie kontenerami (Docker-compose), orkiestracja (podstawowy Docker Swarm).
- Kubernetes: Wdrażanie i zarządzanie aplikacjami kontenerowymi. Praca z podami, deploymentami, serwisami, ingressami, configmapami, sekretami. Monitorowanie i skalowanie. Zarządzanie RBAC.
-
Systemy monitorowania i logowania:
- Prometheus & Grafana: Zbieranie metryk, wizualizacja danych, konfiguracja alertów. Monitorowanie stanu serwerów, aplikacji, klastrów Kubernetes.
- ELK Stack (Elasticsearch, Logstash, Kibana): Centralne zbieranie, parsowanie, przechowywanie i analiza logów. Wizualizacja logów, wyszukiwanie, tworzenie dashboardów.
- Zabbix: Monitorowanie serwerów, sprzętu sieciowego, aplikacji. Konfiguracja triggerów i alertów.
- CloudWatch (AWS), Azure Monitor, Google Cloud Monitoring: Wykorzystanie wbudowanych systemów chmurowych do monitorowania zasobów.
-
Systemy kontroli wersji:
- Git: Codzienna praca z Git: klonowanie, commity, push, pull, merge, rebase, praca na gałęziach, forki, pull-requesty/merge-requesty.
-
Użycie języków skryptowych:
- Bash: Pisanie skryptów do automatyzacji rutynowych zadań, wdrożeń, administracji.
- Python: Pisanie bardziej skomplikowanych skryptów do automatyzacji zadań DevOps, pracy z API dostawców chmury, parsowania danych.
Konkretne działania wahały się od projektowania i wdrażania całej infrastruktury od podstaw do wdrożenia nowych mikroserwisów, optymalizacji istniejących pipeline'ów CI/CD, wdrażania systemów monitorowania i logowania oraz zapewnienia wysokiej dostępności usług poprzez konfigurację auto-skalowania i load balancerów. Zajmowałem się także konfiguracją i utrzymaniem baz danych, zapewnieniem bezpieczeństwa poprzez zarządzanie dostępem i konfigurację firewalli.