İçeriğe geç
Teklif al

Hizmet · Bulut, DevOps ve veri

Terraform ile altyapı otomasyonu

Test ortamında sorunsuz çalışan bir sürüm canlıya çıktığında bozuluyorsa, nedeni çoğu zaman koddan çok iki ortamın aynı olmamasıdır. Birinde güvenlik grubuna bir kural elle eklenmiş, diğerinde veritabanı farklı bir parametre grubuyla açılmıştır. Bulut konsolundan tıklanarak kurulan altyapı zamanla kimsenin tam resmini bilmediği bir yapıya dönüşür; yeni bir bölgede ya da müşteri için aynı ortamı kurmak günler süren bir hatırlama işine döner.

Kategori
Bulut, DevOps ve veri
Çalışma modeli
Proje bazlı · Bakım ve destek · Danışmanlık
Hizmet bölgesi
Türkiye geneli, uzaktan ve yerinde

Terraform ile altyapı otomasyonu, ağdan veritabanına, kimlik yetkilerinden DNS kayıtlarına kadar bütün kaynakları sürüm kontrolündeki kod dosyalarında tanımlar. Her değişiklik önce bir plan olarak görülür, gözden geçirilir ve onaylandıktan sonra uygulanır. Biz mevcut altyapınızı koda aktarır, tekrar kullanılabilir modüller yazar ve ekibinizin bu düzeni sürdürebileceği bir iş akışı kurarız.

Terraform ile altyapı otomasyonu kimler için uygun

Bulutta birden fazla ortamı ya da hesabı olan ve altyapı değişikliklerini kontrol altına almak isteyen ekipler için uygundur.

  • Geliştirme, test ve canlı ortamlarını birbirinin aynısı tutmakta zorlanan yazılım ekipleri
  • Her yeni müşteri için ayrı bir ortam kuran ve bu kurulumu hızlandırmak isteyen SaaS şirketleri
  • Altyapısı konsoldan elle kurulmuş, kimin neyi değiştirdiğini izleyemeyen BT ekipleri
  • AWS, Azure ve Google Cloud'dan birden fazlasını aynı anda kullanan kuruluşlar
  • Güvenlik denetimlerinde altyapı değişikliklerinin onay ve kaydını göstermesi gereken şirketler

Altyapıyı koda taşırken çözülmesi gerekenler

Terraform yazmaya başlamak kolaydır; zorluk, kodun büyüdüğü ve birden fazla kişinin aynı altyapıya dokunduğu noktada başlar.

  • 01

    Durum dosyasının yönetimi

    Terraform, yönettiği kaynakları bir durum dosyasında izler. Bu dosya bir geliştiricinin bilgisayarında kalırsa ekip aynı altyapıyı güvenle değiştiremez; kilitlemeli uzak depolama ve şifreleme şarttır.

  • 02

    Mevcut kaynakların içe aktarılması

    Elle kurulmuş yüzlerce kaynağı silip yeniden oluşturmak çoğu zaman mümkün değildir. Import blokları ile kaynaklar koda bağlanır ve plan hiçbir değişiklik göstermeyene kadar kod düzeltilir.

  • 03

    Kod ile gerçeklik arasındaki kayma

    Konsoldan yapılan acil bir değişiklik, bir sonraki uygulamada sessizce geri alınabilir ya da beklenmedik bir silmeye yol açabilir. Düzenli kayma kontrolü bu farkları erkenden yakalar.

  • 04

    Ortam ve hesap ayrımı

    Bütün ortamları tek bir durum dosyasında yönetmek, test için yapılan bir hatanın canlıyı etkilemesine yol açar. Ortamlar ayrı dizin ya da durumlarla, ortak parçalar modüllerle yönetilir.

  • 05

    Gizli bilgiler

    Veritabanı parolası gibi değerler kodda yazılmamalıdır; ancak durum dosyasına düşebilecekleri de unutulmamalıdır. Kasa servisleri ve hassas değişken işaretlemeleri bu riski azaltır.

Terraform ile altyapı otomasyonu hizmetinin kapsamı

