Terraform ile Azure VM Provisioning Bölüm-1 Terraform’u Tanıyalım
0

HashiCorp’un DevOps dünyasında sıklıkla kullanılan araçlarından Vagrant ve Terraform’u sizlere anlatacağımı daha önceki makalede belirtmiştim. Hatta firma ve kurucusu Mitchell Hashimoto hakkında bilgileri sizlere anlatmıştım. Okumayanlar bu linkten o yazıya erişebilirler. Bu yazıyıda ise en sık kullanılan Infrastructure as a Code araçlarından bir tanesi olan Terraform’u inceleyeğiz. Amacım sizlere tüm detayları ile Terraform’u anlatmak olmayacak, Terraform kullanarak Azure üzerinde sanal makine oluşturmaya kadar devam edecek bir makale serisi yapmak olacak.

İsterseniz Terraform nedir? Nerelerde kullanılır? Gibi temel bir giriş ile başlayalım. Sonrasında diğer detaylar ile devam edelim. Terraform, altyapının güvenli ve verimli bir şekilde oluşturulması, değiştirilmesi ve versiyonlandırılması için bir araçtır. Terraform, mevcut ve popüler servis sağlayıcılarının yanı sıra özel kurum içi çözümleri yönetebilir. Yukarıda bahsettiğimgibi ben bu makale serisinde Azure üzerinde ilerleyeceğim. Yazının ilerleyen bölümlerinde Terraform Provider’lardan bahsedeceğim orada Terraform tarafından kullanılan kaynakları da daha detaylı görebileceksiniz.

Terraform’un ne olduğu, ne işe yaradığı konusu daha netlik kazansın diye kısa bir senaryo ile devam etmek istiyorum. Biliyorsunuz birçok kurumsal firmanın gündeminde Multi-Cloud yani çoklu bulut senaryoları mevcut, bunun nedenlerini şu şekilde özetleyebiliriz hata toleransını arttırmak için altyapıyı birden çok bulutta yaymak, tek bir bulut hizmet sağlayıcısı ve tek bölgesinde yaşanacak kesintiler yerine bu riski dağıtmak firmalara çok mantıklı gelmektedir. Ancak bulut sağlayacıların altyapı yönetimi için mevcut olan araçları yine o firmalara özgü olmakta ve bu tarz multi cloud dağıtımlarını gerçekleştirmeyi zorlaştırmakta. AWS için bu araç CloudFormation olurken, Google Cloud Platform için Deployment Manager, Azure içinse de Resource Manager olmakta. Lütfen böyle çoklu bir bulut yapısını yönettiğinizi düşünün hangi araçı ne zaman kullanacağınızı hangi kodu nereye yazacağınızı bile karıştıracaksınızdır :) Bu noktada yardıma Terraform gelmekte ve bulut bağımsız çapraz bulut bağımlılıklarını ele almak için tek bir konfigürasyonun kullanılmasına izin verir. Çok büyük yapılara sahip firmalar için multi-cloud altyapıları oluşturmasına yardımcı olarak yönetimi ve düzenlemeyi basitleştirir.

Resim-1

Vagrant’ta bahsettiğim kavramlardan bir tanesi olan Providers’a sıra geldi, ama burada dikkat etmeniz gereken Vagrant sadece sanallaştırma ortamları birer Providers’ken Terraform’da durum biraz daha farklı. Terraform, fiziksel makineler, sanal makineler, switch’ler, container’lar ve daha fazlası gibi altyapı kaynaklarını oluşturmak, yönetmek ve güncellemek için kullanılır. Hemen hemen her türlü altyapı türü Terraform’da bir kaynak -resource olarak temsil edilebilir. İşte Vagrant Providers’taki fark burada daha net görünmekte, Terraform Provider’lar, API etkileşimlerini anlar ve kaynakları belirler. Provider’lara örnekler IaaS’ta AWS, GCP, Microsoft Azure iken PaaS’ta  Heroku ve SaaS’ta Terraform Enterprise, DNSimple, CloudFlare verilebilir. Tüm Proivder’lara bu linkten ulaşabilirsiniz.

Resim-2

