DevOps Araçları Nelerdir — DevOps Tools

Şakir DEMİRER
Turk Telekom Bulut Teknolojileri
6 min readJul 3, 2024

Merhabalar,

DevOps uygulamaları yazılım geliştirme (Dev) ve operasyon ekipleri (Ops) arasındaki süreçleri otomatikleştiren araçlardır. DevOps’un avantajları kısaca şunlardır: Hız, hızlı teslimat, güvenilirlik, ölçeklendirme, güvenlik, iş birliği vs…

Bu makalede DevOps tarafında en çok kullanılan araçlara kısa kısa değineceğim. Eksik ve yanlış bilgi gözünüze çarparsa yorumlarda belirtebilirsiniz :)

devops tools

Docker, Kubernetes, Rancher, AKS, GKE, Openshift

  • Docker, uygulamalarınızı hızla derlemenize, test etmenize ve dağıtmanıza olanak sağlayan bir yazılım platformu olup Red Hat için Podman kullanılmaktadır.
  • Kubernetes, container’a alınmış uygulama ve hizmetleri yönetmek amacıyla tasarlanmış, açık kaynak kodlu bir platformdur.
  • Rancher, container yönetimini kolaylıkla yapmamızı sağlayan açık kaynak kodlu bir araçtır. (Ücretsiz)
  • Azure Kubernetes Hizmeti (AKS), cluster kümelerini hızlı bir şekilde dağıtmanızı ve yönetmenizi sağlayan yönetilen bir Kubernetes hizmetidir. (Ücretli)
  • Google Cloud Platform, Google Kubernetes Engine(GKE) adı verilen konteyner yapısına sahip bir uygulama yönetimine sahiptir. GKE, konteynerize edilmiş uygulamalar için canlı ortama hazır ve yönetimini kendisinin yaptığı bir servis sunar.
  • OpenShift, üzerinde web uygulamaları barındırmanıza imkan sunan, tek tıklama ile node.js, python, java, go, perl, php ve bunların popüler uygulamalarının kullanılmasına imkan tanıyan bir PaaS(Platform As a Services) platformudur. (Ücretli)

Terraform, Ansible, Chef, Puppet, Helm, Kustomize

  • Terraform HashiCorp firması tarafından, güvenli ve verimli bir şekilde altyapı oluşturmak ve iyileştirmek için geliştirilen açık kaynak kodlu bir araçtır.
  • Ansible yönetiminizde olan sunucuları tek bir çatı altında yönetebilmenize olanak sağlamaktadır. Python ve Ruby dilleri ile geliştirilmiş bir platformdur. (Ücretsizi AWX’dir.)
  • Chef; sistem ve uygulama yöneticileri tarafından tercih edilen, sistem altyapı kurulumlarını otomatize etme imkanı sağlayan açık kaynak kodlu bir yazılımdır. (Ücretli)
  • Puppet, sunucuların dağıtımı ve konfigüre edilmesi için kullanılan bir yapılandırma yönetim aracıdır. (Ücretli)
  • Helm, Kubernetes üzerinde uygulamaları kolayca yönetmenizi imkan sağlayan bir araçtır. Helm ile kolayca deploy, upgrade, sürüm işlemlerini yapabilirsiniz. (Ücretsiz)
  • Kustomize, kubernetes yapılandırma dosyalarının konfigüre edilebilmesini sağlayan bir araçtır. (Ücretsiz)

Newrelic, Zabbix, Prometheus, Alert Manager, Grafana, APM (App perf. monitoring), DynaTrace, Nagios, Opensearch

  • Newrelic, sunucunuza kuracağınız bir servis ile çalışan ve yazılımınız hakkında veriler elde etmenizi sağlamaktadır. (Ücretli)
  • Zabbix, bir ağın sayısız parametrelerini ve sunucuların sağlık ve bütünlüğünü izleyen bir yazılımdır. (Ücretsiz)
  • Prometheus açık kaynak sistem monitoring ve alerting uygulamasıdır. (Ücretsiz)
  • Alert Manager, Prometheus içerisinde yer almaktadır. Bunun gibi araçlar kullanılarak veriler belirli bir koşulu sağlaması halinde uyarı bildirimi gönderilir. (Ücretsiz)
  • Grafana, açık kaynak kodlu bir veri görselleştirme uygulamasıdır. Çeşitli veri kaynaklarını bağlayıp verilerinizi çizelgelerde, grafiklerde görüp daha kolay yorumlamanıza imkan tanımaktadır. (Ücretsiz)
  • Dynatrace, Web, Mobil ve Cloud-Based uygulamaları, altyapı, ağ ve kritik prosesleri izleyen aynı zamanda gerçek kullanıcı izleme özelliği ile kullanıcıların internet sitesindeki seçiminden, ana sistemde çalışan uygulama koduna kadar kullanılan bütün teknoloji katmanlarının performans yönetimini sağlayan bir uygulamadır. (Ücretli)
  • Nagios, bir sistem ve ağ denetleme aracıdır. Sunucu olarak belirlediğimiz makineye Nagios’u kurup izlemek, denetlemek istediğimiz makineye de agent(ajan) kurup gerekli konfigürasyonu yapıp ve Nagios’u çalıştırabiliriz. (Ücretli)
  • AWS OpenSearch, gerçek zamanlı uygulama izleme, günlük analizi ve web sitesi araması gibi çok farklı kullanım örnekleri için kullanılan, dağıtılmış, topluluk odaklı, Apache 2.0 lisanslı, %100 açık kaynaklı bir arama ve analiz paketidir. (Ücretli)

Jenkins, Octopus Deploy, Git, SonarQube, Selenium, Black Duck, Owasp-zap

  • Jenkins basit tanım ile, bir yazılım projesinde dinamik olarak gerekli olan yapısal işlemleri otomatize ederek projeyi hızlı, kolaylıkla hata raporlaması ve kolay test edilip hataların fixlenebilmesini sağlayan bir CI(Continous Integration) tool’udur. (Ücretsiz)
  • Octopus, tüm ekibiniz için, kurum içi veya bulutta yayımlanan yayınları düzenlemeyi ve uygulamaları kolaylaştırmak için tasarlanmış “dağıtım otomasyon sunucusudur”. Projelerin Development, Test ve Production işlemlerinin otomatik bir şekilde gerçekleşmesini sağlar. (Ücretli)
  • Git, yazılım geliştirme süreçlerinde kullanılan versiyon kontrol platformudur. (Ücretsiz)
  • SonarQube statik kod analiz aracı ve clean code gibi unsurları içinde barındıran açık kaynak güvenlik aracıdır. (Ücretli)
  • Selenium (Selenium Suite), test otomasyon dünyasının önemli ürünlerinden biri haline gelen, açık kaynaklı, yazılım test otomasyon kütüphanesidir. (Ücretsiz)
  • Black Duck, geliştirme ve üretimde açık kaynak ve üçüncü taraf bileşen risklerini algılar ve yönetir. Kapsayıcı görüntülerinde bulunan açık kaynağı ve ikili dosyaları benzersiz bir şekilde tanımlar. (Ücretli)
  • Owasp Zap ilk sürümü 2010 yılında Mozilla Security Team çalışanı Simon Bennets tarafından bulunan genellikle Penetration (Sızma) testlerinde kullanılan bir araçtır. (Ücretiz)

Github Entrp, JUnit, Checkmarx

  • GitHub, sürüm kontrol sistemi olan Git platformu projelerinin web tabanlı depolama servisidir.
  • Java tabanlı kodların test edilmesi için kullanılan bir Unit Test — Birim Testi kütüphanesidir.
  • Checkmarx, DevSecOps’tan CISO’lara kadar tüm kuruluşun ihtiyaçlarını dengeler, başlangıçtan itibaren tüm yazılım yaşam döngüsü (SDLC) boyunca sorunsuz güvenlik sağlar.