Çalışma mevcut altyapının durumuna göre sıfırdan tasarım ya da kademeli bir taşıma olarak planlanır.

  • 01

    Kod yapısı ve modül tasarımı

    Ağ, hesaplama, veritabanı ve kimlik gibi katmanlar ayrı modüllere bölünür; modüller sürümlenir ve ortamlar aynı modülü farklı değişkenlerle kullanır.

  • 02

    Uzak durum ve kilitleme

    Durum dosyası Amazon S3, Azure Storage ya da Google Cloud Storage üzerinde şifreli ve kilitlemeli tutulur; erişimi yalnızca dağıtım hattına ve yetkili kişilere verilir.

  • 03

    Değişiklik isteğiyle plan ve onay

    Her değişiklik isteğinde plan otomatik çalışır ve çıktısı incelemeye eklenir; onaylanmadan uygulama yapılmaz. Böylece kimin, neyi, neden değiştirdiği kayıt altındadır.

  • 04

    Kural ve güvenlik denetimleri

    tflint, Checkov veya benzeri araçlarla açık bırakılmış depolama alanı, şifrelenmemiş disk ya da geniş ağ kuralı gibi hatalar uygulamadan önce yakalanır.

  • 05

    Kayma kontrolü ve belgeleme

    Zamanlanmış plan çalışmaları elle yapılan değişiklikleri bildirir; modüllerin girdi ve çıktıları otomatik üretilen belgelerle açıklanır.

Terraform'un yönettiği servisler ve araçlar

Terraform yalnızca bulut sunucularını değil, API'si olan hemen her servisi yönetebilir.

  • 01

    Bulut sağlayıcıları

    AWS, Azure ve Google Cloud sağlayıcılarıyla ağ, sanal makine, Kubernetes kümesi, veritabanı ve kimlik yetkileri tek kod tabanında tanımlanır.

  • 02

    DNS ve CDN

    Cloudflare, Route 53 veya Azure DNS kayıtları ve CDN ayarları kodla yönetilir; alan adı değişiklikleri de incelemeden geçer.

  • 03

    Dağıtım hatları

    GitHub Actions, GitLab CI veya Azure DevOps üzerinde plan ve uygulama adımları kurulur; bulut erişimi uzun ömürlü anahtar yerine kısa süreli kimlikle sağlanır.

  • 04

    Kubernetes ve Helm

    Küme kurulduktan sonra temel bileşenler Kubernetes ve Helm sağlayıcılarıyla aynı akışta kurulabilir; uygulama dağıtımı ise genellikle ayrı tutulur.

  • 05

    OpenTofu ve HCP Terraform

    Terraform'un lisans değişikliğinden sonra ortaya çıkan açık kaynak OpenTofu ile uyumlu kod yazılabilir; ekip iş akışı için HCP Terraform ya da kendi dağıtım hattınız seçilebilir.

Terraform ile altyapı otomasyonu hizmeti nasıl ilerler?

  1. Adım 01

    Analiz

    İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.

  2. Adım 02

    Tasarım

    Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.

  3. Adım 03

    Geliştirme

    Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.

  4. Adım 04

    Test

    İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.

  5. Adım 05

    Yayın

    Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.

  6. Adım 06

    Bakım

    İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.

Silmeye karşı korumalı, ekip için okunabilir kod

Altyapı kodunda en pahalı hata, yanlışlıkla bir veritabanını ya da depolama alanını silmektir. Kritik kaynaklarda silme koruması ve yaşam döngüsü kuralları açılır; planda bir silme ya da yeniden oluşturma göründüğünde inceleme sırasında ayrıca işaretlenir. Canlı ortama uygulama yetkisi kişilere değil, onaylı dağıtım hattına verilir.

Devamını okuDaha az göster

Kodu sizin ekibinizin okuyup değiştirebileceği sadelikte yazmayı tercih ederiz. Aşırı soyutlanmış, her şeyi değişkene bağlayan modüller bir süre sonra kimsenin dokunamadığı bir yapıya dönüşür. Adlandırma kuralları, etiketleme standardı ve dizin yapısı baştan belirlenir; etiketler maliyetin hangi ekip ya da projeye ait olduğunu da gösterir.