Terraform’u indirmek için bu linkten aşağıdaki sayfaya gitmeniz ve size uygun işletim sistemine ait paketi kurmanız gerekmektedir.

Resim-3

Linkten indirmiş olduğum terraform_0.11.8_windows_amd64.zip dosyasını istediğiniz bir klasöre çıkarabilirsiniz ben aşağıdaki ekran görüntüsünde gördüğünüz path’e çıkardım ve terraform – version komutu ile doğrulama yapıyorum.

Resim-4

Terraform, Cloud Shell’de varsayılan olarak yüklü olarak gelmektedir. Azure portal’a hesabım ile login oluyorum ve Cloud Shell’e terraform –version komutunu çalıştırarak burada kontrol işlemini gerçekleştiriyorum.

 

Resim-5

Terraform ile Azure VM Provisioning makale serisinin ilkini böylelikle tamamlamış oluyorum. Serinin ikinci makalesinde biraz daha Terraform’u inceleyeğiz ve Azure’a Terraform erişimini yapıp, Terraform ortam değişkenlerini yapılandıracağız.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: hashicorp, terraform nedir,terraform kurulumu,AWS, GCP, Microsoft Azure, Heroku, Terraform Enterprise, DNSimple, CloudFlare, Terraform Providers nedir,CloudFormation,Infrastructure as a Code,CloudFormation nedir,Infrastructure as a Code nedir,multi-cloud nedir,Google Cloud Platform,Deployment Manager,Deployment Manager nedir,Resource Manager nedir,DevOps,Cloud Shell

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mustafa Kara, 1981 yılında Adana'da doğdu. Üniversite öncesi tüm öğrenimini Mersin'de tamamladı. Anadolu Üniversitesi mezunudur. İşletme Yüksek Lisansını (MBA) , Maltepe Üniversitesinde ve Bilgisayar Mühendisliği Yüksek Lisansını da Okan Üniversitesinde gerçekleştirmiştir. Eskişehir'de okuduğu yıllarda Anadolu Üniversitesi Bilgisayar Araştırma Uygulama Merkezi Bilgi işlem departmanında çalışma hayatına başladı. Üniversite sonrası İstanbul'da kendi iş dallarının öncü firmalarında görev aldı. Uzun yıllar boyunca BilgeAdam BTA ve Kurumsal‘da Sistem ve Network Eğitmeni, Kıdemli Danışman ve Birim Müdürü görevlerinde bulundu. Sonrasında COMPAREX Türkiye'de Teknik Müdür olarak çalışmıştır. Şu anda SimpliX Teknoloji Hizmetlerinde Bulut ve Güvenlik Çözümleri Direktörü olarak çalışmaktadır. Uzmanlık alanı olan Microsoft altyapı, yönetim ve iletişim ürünleri, Azure, M365 ve AWS bulut teknolojileri Veeam gibi yedekleme çözümleri ile sanallaştırma teknolojilerinde mimari düzeyde bilgi ve deneyime sahiptir. Ayrıca yeni nesil güvenlik çözümleri üzerine eğitim ve danışmanlık vermekte olup 20 yıldan daha fazla süredir birçok kişi ve firmaya binlerce saat teknik eğitim vermiştir. Kamu ve özel sektördeki kuruluşlara projeler gerçekleştirmiş ve bu projelerin bazıları Microsoft tarafında Case Study olarak duyurulmuştur. Türkiye'nin en büyük bilişim portallarında yazıları yayınlanmakta olup MSHOWTO Topluluk Lideri görevini üstlenmektedir. Üniversitelerde seminerler vermekte olup birçok teknoloji üreticisinin lansmanında uzman konuşmacı olarak yer almıştır. 2010 yılında çeşitli topluluklarda yapmış olduğu çalışmalar neticesinde Microsoft tarafından MVP ünvanına layık görülmüş olup günümüzde de bu ünvanı koruma başarısını göstermektedir. Sahip olduğu sertifikalar: MVP, MCT, AWS SA, Azure Administrator, Azure Security Engineer, Azure Solution Architect, MCITP, MCTS, MCDBA, MCSE+S+M, MCSA+S+M, MCDST, MCP, CCDA, CCNA, HP AIS, HP APS ve CompTIA A+'dır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir