DevOps, yazılım geliştirme (development) ve operasyon (operation) için, iş birliği ile birlikte uygulama geliştirme süreçlerini bir düzen içerisinde hızlandırmayı amaçlayan pratikler bütünüdür. Kabul görmüş kullanımının aksine bir meslek değil, basit tabir ile pratikler için el kitabıdır.
DevOps pratiklerinin temel amacı, yazılım ekibi ve operasyon ekipleri arasındaki iletişimi hızlandırmak, süreçleri otomatize etmek ve yazılımın hızlı, güvenilir bir şekilde ilgili ortamlara dağıtılmasını sağlamaktır.
Pratikler dahilinde temel prensipler 5 madde ile ele alınabilir,
- İşbirliği: Ekiplerin bir uyum içerisinde çalışması hedeflenir.
- Otomasyon: Dağıtım, güncelleme gibi işlemler otomasyona bağlanarak kişi bağlılığından kurtarılır.
- İzleme (Monitoring) ve Geri Bildirim: Performans ve olası sorunlar izlenerek, güncelleme haritaları çıkartılır.
- Teknoloji Bağımlılığı (IaaS): Alt yapılar kod ile yönetilir, böylece bağımlılıklar ortadan kaldırılır.
- CI/CD: Sürekli entegrasyon ve dağıtım süreçleri ile entegrasyonlar hızlı bir şekilde otomasyon (2. madde) ile kullanıma sunulur.
Pratikler bu ilkelere bağlı olarak güncellenen yazılımın kişi/ortam bağımsız olarak son kullanıcılara dağıtılmasını hedefler. Bununla birlikte ekiplerin işbirliği içerisinde fakat birbirlerinden bağımsız olarak çalışmalarına olanak sağlar.