PUPPET REFACTORING PATTERNS EĞİTİMİ

Eski Puppet kodunuza ikinci bir hayat verin

Kod kokuları, Hiera'ya veri taşıma, parametreli class, roles/profiles'a geçiş ve rspec-puppet ile güvenli refactoring.

Kod kokularını tespit eder; değerleri Hiera ve parametreli class'lara taşır, roles/profiles'a geçer ve rspec-puppet ile doğrulayarak güvenli refactor uygularsınız.

3 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Teknik borcu azaltan desenlerle Puppet kodunu yeniden yapılandırma

Bu eğitim, mevcut Puppet kod tabanını güvenli biçimde yeniden yapılandırmaya odaklanır. Hardcoded değer, tekrar eden blok ve aşırı büyük class gibi kod kokularını tespit eder; Puppet dilinin fonksiyon ve veri tiplerini pekiştirir; hardcoded değerleri Hiera'ya ve parametreli class'lara taşır; monolitik koddan roles/profiles desenine geçer; noop (dry-run), rspec-puppet ve PDK ile her adımı doğrulayıp kademeli (incremental) refactor uygularsınız. Modül sınırlarını netleştirme de işlenir.

Süre ve Format

3 Gün. Her gün dört modül; Puppet dili, modüller ve refactoring desenleri uygulamalı işlenir.

Seviye

İleri Seviye — Kod kokuları, veri ayrıştırma ve roles/profiles'a güvenli geçişle Puppet refactoring.

Öğrenme Metodu

Her konu gerçek (sorunlu) bir kod tabanı üzerinde refactor adımları uygulayıp rspec-puppet ile doğrulayarak pekiştirilir.

Neden Bu Eğitim?

🎯Desired State

Sistemin olması gereken durumunu bildirir, Puppet sapmaları otomatik düzeltir.

📊Ölçeklenebilir Yönetim

Binlerce node'u roles/profiles ve Hiera ile tutarlı biçimde yönetirsiniz.

🔍Uyumluluk ve İzleme

PuppetDB ve raporlarla yapılandırma uyumluluğunu sürekli görünür kılarsınız.

Anahtar Konular

puppet refactoringpuppet refactorroles profileshierapuppet kod kalitesirspec-puppetpdkteknik borçpuppet modülyapılandırma yönetimi
“İyi refactor, davranışı korurken anlaşılırlığı artırandır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Linux Yönetimi

Sistem yöneticiliği temelleri ve paket/servis yönetimine aşinalık beklenir.

2
Metin Editörü

.pp manifest ve YAML dosyalarını düzenleyecek editör rahatlığı faydalıdır.

3
Çalışma Ortamı

Puppet agent/server kurulabilen bir Linux ortamı veya sanal makine gerekir.

4
Sürüm Kontrolü

Git ile kod yönetimi ve branch akışına temel aşinalık beklenir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Puppet dilinin koşul, fonksiyon ve Hiera özellikleriyle kod ve veriyi ayırarak esnek yapılandırma kurabilir.
Modül 1
Dil Özellikleri
  • data type sistemi (String, Integer, Hash, Array)
  • koşul: if/unless/case/selector
  • iteration: each/map/filter lambda
  • string interpolasyon ve heredoc
  • operatörler ve ifade değerlendirme
  • facts[] ve trusted[] erişimi
Modül 2
Fonksiyonlar
  • yerleşik fonksiyonlar (template, lookup, fail)
  • stdlib modül fonksiyonları
  • statement vs rvalue fonksiyon
  • custom fonksiyon (Puppet language / Ruby)
  • epp vs erb şablonlama
  • deferred fonksiyon kullanımı
Modül 3
Hiera Veri Ayrımı
  • hiera.yaml hiyerarşi yapısı
  • automatic parameter lookup (APL)
  • lookup() fonksiyonu ve merge stratejileri
  • ortam/node bazlı veri katmanları
  • eyaml ile şifreli veri (encrypted Hiera)
  • data in modules (module data)
Modül 4
Fact ve Koşullandırma
  • custom fact yazımı (external/structured)
  • fact tabanlı koşullu yapılandırma
  • trusted facts ve güvenlik
  • fact caching ve performans
  • node bazlı farklılaştırma
  • ortam değişkenleriyle davranış
Günün hedefiKatılımcı modül geliştirip roles/profiles deseniyle ölçeklenebilir ve bakımı kolay Puppet kodu kurabilir.
Modül 1
Modül Yapısı
  • modül dizin düzeni (manifests, files, templates, lib)
  • metadata.json ve bağımlılıklar
  • puppet module generate ile iskelet
  • modül isim alanı (namespace) ve autoload
  • modül içi defined type ve class
  • modül sürümleme (semver)
Modül 2
Puppet Forge
  • Forge'dan modül kurma (puppet module install)
  • Puppetfile ve r10k/librarian ile bağımlılık
  • onaylı/desteklenen modül seçim kriterleri
  • modül değerlendirme ve güvenlik
  • iç Forge/artifactory kullanımı
  • modül yayınlama ve dağıtım
Modül 3
Roles ve Profiles
  • roles/profiles tasarım deseni mantığı
  • profile: teknoloji yapılandırma katmanı
  • role: bir makinenin tek rolü
  • Hiera ile role atama (classification)
  • business logic ile teknoloji ayrımı
  • yeniden kullanım ve test edilebilirlik
Modül 4
PuppetDB ve Raporlama
  • PuppetDB ile fact ve catalog saklama
  • exported resources (@@) ve collection
  • PQL (Puppet Query Language) sorguları
  • rapor işleyici (report processor)
  • değişiklik ve uyumluluk raporlama
  • node envanteri ve sorgulama
