advanced
Optymalizacja potoku CI/CD z wykorzystaniem Dockera i Kubernetes
Projekt kompleksowego potoku CI/CD z automatycznym wdrażaniem i rollbackiem.
Zaprojektuj zaawansowany plik konfiguracyjny Jenkins Pipeline (Jenkinsfile) w języku Groovy. Potok musi obsługiwać proces budowania, testowania i wdrażania aplikacji mikroserwisowej do klastra Kubernetes. Wymagania obejmują: użycie agentów Dockerowych do izolacji środowiska, etap testów jednostkowych i integracyjnych z pokryciem kodu, skanowanie bezpieczeństwa obrazów (np. Trivy), automatyczne tagowanie obrazów na podstawie commits, wdrożenie do środowiska stagingowego, uruchomienie testów akceptacyjnych, a w przypadku sukcesu wdrożenie do produkcji. Dodatkowo zaimplementuj mechanizm automatycznego wycofania (rollback) do poprzedniej wersji, jeśli testy smoke na produkcji nie przejdą. Zawórz również powiadomienia na Slacka o statusie każdego etapu.
advanced
Skrypt ETL w Pythonie z obsługą błędów i logowaniem
Tworzenie zaawansowanego skryptu ETL do ekstrakcji, transformacji i ładowania danych.
Napisz kompletny skrypt w języku Python, który realizuje proces ETL (Extract, Transform, Load). Skrypt ma pobierać dane z plików CSV zlokalizowanych w zdalnym katalogu SFTP, przetwarzać je przy użyciu biblioteki Pandas (czyszczenie danych, zmiana typów, usuwanie duplikatów, obsława wartości null), a następnie ładować je do bazy danych PostgreSQL przy użyciu SQLAlchemy. Kod musi zawierać zaawansowaną obsługę wyjątków (try-except-else-finally) dla każdego etapu, logowanie zdarzeń do pliku i konsoli (używając biblioteki logging) z różnymi poziomami ważności, a także mechanizm retry dla połączeń sieciowych. Opisz jak można uruchomić ten skrypt cyklicznie za pomocą crona.
advanced
Infrastruktura jako kod (IaC) w Terraform dla aplikacji wielowarstwowej
Automatyzacja provisioningu zasobów chmurowych z użyciem Terraform.
Stwórz zestaw modułów w Terraform (HCL) do zautomatyzowania wdrożenia bezpiecznej infrastruktury w AWS dla aplikacji trójwarstwowej (Web, Application, Database). Infrastruktura musi obejmować: VPC z co najmniej dwiema sieciami prywatnymi i jedną publiczną, bramę NAT, Security Groups z minimalnymi uprawnieniami, bazę danych RDS (PostgreSQL) w trybie Multi-AZ z automatycznymi kopiami zapasowymi oraz zasoby EC2 lub EKS dla warstwy aplikacji. Kod powinien być modułowy i parametryzowany przy użyciu plików tfvars. Dodaj również konfigurację Backend do przechowywania stanu (state file) w S3 z włączonym blokowaniem stanu (DynamoDB). Wyjaśnij strategię zarządzania sekretami w tym rozwiązaniu.