İçerik
Python packages DevOps dünyasında otomasyonun can damarı. Ansible, Jenkins ve Terraform gibi araçlar sahneye hakim olsa da, Python sessizce perde arkasındaki script’lerin, otomasyonların ve entegrasyonların çoğunu besliyor.
DevOps Engineer olarak CI/CD pipeline’ları kuruyor, monitoring sistemleri geliştiriyor ya da infrastructure yönetiyorsanız, Python’un zengin ecosystem’i hayatınızı kolaylaştıracak kütüphanelerle dolu. Bu makalede her DevOps engineer’ın bilmesi gereken 10 temel python packages paylaşacağım. Ya zaten kullanıyorsunuz ya da yakında bir çözüm bulduğunuzda kullanacaksınız.

Requests — HTTP için İsviçre Çakısı
Otomasyon script’lerinizin API’larla konuşması gerektiğinde, requests
Python’daki en iyi arkadaşınız. Basit, insan dostu ve authentication, header’lar ve JSON’ı kolaylıkla hallediyor.
import requests
response = requests.get("https://api.github.com/repos/imshakil/pacli")
print(response.json()["description"])
Kullanım Alanları:
- API’lardan build tetikleme
- Monitoring metriklerini çekme
- REST ile cloud resource’ları yönetme
Dokümantasyon: requests.readthedocs.io
Paramiko — Acısız SSH Otomasyonu
DevOps engineer’lar sık sık remote server’larda komut çalıştırması gerekiyor. paramiko
SSH ile bağlanıp programatik olarak komut çalıştırmanızı sağlıyor.
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("n8n.fusionpulse.tech", username="user", password="skipass")
stdin, stdout, stderr = ssh.exec_command("uptime")
print(stdout.read().decode())
ssh.close()
Kullanım Alanları:
- Birden fazla server’a update deploy etme
- Remote log toplama
- Server provisioning otomasyonu
Daha fazla bilgi: paramiko.org
Boto3 — AWS Otomasyonu Kolaylaştı
Infrastructure’ınız AWS’te yaşıyorsa, boto3
resource oluşturmak ve yönetmek için vazgeçilmez SDK.
import boto3
ec2 = boto3.client("ec2")
instances = ec2.describe_instances()
print(instances)
Kullanım Alanları:
- EC2 instance’ları ayağa kaldırma
- S3 bucket’ları yönetme
- Backup otomasyonu
Dokümantasyon: boto3.amazonaws.com
Fabric — Remote Task Orkestrasyonu
fabric
‘i SSH üzerinde daha üst seviye wrapper olarak düşünün. Birden fazla server’da komut çalıştırmayı kolaylaştırıyor.
from fabric import Connection
c = Connection('n8n.fusionpulse.tech', user='imshakil')
c.run('sudo systemctl restart nginx')
Kullanım Alanları:
- Kod deploy etme
- Service’leri restart etme
- Configuration rollout
Daha fazla bilgi: fabfile.org
PyYAML — Configuration Management’ın Basit Hali
YAML DevOps’ta her yerde (Ansible, Docker Compose, Kubernetes, CI/CD config’ler). PyYAML
Python’da YAML dosyalarını okuyup yazmanızı sağlıyor.
import yaml
with open("config.yaml") as f:
data = yaml.safe_load(f)
print(data)
Kullanım Alanları:
- Kubernetes manifest’leri parse etme
- CI/CD configuration’ları okuma
- Dinamik config dosyaları üretme
Dokümantasyon: pyyaml.org
Docker SDK — Container’ları Python ile Yönet
Docker ile çalışıyorsanız, docker
Python package’ı container yönetimini otomatikleştirmenizi sağlıyor.
import docker
client = docker.from_env()
print(client.containers.list())
Kullanım Alanları:
- Container build’lerini otomatikleştirme
- Container status monitoring
- Kullanılmayan container/image’ları temizleme
Dokümantasyon: docker-py.readthedocs.io
Rich — Beauty CLI Output
Log’lar ve command-line araçları sıkıcı olmak zorunda değil. rich
renkli, iyi formatlanmış output ve tablolar oluşturmanızı sağlıyor.
from rich.console import Console
console = Console()
console.print("[bold green]Deployment successful![/bold green]")
Kullanım Alanları:
- Deployment script’lerini user-friendly yapma
- Log’ları real time görselleştirme
- CLI dashboard’ları oluşturma
Link: rich.readthedocs.io
Psutil — Sistem Monitoring Parmaklarınızın Ucunda
psutil
CPU, memory, disk ve process’ler hakkında sistem seviyesi bilgi sağlıyor — health check yazma için mükemmel.
import psutil
print(f"CPU Usage: {psutil.cpu_percent()}%")
print(f"Memory Available: {psutil.virtual_memory().available / 1024**2} MB")
Kullanım Alanları:
- Custom monitoring araçları kurma
- Scaling kararlarını otomatikleştirme
- Resource kullanım metriklerini toplama
Link: psutil.readthedocs.io
Kubernetes SDK — Cluster’larınızı Otomatikleştirin
Kubernetes Python SDK (kubernetes
) Kubernetes cluster’larıyla programatik olarak etkileşim kurmanızı sağlıyor.
from kubernetes import client, config
config.load_kube_config()
v1 = client.CoreV1Api()
for pod in v1.list_pod_for_all_namespaces().items:
print(f"{pod.metadata.namespace}:{pod.metadata.name}")
Kullanım Alanları:
- Application’ları otomatik deploy etme
- Script’lerden workload’ları scale etme
- Cluster health bilgilerini toplama
Link: github.com/kubernetes-client/python
Ansible Runner — Python’dan Ansible Otomasyonu
Infrastructure otomasyonunuz zaten Ansible kullanıyorsa, ansible-runner
playbook’ları doğrudan Python script’lerinden çalıştırmanızı sağlıyor.
import ansible_runner
r = ansible_runner.run(
private_data_dir='/path/to/project',
playbook='site.yml'
)
print(r.status)
Kullanım Alanları:
- Ansible’ı CI/CD pipeline’larına entegre etme
- API’lardan config değişikliklerini tetikleme
- Monitoring alert’lerinden playbook execution otomasyonu
Link: ansible.readthedocs.io/projects/runner
Sonuç
Bu 10 Python paketiyle, sunucu erişiminden Kubernetes dağıtımlarına kadar pek çok işi tek akışta otomatikleştirebilirsiniz. Örneğin talimatları requests ile alın, sunucuyu Paramiko ile yapılandırın, container’ı Docker SDK ile başlatın. Doğru yerde kullandığınızda süreçler hızlanır, sistemler de daha güvenilir olur
Python’un gücünü DevOps dünyasında kesinlikle kullanmalısınız.
İlginizi çekerse aşağıdaki yazılarıma da göz atabilirsiniz;
SRE/DevOps Engineer’lar Neden Claude Code Kullanmalı?
Temiz Shell Script Yazmanın Yolları: 10 Etkili Bash Fonksiyonu