Durum dosyası kaynakların kimliklerini ve bazı hassas değerleri içerdiği için erişimi sınırlanır, sürümlenir ve yedeklenir. Kayıp ya da bozulma durumunda önceki sürüme dönülebilmesi, bütün otomasyonun güvenle çalışmasının ön koşuludur.

Bu hizmette çalışma modelleri

  • 01

    Proje bazlı

    Sabit kapsam, sabit fiyat ve belirli teslim tarihi

    Kapsamı belli, teslim tarihi olan işler için.

    • Yazılı kapsam ve kabul ölçütleri
    • Sabit fiyat ve belirli teslim tarihi
    • Teslim ve kabul adımları sözleşmede
    Bu modelle teklif alın: Proje bazlı
  • 02

    Bakım ve destek

    Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati

    Yayındaki bir sistemin sürekliliği için.

    • Aylık sözleşme ve SLA
    • İzleme, güncelleme ve hata düzeltme
    • Aylık geliştirme saati
    Bu modelle teklif alın: Bakım ve destek
  • 03

    Danışmanlık

    Saatlik veya günlük teknik danışmanlık

    Karar, denetim veya yön belirleme gereken durumlar için.

    • Saatlik veya günlük çalışma
    • Yazılı rapor ve öneriler
    • Ekibinizle birlikte çalışma
    Bu modelle teklif alın: Danışmanlık

Terraform ile altyapı otomasyonu hakkında sık sorulan sorular

Terraform ile altyapı otomasyonu fiyatlarında hangi kalemler belirleyici?

Koda aktarılacak kaynak sayısı, kullanılan bulut sağlayıcı ve hesap sayısı, sıfırdan tasarım mı yoksa mevcut altyapının içe aktarılması mı yapılacağı ve dağıtım hattı kurulumunun kapsama dâhil olup olmadığı belirleyicidir. Altyapınızı inceledikten sonra modül ve ortam bazında teklif veririz.

Elle kurduğumuz mevcut altyapıyı kesinti olmadan koda aktarabilir misiniz?

Evet. Kaynaklar içe aktarılır, kod plan hiçbir değişiklik göstermeyene kadar düzeltilir. Bu süreçte çalışan kaynaklara dokunulmaz; değişiklikler ancak kod gerçek durumla eşleştikten sonra başlar.

Terraform mu, OpenTofu mu kullanmalıyız?

İkisi de aynı yapılandırma dilini kullanır ve çoğu kod iki araçta da çalışır. Lisans politikanız, kullanmak istediğiniz yönetilen servis ve ekibinizin tercihi belirleyicidir; seçimi birlikte yapar, kodu ikisine de uyumlu tutmaya çalışırız.

Terraform ile Ansible arasındaki fark nedir?

Terraform bulut kaynaklarını oluşturur ve yaşam döngüsünü yönetir; Ansible ise bir sunucunun içindeki yapılandırmayı, paketleri ve servisleri düzenler. Sanal sunucu kullanılan ortamlarda ikisi birlikte kullanılabilir.

Ekibimiz konsoldan değişiklik yapmaya devam ederse ne olur?

Kod ile gerçek durum ayrışır ve bir sonraki uygulamada beklenmedik sonuçlar çıkabilir. Konsol yetkilerini okuma düzeyine indirmeyi, acil durumlar için kayıtlı bir istisna süreci tanımlamayı ve kayma kontrolünü düzenli çalıştırmayı öneririz.

Terraform ile altyapı otomasyonu firmasıyla çalıştıktan sonra kodu kendimiz yönetebilir miyiz?

Amaç da budur. Kod sizin deponuzda durur, modüller belgelenir ve ekibinizle birlikte birkaç değişikliği uçtan uca yaparak akışı devrederiz. Sonrasında isterseniz bakım ve destek anlaşmasıyla modül güncellemelerini biz sürdürebiliriz.

İlgili hizmetler ve sayfalar

Terraform ile altyapı otomasyonu için teklif alın

Kısa bir ön görüşmede ihtiyacınızı dinleyip kapsamı, çalışma modelini ve takvimi yazılı olarak paylaşırız.

+90 552 579 93 21