Günün hedefiKatılımcı mevcut Puppet kodunu roles/profiles ve Hiera desenleriyle yeniden yapılandırarak bakımı kolaylaştırabilir.
Modül 1
Kod Kokuları
  • sabit kodlanmış (hardcoded) değerler
  • tekrar eden manifest blokları
  • aşırı büyük class'lar
  • node manifest içinde iş mantığı
  • test edilemez bağımlılıklar
  • teknik borç tespiti
Modül 2
Veri Ayrıştırma
  • hardcoded değerleri Hiera'ya taşıma
  • parametreli class'lara geçiş
  • automatic parameter lookup ile sadeleştirme
  • ortam bazlı veri katmanı tasarımı
  • eyaml ile sır ayrıştırma
  • veri ve kod ayrımı ilkesi
Modül 3
Yapısal İyileştirme
  • monolitik koddan roles/profiles'a geçiş
  • defined type ile tekrar azaltma
  • stdlib fonksiyonlarıyla sadeleştirme
  • modül sınırlarını netleştirme
  • bağımlılıkların açık hale getirilmesi
  • kademeli (incremental) refactor stratejisi
Modül 4
Güvenli Dönüşüm
  • noop (dry-run) ile etki analizi
  • rspec-puppet ile regression testi
  • canary node ile kademeli doğrulama
  • puppet-lint ve PDK ile kalite
  • sürüm kontrolü ve geri alma
  • refactor sonrası doğrulama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Dil ve Hiera

koşul, fonksiyon ve Hiera ile kod ve veriyi ayırarak esnek yapılandırma kurarsınız.

✅
Modül ve Roles/Profiles

modül geliştirip roles/profiles deseniyle bakımı kolay Puppet kodu kurarsınız.

✅
Refactoring

mevcut kodu roles/profiles ve Hiera desenleriyle yeniden yapılandırırsınız.

✅
Idempotency

desired state modeliyle idempotent ve yakınsayan yapılandırma uygularsınız.

✅
Veri Ayrımı

Hiera ile kod ve veriyi ayırarak ortam bazlı esneklik kazanırsınız.

✅
Kod Kalitesi

puppet-lint, PDK ve rspec-puppet ile kodunuzu test edip doğrularsınız.

✅
Raporlama

PuppetDB ve raporlarla node durumu ve uyumluluğu izlersiniz.

✅
Idempotency

desired state modeliyle idempotent ve yakınsayan yapılandırma uygularsınız.

Kimler İçin Uygundur?

  • Mevcut Puppet kod tabanını iyileştirmek isteyen deneyimli sistem mühendisleri
  • teknik borcu azaltmak isteyen ekipler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Mevcut Puppet kod tabanını iyileştirmek ve teknik borcu azaltmak isteyen deneyimli sistem mühendisleri için uygundur.
Önceden Puppet bilmek gerekir mi?
Evet; manifest, class ve modül kavramlarına aşinalık beklenir.
Refactor nasıl güvenli yapılır?
noop (dry-run), rspec-puppet regression testi ve kademeli değişiklikle davranış korunarak yapılır.
roles/profiles'a neden geçilir?
İş mantığını teknoloji yapılandırmasından ayırarak kodu bakımı kolay ve test edilebilir kılar.
Sertifika veriliyor mu?
Eğitim sonunda Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Puppet Refactoring Patterns Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Altyapı Otomasyonu (IaC)Microsoft Windows Automation with Red Hat Ansible Automation Platform (DO417) Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Windows Automation with Red Hat Ansible Automation Platform (DO417) Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

WinRM, win_ modülleri, Chocolatey, PowerShell DSC ve Active Directory ile Red Hat AAP üzerinde Microsoft Windows otomasyonu eğitimi (DO417).

Detayları Gör →
Altyapı Otomasyonu (IaC)Microsoft Windows Automation with Red Hat Ansible Automation Platform (DO417LS) Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Windows Automation with Red Hat Ansible Automation Platform (DO417LS) Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Laboratuvar ağırlıklı Windows otomasyon eğitimi (DO417LS): WinRM, win_ modülleri, Chocolatey, gerçek dağıtım senaryoları ve AAP entegrasyonu.

Detayları Gör →
Altyapı Otomasyonu (IaC)Microsoft Windows Automation with Red Hat Ansible Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Windows Automation with Red Hat Ansible Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Core Ansible ile WinRM, win_ modülleri, Chocolatey, PowerShell DSC ve Active Directory üzerinden Microsoft Windows sunucu otomasyonu eğitimi.

Detayları Gör →
Altyapı Otomasyonu (IaC)MS Azure DevOps Solutions: Implement Infrastructure as Code Eğitimi
DevOps ve Konteyner Eğitimleri

MS Azure DevOps Solutions: Implement Infrastructure as Code Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

IaC prensipleri, azurerm ile Azure kaynakları ve Azure Pipelines/GitHub Actions ile plan/apply akışı üzerine Terraform tabanlı Azure DevOps IaC eğitimi.

Detayları Gör →
Altyapı Otomasyonu (IaC)Multi-Cloud Automation and Infrastructure as Code Eğitimi
DevOps ve Konteyner Eğitimleri

Multi-Cloud Automation and Infrastructure as Code Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Çoklu provider orkestrasyonu, taşınabilir modüller, cross-cloud bağımlılık ve policy/RBAC ile Terraform tabanlı çoklu bulut otomasyonu ve IaC eğitimi.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn