Definicja #
Ansible to open-source'owe narzędzie do zarządzania konfiguracją, wdrażania aplikacji i automatyzacji infrastruktury stworzone przez Michaela DeHaana, od 2015 roku rozwijane przez Red Hat (IBM). Jest napisane w Pythonie i dostępne na licencji GNU GPL.
Kluczowe koncepcje Ansible:
- Agentless — działa przez SSH lub WinRM bez instalacji agentów na zdalnych hostach
- Inventory — lista hostów i grup hostów (statyczna lub dynamiczna)
- Playbook — plik YAML opisujący zadania do wykonania na hostach
- Task — pojedyncze działanie (instalacja pakietu, kopiowanie pliku, restart serwisu)
- Module — gotowe jednostki pracy: apt, yum, copy, template, service, docker_container...
- Role — reużywalna struktura playbooków z zadaniami, zmiennymi, szablonami i handlerami
- Ansible Galaxy — repozytorium gotowych ról
Ansible Automation Platform (AAP) to komercyjny produkt Red Hat dodający GUI, RBAC i centralną orchestrację przez kontroler (dawniej Ansible Tower).
Zastosowania #
Ansible automatyzuje powtarzalne zadania administracyjne:
- Konfiguracja nowych serwerów i standaryzacja środowisk (idempotentne playbooki)
- Wdrażanie aplikacji na wiele serwerów jednocześnie — rolling deployments
- Zarządzanie pakietami, usługami systemowymi i plikami konfiguracyjnymi
- Provisioning maszyn wirtualnych i kontenerów we współpracy z Terraform
- Automatyczne backupy, aktualizacje bezpieczeństwa (patching) i compliance checks
Ścieżka nauki #
Przed nauką Ansible warto znać podstawy Linux, SSH i administracji serwerami. Przydatna jest znajomość YAML.
Zacznij od:
- Instalacja Ansible i konfiguracja inventory (plik hosts)
- Pierwsze polecenia ad-hoc:
ansible -m ping all - Pisanie prostych playbooków: instalacja pakietów, konfiguracja plików
Następnie opanuj:
- Zmienne (vars, defaults, group_vars, host_vars) i szablony Jinja2
- Handlery i warunkowe wykonanie tasków
- Role — tworzenie i korzystanie z Ansible Galaxy
- Dynamiczne inventory (AWS, Azure)
- Testowanie ról: Molecule + Docker
- Certyfikacja: Red Hat Certified Specialist in Ansible Automation
FAQ #
- Czym różni się Ansible od Terraform?
- Ansible służy do zarządzania konfiguracją istniejących serwerów (co zainstalować, jak skonfigurować). Terraform provisionuje infrastrukturę (jakie zasoby chmurowe stworzyć). W praktyce często używa się obu: Terraform tworzy VM, Ansible je konfiguruje.
- Ile zarabia inżynier znający Ansible?
- Ansible jest typowo częścią profilu DevOps/SRE. Inżynier DevOps z Ansible i Terraform zarabia w Polsce od 12 000 do 26 000 zł brutto miesięcznie.
- Czy Ansible jest darmowy?
- Ansible CLI i AWX (open-source GUI) są darmowe. Ansible Automation Platform (AAP) od Red Hat to produkt komercyjny z subskrypcją, dodający enterprise features i wsparcie.
- Jak długo uczyć się Ansible?
- Pierwsze działające playbooki można napisać w ciągu tygodnia. Biegłość w rolach, dynamicznym inventory i zaawansowanych wzorcach zajmuje 1–2 miesiące regularnej praktyki.