ELK Stack, Sonatype Nexus, JFrog Artifactory, Datadog, Splunk, Coverity Scan

  • Genellikle ELK Stack olarak bilinen Elastic Stack, işletmelerin büyük hacimli verileri gerçek zamanlı olarak aramasına, analiz etmesine ve görselleştirmesine yardımcı olmak için tasarlanmış güçlü bir açık kaynak araçları koleksiyonudur. (Ücretli)
  • Sonatype Nexus, rpm, binary dosyaların ve derleme yapılarının çoğu için dünya çapında kullanılan popüler bir depo yöneticisidir. (Ücretli)
  • JFrog Artifactory yelpazesi çok geniş olan bir repository yönetim sistemidir. Maven, NPM, nuget gibi binary paketlerinden tutun, docker imagelarınızı bile tutabilirsiniz. (Ücretli)
  • Datadog, buluta ölçekli uygulamalar, sunucu, veri tabanı, çeşitli uygulama araçları ve servislerini bulut(SaaS) tabanlı olarak izleme ve takip etmeye (monitoring) yarayan bir veri analiz platformudur. (Ücretli)
  • Splunk, uygulamalardan, sunuculardan ve ağ cihazlarından makine tarafından oluşturulan verileri toplayan, indeksleyen ve analiz eden bir yazılım platformudur. (Ücretli)
  • Coverity, geliştirme ve güvenlik ekiplerinin yazılım geliştirme yaşam döngüsünün (SDLC) erken aşamalarında güvenlik ve kalite kusurlarını ele almasına, uygulama portföyü genelinde riskleri izleyip yönetmesine ve güvenlik ve kalite kusurlarını ele almasına yardımcı olan hızlı, doğru ve yüksek düzeyde ölçeklenebilir bir statik analiz (SAST) çözümüdür. (Ücretli)

MongoDB, Kafka, Redis, RabbitMQ

  • MongoDB verileri JSON biçiminde doküman olarak veritabanında saklayan NoSQL tabanlı bir veritabanıdır.
  • Apache Kafka, LinkedIn tarafından geliştirilmiş, şu an Apache yönetiminde açık kaynak olarak çoğunlukla Confluent şirketi tarafından bakımı ve geliştirimi yapılan bir projedir. Dağıtık (distrubuted) bir veri akış (streaming) platformudur.
  • Redis, Remote Dictionary Server (Uzak Sözlük Sunucusu); ilişkisel olmayan anahtar/değer veri tabanlarını ve önbellekleri uygulamak için yaygın olarak kullanılan açık kaynaklı bir bellek içi veri deposudur.
  • RabbitMQ mesaj kuyruğu (message queue) sistemidir. Yazdığımız programımız üzerinden yapılacak asenkron (asynchronous) işlemleri sıraya koyup, bunları sırayla kuyruktan çekip gerçekleyerek ilerleyen ölçeklenebilir ve performanslı bir sistemdir.

Bash, GoLang, Python, Shell, Groovy

  • Bash (Bourne Again Shell) script, Unix’de mevcut olan en popüler programlama araçlarından biri olup bütün sistem yöneticileri için çok güçlü bir araçtır.
  • Golang (Go programlama dili), Google’ın kendi içerisinde barındırdığı sistemleri hızlı, güvenli ve verimli hale getirmek amacıyla çıkartılmış, açık kaynaklı, Google tarafından desteklenen bir programlama dilidir.
  • Python; web uygulamaları, yazılım geliştirme, veri bilimi ve makine öğreniminde yaygın olarak kullanılan bir programlama dilidir.
  • Shell, Linux ve Unix işletim sistemi kullanıcılarının komut satırı arayüzlerini kontrol etmelerini sağlayan bir bilgisayar program türü olup bu terimin Türkçe karşılığı kabuktur.
  • Groovy, Java platformu (JVM) üzerinde çalışan bir programlama dili ve platformu olup imperative, nesne odaklı (object oriented), dinamik tipli diller sınıfındadır.

Bunlara ek olarak alttaki makaleden derlenen araçlar yer almaktadır.

