;?>

Feed Rss

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

09.30.2018, Bulut Bilisim, DevOps, Makale, by , 38 views.

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.

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.

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

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.

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.

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.

Bir başka Azure yazısında görüşmek üzere.

 

Ka®a

Mustafa Kara Mustafa Kara (1347 Posts)

Mustafa Kara, 1981 yılında Adana'da doğdu. Üniversite öncesi tüm öğrenimini Mersin'de tamamladı. Anadolu Üniversitesi İşletme Fakültesi mezunudur. İşletme Yüksek Lisansını (MBA) , Maltepe Üniversitesinde ve Bilgisayar Mühendisliği Yüksek Lisansını, Okan Üniversitesinde gerçekleştirmiştir. Üniversite yıllarında 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, Bölüm Başkan Yardımcısı, Kıdemli Danışman, Birim Müdür Yardımcısı ve Birim Müdürü görevlerinde bulundu. Şu an COMPAREX Türkiye'de Teknik Müdür olarak çalışmaktadır. Uzmanlık alanı olan Microsoft System Center Ürün Ailesi, Hyper-V, Exchange Server, Windows Server, EMS, OMS, Azure ve bilişim teknolojilerinin önde gelen diğer üreticileri olan Amazon Web Services, Veritas (Symantec) Backup Exec, Veeam Backup & Replication, VMware Virtualization, Cisco Routing & Switching, HP Server & Storage, EC-Council CEH ve ITIL Processes Management konularında birçok kişi ve firmaya 15.000 saatin üzerinde 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 yöneticilik, editörlük ve yazarlık yapmaktadır. Ayrıca Türkiye'nin önde gelen üniversitelerinde seminerler vermektedir. Seminer vermiş olduğu bazı üniversiteler: Boğaziçi Üniv.-Yıldız Teknik Üniv.-Marmara Üniv.-Galatasaray Üniv. -Bilgi Üniv. Bahçeşehir Üniv.- Kadir Has Üniv. –Kültür Üniv. –Yeditepe Üniv. -Arel Üniv. -Kocaeli Üniv.- Akdeniz Üniversitesidir. 2010 yılında çeşitli community'lerde yapmış olduğu çalışmalar neticesinde Microsoft tarafindan MVP ünvanına layık görülmüştür. Sahip olduğu sertifikalar: MVP, MCT, AWS SA, MCITP, MCTS, MCDBA, MCSE+S+M, MCSA+S+M, MCDST, MCP, CCDA, CCNA, HP AIS, HP APS ve CompTIA A+'dır.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir