01Sorun ve çözüm
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.
02Kimler için
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
03İhtiyaçlar
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.
04Özellikler
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.
05Entegrasyonlar
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.
06Süreç
Terraform ile altyapı otomasyonu hizmeti nasıl ilerler?
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.
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.
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.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
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.
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.
07Teknoloji
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.
08Çalışma modelleri
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
- 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
- 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
09Sık sorulan sorular
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.
10İlgili hizmetler