https://medium.com/devopsturkiye/teknolojileri-ile-hayat-kurtaran-32-devops-arac%C4%B1-4eb35b234c88

  • Monit, açık kaynak kodlu DevOps aracıdır. UNIX sistemlerini yönetmek ve izlemek için tasarlanmıştır. Hatalı durumlarda otomatik bakım ve onarım işlemlerini yapar.
  • WhiteSource Bolt, GitHub veya Azure DevOps ortamınızdaki açık kaynaklı güvenlik açıklarını bulup düzeltecek WhiteSource tarafından sunulan ücretsiz bir güvenlik aracıdır.
  • Vagrant, sanal makine ortamlarını tek bir iş akışı içinde oluşturmayı ve yönetmeyi sağlar. Kullanımı kolay bir iş akışı ortamı sunmakla beraber otomasyona odaklanır. Vagrant geliştirme ortamı kurulum süresini kısaltır ve üretim paritesini arttırır.
  • PagerDuty, işletmelerin marka itibarlarını artırmalarına yardımcı olan bir DevOps aracıdır. Sürekli teslimat stratejisini destekleyen olay yönetimi çözümüdür.
  • Ganglia, açık kaynak kodlu monitoring uygulamasıdır.
  • Snort, davetsiz misafirlerin tespitine yardımcı olan çok güçlü, açık kaynaklı DevOps aracıdır. Ayrıca sisteme yönelik kötü niyetli saldırıları da açığa çıkarır. Gerçek zamanlı trafik analizi ve paket kayıtlarına izin verir.
  • Sumo Logic, organizasyonların log verilerini analiz etmelerine ve anlamalarına yardımcı olur. Gelişmiş güvenlik analizi için güvenlik analizlerini entegre tehdit zekası ile birleştirir.
  • OverOps, hatanın kök nedenini gösteren,sunucunun çökmesi hakkında bilgi veren DevOps aracıdır. Kodun operasyon anında ne zaman ve neden çöktüğünü hızlı bir şekilde belirler.
  • Consul, DevOps aracı herhangi bir altyapıdaki hizmetleri keşfetmek ve yapılandırmak için yaygın olarak kullanılır. DevOps topluluğu için faydalı olduğu için modern, elastik altyapılar için mükemmel bir araçtır.
  • Saltstack, gerçek zamanlı günlükleri, hata sorgularını ve daha fazlasını doğrudan iş istasyonuna gösterir.
  • CFEngine, konfigürasyon yönetimi için ideal bir araçtır. Ekiplerin büyük ölçekli karmaşık altyapıları otomatikleştirmelerine yardımcı olur.
  • Capistrano, DevOps ekipleri için başka bir yararlı uzak sunucu otomasyon aracıdır. Bu araç, komut dosyası çalıştırmayı ve rastgele görevleri yürütmeyi destekler.
  • Supervisor, ekiplerin UNIX işletim sistemlerinde süreçleri izlemesini ve kontrol etmesini sağlar. Kullanıcılara tüm işlemleri başlatmak, durdurmak ve izlemek için tek kaynak üzerinden hizmet verir.
  • Code Climate, komut satırından,buluta kadar kodun sağlığını izleyen bir DevOps aracıdır. Kullanıcıların sorunları kolayca çözmesine yardımcı olur ve ekibin daha iyi kod üretmesini sağlar.
  • Icinga, paralel olarak iki daldan oluşan bir DevOps aracıdır. Icinga ve Icinga2 DevOps mühendislerinin projeler için en uygun işlemleri seçmelerini sağlar.
  • Juju, açık kaynak kodlu bir uygulama modelleme DevOps aracıdır. Genele ve de bulut ortamına yazılım dağıtır, yapılandırır, ölçeklendirir ve çalıştırır.
  • ProductionMap, DevOps mühendisleri için haritasal bir platformdur. Otomasyonu geliştirmeyi hızlı ve kolay hale getirmeye yardımcı olur.
  • Scalyr, yüksek hızlı sunucu izleme ve log yönetimi için bir DevOps platformudur. Log toplayıcısı modülü tüm uygulama, web, süreç ve sistem günlüklerini toplar.
  • Rudder, sürekli konfigürasyon ve denetim için bir DevOps çözümüdür.
  • Graylog, güçlü bir log yönetimi ve DevOps aracıdır. SSH girişlerini ve sıra dışı etkinlikleri izlemek için birçok kullanım durumu vardır.
  • UpGuard, DevOps’un dünya çapındaki ekiplerine teknolojilerinde görünürlük kazanmalarına yardımcı olur. Puppet, Chef ve Ansible gibi popüler otomasyon platformlarıyla sorunsuz bir şekilde bütünleşir.
  • Gulp, javascript araç seti geliştirme sürecinin zor görevini otomatikleştirir.

Faydası olması dileğiyle…

--

--