En İyi Programlar

Öğrenciler İçin Başlangıç: Ücretsiz DevOps Toolchain (2026)

Öğrenciler için Başlangıç Seviyesi ücretsiz DevOps toolchain rehberi. CI, IaC, konteyner ve monitoring adımlarıyla GitHub Actions, Terraform, Docker,…

İçindekiler
  1. Hızlı Karşılaştırma
  2. GitHub Actions: Hızlı başla, otomasyonu depoda tut
  3. GitLab CI: Repo + CI bir arada, self‑host seçeneği
  4. Terraform: Bulut altyapısını kodla tanımla (IaC)
  5. Ansible: Basit konfigürasyon ve playbook tabanlı otomasyon
  6. Docker: Konteyner oluşturma ve geliştirme ortamları
  7. Prometheus: Metrik toplama ve alarm temelleri
  8. Grafana: Verileri görselleştir, dashboard oluştur
  9. Hangisini Seçmelisin?
  10. Sıkça Sorulan Sorular

Öğrenciler için Başlangıç Seviyesi Ücretsiz DevOps Toolchain rehberi, CI, IaC, konteyner ve monitoring teknolojilerini adım adım öğrenmek isteyenler için hazırlandı. Bu yazıda GitHub Actions, GitLab CI gibi ücretsiz CI çözümlerinden Terraform ve Ansible ile altyapı otomasyonuna; Docker ile konteyner kurulumuna ve Prometheus + Grafana ile temel izleme hattı oluşturmaya kadar başlangıç seviyesinde pratik bir yol haritası bulacaksın.

Rehber özellikle öğrenci olmanın getirdiği kısıtlı bütçe ve basit ortamlarda çalıştırma gereksinimini göz önünde bulunduruyor. Her bölümde hangi amaç için uygun olduklarını, kuruluma başlarken atman gereken adımları ve karşılaşabileceğin temel sınırlamaları anlatıyorum — özellikle proje ve ödevlerde kullanabileceğin, ücretsiz veya açık kaynak araçlara odaklanarak.

Hızlı Karşılaştırma

ProgramPlatformEn iyi olduğu işÜcret
GitHub ActionsTarayıcı / CIDepo tabanlı otomatik CI/CD iş akışlarıÜcretsiz plan mevcut
GitLab CITarayıcı / CIEntegre repo + CI/CD çözümleriÜcretsiz plan mevcut
TerraformWindows, macOS, LinuxBulut ve VM altyapısını kodla tanımlama (IaC)Açık kaynak
AnsibleWindows, macOS, LinuxKonfigürasyon yönetimi ve basit otomasyonAçık kaynak
DockerWindows, macOS, LinuxKonteyner oluşturma ve çalıştırmaAçık kaynak bileşenler var
PrometheusLinux, macOS, Windows (binary)Zaman serisi izleme ve metrik toplamaAçık kaynak
GrafanaWindows, macOS, Linux, DockerDashboard ve görselleştirmeAçık kaynak sürüm mevcut

GitHub Actions: Hızlı başla, otomasyonu depoda tut

GitHub Actions, kodunun bulunduğu repo üzerinden pipeline yazmana olanak verir; push, pull request veya schedule gibi tetikleyicilerle otomatik görev çalıştırırsın. Öğrenci projeleri için hazır şablonlar, topluluk action'ları ve GitHub Pages gibi entegrasyonlar sayesinde deploy işlemlerini doğrudan depo üzerinden yönetebilirsin.

Başlangıç için GitHub hesabın ve bir depo yeterli: repository içinde .github/workflows/ dizinine bir YAML dosyası ekleyerek basit bir build veya test iş akışı oluşturabilirsin. Ortam değişkenleri, secret yönetimi ve matrix build gibi özellikler öğrenci projelerinde farklı platformlarda test etmeyi kolaylaştırır.

Artıları

  • Depo ile sıkı entegrasyon; konfigürasyonu kodla yönetiyorsun
  • Hazır şablonlar ve geniş eklenti ekosistemi var
  • Kişisel ve açık kaynak projelerde ücretsiz kullanım kolaylığı

Eksileri

  • Büyük miktarda CI dakikası veya özel runner gerektiğinde kısıt olabilir
  • Kurumsal özellikler ücretli planda daha geniş

Kimler için? GitHub kullanan, depo tabanlı otomasyona hızlı başlamak isteyen öğrenciler için.

GitLab CI: Repo + CI bir arada, self‑host seçeneği

GitLab CI, GitLab reposu içinde yerleşik CI/CD sunar; hem SaaS olarak gitlab.com üzerinde hem de kendi sunucuna kurabileceğin GitLab Runner ile çalışır. Projeyi, pipeline'ı ve kayıtları tek yerden yönetmek istiyorsan GitLab CI avantajlıdır.

Başlangıçta GitLab üzerinde yeni bir proje oluşturup .gitlab-ci.yml dosyası eklemen yeterlidir. Kendi runner'ını register etme, istediğin image ile çalıştırma ve cache/artifacts mekanizmalarını kullanma gibi seçenekler, ödev ve küçük takım projelerinde verimli çalışma sağlar.

Artıları

  • Depo ve CI birleşik; tek panelden yönetim
  • Kendi runner'ını kurma esnekliği (öğrenci bilgisayarı veya VM)
  • Pipeline görselleştirmesi ve artefakt yönetimi güçlü

Eksileri

  • Self‑host kurulumlarında kaynak yönetimi ve bakım gerekir
  • Çok büyük projelerde yapılandırma karmaşıklaşabilir

Kimler için? Repo + CI'yi tek platformda görmek isteyen veya kendi runner'ını çalıştırmak isteyen öğrenciler için.

Terraform: Bulut altyapısını kodla tanımla (IaC)

Terraform, birçok bulut sağlayıcısı ve servis için altyapıyı deklaratif olarak tanımlamana olanak verir. Öğrenci projelerinde küçük bir bulut kaynağı setini (VM, network, storage) kodla yönetmek, tekrar eden altyapı kurulumlarını sürümlendirmek için ideal bir araçtır.

Başlangıçta provider (ör. AWS/GCP/Azure) yapılandırması yapıp basit kaynak tanımı içeren bir .tf dosyası oluşturursun; terraform init, plan ve apply adımları ile değişiklikleri uygularsın. Local state veya uzak state backend (ör. GitHub Actions ile) konusunu öğrenmek uzun vadede fayda sağlar.

Artıları

  • Deklaratif, sürümlenebilir altyapı yönetimi
  • Çok sayıda provider desteği (bulut, DNS, CDN vb.)
  • Açık kaynak ve geniş topluluk modülleri

Eksileri

  • State yönetimi ve erişim kontrolü başlangıçta kafa karıştırıcı olabilir
  • Karmaşık altyapılarda planlama aşaması dikkat gerektirir

Kimler için? Bulut kaynaklarını kodla yönetmeyi öğrenmek isteyen öğrenciler için.

Ansible: Basit konfigürasyon ve playbook tabanlı otomasyon

Ansible, SSH üzerinden çalışan ve agent gerektirmeyen konfigürasyon yönetimi aracıdır. Sunucu kurulumları, paket yönetimi, dosya kopyalama gibi görevleri playbook yazarak otomatikleştirebilirsin; özellikle VM veya küçük sunucu kümelerinde pratik çözümdür.

Öğrenmeye adım olarak bir inventory dosyası ve basit bir playbook yazarak başlayabilirsin. Ansible'ın modüler yapısı sayesinde paket kurulumundan servis yönetimine kadar birçok senaryoyu kısa komutlarla çözebilirsin.

Artıları

  • Agent gerektirmez; SSH ile doğrudan çalışır
  • İnsan tarafından okunabilir YAML playbook'lar kullanır
  • Hızlı prototipleme ve konfigürasyon otomasyonu için uygun

Eksileri

  • Çok büyük ölçeklerde merkezi yönetim gerektirebilir
  • İleri seviye idempotency ve hata yönetimi öğrenme gerektirir

Kimler için? Sunucu konfigürasyonu ve basit otomasyon öğrenmek isteyen öğrenciler için.

Docker: Konteyner oluşturma ve geliştirme ortamları

Docker, uygulamaları konteyner olarak paketlemeyi ve çalıştırmayı basitleştirir. Öğrenci projelerinde geliştirme ve test ortamlarını standardize etmek, bağımlılık çatışmalarını önlemek ve uygulamayı farklı makinelerde aynı şekilde çalıştırmak için Docker çok işe yarar.

Başlangıç olarak Dockerfile ile bir imaj tanımlayıp docker build ve docker run komutlarıyla konteynerleri çalıştırmayı öğren. Local development için docker-compose ile çoklu servisleri tek komutla ayağa kaldırmak pratik bir adımdır. (Docker Desktop yerine alternatifler hakkında daha fazla bilgi için lokal konteyner rehberimize bakabilirsin.)

Artıları

  • Geliştirme ortamlarını standardize etmede güçlü
  • Çok sayıda resmi image ve topluluk imajı var
  • docker-compose ile yerel multi‑servis senaryolarını kolaylaştırır

Eksileri

  • Docker daemon yetkileri ve güvenlik konularına dikkat etmek lazım
  • Büyük imajlar depolama ve ağ maliyetleri getirebilir

Kimler için? Uygulamalarını izole edilmiş konteynerlerde çalıştırmak isteyen öğrenciler için.

Prometheus: Metrik toplama ve alarm temelleri

Prometheus, zaman serisi verilerini toplayan ve sorgulayan açık kaynak bir izleme sistemidir. Uygulama ve altyapı metriklerini (CPU, memory, uygulama özel metrikleri) çekerek temel gözlemlenebilirlik kurmanı sağlar; alertmanager ile basit uyarılar kurabilirsin.

