Uzmanlık
Terraform mühendisi — 2020'den beri
2020'den beri altyapıyı Terraform ile kodla tarif ediyor ve tekrarlanabilir biçimde kuruyorum.
- yıl
- 6
Terraform ekosisteminde ben
Terraform benim için altyapıyı bir kez kurup unutmak değil, nasıl kurulduğunu repoda okunabilir tutmak. Bir ortamın neyden oluştuğu dosyada yazıyorsa, onu yeniden kurmak ya da bir değişikliği gözden geçirmek de koddaki bir değişikliği gözden geçirmek kadar sıradan oluyor. Bu işin rol tarafı DevOps ve altyapı sayfasında.
Terraform’un hemen yanında iki katman duruyor: altyapının üstünde container’ları çalıştıran Kubernetes ve sunucu tarafında Linux. Terraform bunların hiçbirinin yerine geçmiyor; onların üzerinde durduğu zemini tarif ediyor.
Terraform’un plan adımı, bir değişiklik uygulanmadan önce neyin oluşturulacağını, güncelleneceğini ya da silineceğini gösteriyor; değişikliği onaylamadan görmek bu akışın en çok önemsediğim yanı.
Terraform Mühendisi nedir?
Terraform, bulut ve şirket içi kaynakları kurmak, değiştirmek ve sürümlemek için kullanılan bir infrastructure as code aracıdır. Altyapı, insanın okuyabildiği yapılandırma dosyalarıyla tarif edilir. Terraform mühendisi, bu dosyaları yazan ve altyapının onlardan kurulmasını sağlayan kişidir.
Terraform Mühendisi ne iş yapar?
Altyapıyı elle değil, Terraform ile tarif ettiğim dosyalardan kuruyorum. Böylece bir ortamı yeniden kurmak ve değişikliği repoda izlemek mümkün oluyor. Terraform'un yanında AWS ve Google Cloud gibi bulut sağlayıcıları, Cloudflare'in DNS, proxy ve içerik dağıtım katmanı ve [Kubernetes](/tr/uzmanlik/kubernetes/) duruyor.
Birlikte kullandığım teknolojiler
-
Terraform
Altyapıyı kodla tarif edip tekrarlanabilir biçimde kurmak için.
-
AWS
Bulut sağlayıcısı; sanal makine, depolama ve yönetilen servisler.
-
Google Cloud
Bulut sağlayıcısı; sanal makine, depolama ve yönetilen servisler.
-
Cloudflare
Uygulamanın önündeki DNS, proxy ve içerik dağıtım katmanı.
-
Kubernetes
Container'ların birden çok makinede çalıştırıldığı, ölçeklendiği ve yeniden başlatıldığı orkestrasyon katmanı.
-
GitHub Actions
Test ve deploy adımlarını repoda tanımlayan CI/CD hattı.
-
Jenkins
Build, test ve deploy adımlarını çalıştıran otomasyon sunucusu.
Sık sorulanlar
7 soru
-
Terraform ile kaç yıldır çalışıyorsun?
2020'den bu yana, 6 yıldır.
-
Terraform nedir?
Terraform, bulut ve şirket içi kaynakları kurmak, değiştirmek ve sürümlemek için kullanılan bir infrastructure as code aracı. Kaynaklar insanın okuyabildiği yapılandırma dosyalarında tarif edilir.
-
Altyapıyı kodla yönetmek ne demek?
Sunucu ve servis kurulumunu elle değil, Terraform gibi bir araçla tarif edilen dosyalardan yapmak. Böylece altyapı tekrarlanabilir olur ve değişiklikleri repoda izlenir.
-
Terraform nasıl çalışır?
Üç adımda: kaynakları yapılandırma dosyasında yazarsınız, Terraform neyi oluşturacağını, güncelleyeceğini ya da sileceğini anlatan bir yürütme planı çıkarır, onayınızdan sonra işlemleri bağımlılık sırasına uyarak uygular.
-
Terraform state nedir?
Terraform'un gerçek altyapıyı takip ettiği dosya. Yapılandırmanızla altyapının eşleşmesi için neyin değişmesi gerektiğini bu dosyadan hesaplar.
-
Terraform ile Kubernetes arasındaki fark nedir?
Terraform altyapıyı kodla tarif edip kurmak için, Kubernetes ise container'ları çalıştırmak, ölçeklemek ve yeniden başlatmak için kullanılır. İkisi farklı sorulara cevap verir ve birlikte kullanılabilir.
-
Terraform hangi kaynakları yönetebilir?
Terraform'un belgesine göre bulut ve şirket içi kaynakları yönetebilir; kaynaklar birden çok bulut sağlayıcısına ve servise yayılabilir. Benim tarafımda bunlar AWS ve Google Cloud gibi bulut sağlayıcıları ile Cloudflare'in DNS ve proxy katmanı.
Birlikte çalışalım
Bu ekosistemde bir işiniz varsa, ne yaptığınızı anlatın; nasıl kurulacağını konuşalım.