Başlangıçta uygulamaya bir Prometheus exporter (örn. node_exporter) ekleyip Prometheus konfigürasyonunda scrape hedefi olarak eklemen yeterlidir. Prometheus sorgu dili (PromQL) temel metrik sorgularını öğrenmek için en önemli adımdır.

Artıları

  • Yüksek çözünürlüklü metrik toplama ve sorgulama
  • Exporter ekosistemi geniş (Node, Docker, uygulama kütüphaneleri)
  • Açık kaynak ve hafif yapı

Eksileri

  • Uzun süreli veri saklama için ek çözümler gerekebilir
  • Kompleks sorgular PromQL öğrenimi gerektirir

Kimler için? Uygulama ve sistem metriklerini toplayıp temel izleme kurmak isteyen öğrenciler için.

Grafana: Verileri görselleştir, dashboard oluştur

Grafana, Prometheus ve diğer veri kaynaklarından gelen metrikleri görselleştirmek için kullanılır. Öğrenci projelerinde performans panoları, uptime grafikleri ve uyarı panelleri oluşturmak için ideal bir araçtır.

Başlangıçta Grafana'yı çalıştırıp Prometheus datasource ekleyerek birkaç panel oluşturabilirsin. Hazır dashboard şablonları bulunur; bunları kendi metriklerine uyarlamak çoğu zaman yeterli olacaktır.

Artıları

  • Zengin görselleştirme seçenekleri ve alert desteği
  • Çok sayıda datasource ile entegrasyon
  • Temalar, panolar ve paylaşılan dashboard'lar kolay

Eksileri

  • Karmaşık dashboard'larda performans optimizasyonu gerekebilir
  • Bazı yönetim özellikleri ek araçlar gerektirebilir (ör. büyük kullanıcı yönetimi)

Kimler için? Topladığın metrikleri görselleştirip paylaşmak isteyen öğrenciler için.

Hangisini Seçmelisin?

  • Hızlı CI/CD gereksinimi ve GitHub kullanıyorsan: GitHub Actions
  • Repo+CI aynı platformda, self‑host ihtimali varsa: GitLab CI
  • Bulut altyapısını kodla yönetmek istiyorsan: Terraform
  • Sunucu konfigürasyonlarını otomatikleştirmek istiyorsan: Ansible
  • Geliştirme ve test ortamını konteynerleştirmek istiyorsan: Docker
  • Metrik toplama ve temel izleme gerekiyorsa: Prometheus
  • Verileri dashboard'larda göstermek istiyorsan: Grafana

Sıkça Sorulan Sorular

Bu araçlarla tamamen ücretsiz bir DevOps pipeline kurabilir miyim?

Birçok bileşen açık kaynak veya ücretsiz plan sunuyor; küçük ölçekli öğrenci projeleri için maliyetsiz bir pipeline kurulabilir. Ancak bulut sağlayıcılarında oluşturduğun kaynakların maliyeti olabilir; ücretsiz araçlar altyapı kullanım maliyetlerini ortadan kaldırmaz.

Lokal makinemde hepsini nasıl kurarım, kaynaklar yetmezse ne yapmalıyım?

Lokal kurulum yerine Docker Compose veya tekil konteynerlerle başlamayı düşün. Ayrıca bulutun ücretsiz katmanları veya öğrenci paketleri (GitHub Student vb.) küçük projeleri çalıştırmada yardımcı olur. Ağır bileşenleri (ör. uzun veri saklama) dışarıda tutarak hafif bir başlangıç yap.

CI için GitHub Actions mı GitLab CI mı daha kolay öğrenilir?

Her iki sistemin de öğrenme eğrisi makul; GitHub Actions, GitHub depo yapısına hâkimsen daha hızlı başlatır. GitLab CI ise tek platformda repo ve CI yönetimi sunduğu için self‑host veya daha gelişmiş pipeline ihtiyaçlarında avantaj sağlar.

Prometheus yerine başka izleme araçları kullanmalı mıyım?

Prometheus, metrik tabanlı izleme için yaygın ve öğrenciler için erişilebilir bir tercihtir. Alternatifler farklı saklama, sorgu veya kolay kullanım özellikleri sunabilir; hangi aracın uygun olduğu kullanım senaryona bağlıdır.

Bu araçlarla proje portföyü nasıl oluştururum?

Küçük, çalışan bir demo oluşturup kodu GitHub/GitLab'e koy; CI ile otomatik test ve deploy ekle; Terraform ile altyapıyı kodla tanımla; Docker ile uygulamayı paketle; Prometheus+Grafana ile temel izleme panosu hazırla. Böyle bir set-up, hem uygulama hem de altyapı becerilerini sergileyen güçlü bir portföy parçası olur.

#DevOps#Öğrenci#Ücretsiz#CI#IaC

↑↓ gezinEnter açEsc kapat