Terraform, cloud hizmetlerinin altyapısını ve kaynaklarını güvenli ve verimli bir şekilde önizlemenize, yapılandırmanıza ve yönetmenize olanak tanıyan bir altyapı kodu (IaC) aracıdır. Serverless App Engine (SAE), SAE kaynaklarınızı daha güvenli bir şekilde yönetmenizi ve GitOps kullanarak sürekli entegrasyon veya sürekli dağıtım (CI/CD) uygulamanızı sağlar.
Giriş
Temel özellikler
Terraform, BT altyapısının otomatik olarak düzenlenmesini destekleyen bir araçtır. Terraform ile BT kaynaklarını kod kullanarak yönetebilir ve bakımını yapabilirsiniz. Daha fazla bilgi için bkz. Terraform Nedir?
Terraform, yapılandırma dosyalarını Alibaba Cloud hizmetlerinin veya üçüncü taraf cloud hizmetlerinin iş yüklerine dağıtmanıza ve bu dosyaların sürümlerini yönetmenize olanak tanıyan kullanımı kolay bir CLI sağlar. Terraform ile cloud topolojileri oluşturmak için gereken sanal makineler (VM), depolama hesapları ve ağ arabirimleri gibi altyapı kaynaklarını yapılandırma dosyalarında tanımlayabilirsiniz.
Terraform, yeni altyapıları desteklemek üzere Alibaba Cloud sağlayıcısı ile entegre edilebilir. Alibaba Cloud üzerinde cloud altyapısını tanımlamak, önizlemek ve dağıtmak için bir şablon kullanarak Alibaba Cloud sağlayıcısını yapılandırabilirsiniz.
Terraform ile Elastic Compute Service (ECS), Virtual Private Cloud (VPC), ApsaraDB RDS ve Server Load Balancer (SLB) gibi birden çok Alibaba Cloud hizmetinin kaynaklarını oluşturabilir, değiştirebilir ve silebilirsiniz.
Alibaba Cloud hizmetlerini Terraform ile entegre etme hakkında daha fazla bilgi için bkz. Alibaba Cloud Sağlayıcısı.
Senaryolar
Terraform ile altyapıyı kod olarak tanımlayabilir ve kod kullanarak altyapı kaynaklarını oluşturabilir, sorgulayabilir, değiştirebilir ve silebilirsiniz. Alibaba Cloud hizmetlerinin kaynaklarını yönetmek için Terraform'un nasıl kullanılacağına ilişkin örnekler hakkında bilgi edinmek için bkz. Senaryolar.
Avantajlar
Terraform, yaygın senaryolarda aşağıdaki avantajları sağlar:
IaC: Terraform, altyapının tanımlarını ve yapılandırmalarını kod olarak saklamanıza olanak tanır. Bu durum, kod sürüm kontrolünü, ekip iş birliğini ve kod yeniden kullanımını kolaylaştırır; manuel işlemleri ve hataları azaltırken verimliliği artırır.
Yüksek güvenilirlik ve kararlılık: Alibaba Cloud teknik ekibi, senaryo tabanlı otomatik kullanım durumlarının test edilmesi ve otomatik platform entegrasyonu gibi dahili güvence yetenekleri sağlayarak kararlılığı ve güvenilirliği temin eder.
Zengin kaynak desteği: Alibaba Cloud, kaynak tabanlı konsepte dayalı hizmetler sunar ve Terraform kaynaklarının tanımlarını standartlaştırır. Bu sayede kullanıcılara hazır kullanım deneyimi sağlanır.
Bildirim temelli dil: Terraform, yapılandırma dili olarak HashiCorp Configuration Language (HCL) kullanır. HCL, ayrıntılı adımlar yerine istenen durumu açıklayan bildirim temelli bir dildir; bu da kodun anlaşılmasını ve bakımını kolaylaştırır.
Yüksek ölçeklenebilirlik: Terraform, farklı gereksinimleri karşılamak için geniş bir kaynak ve sağlayıcı yelpazesi sunar. Terraform ile belirli altyapıyı desteklemek üzere eklentileri özelleştirebilir ve genişletebilirsiniz.
Diğer araçlarla entegrasyon: Terraform, Ansible, Jenkins ve GitLab gibi diğer araçlarla entegre edilebilir. Bu sayede otomatik test, sürekli entegrasyon ve sürekli dağıtım gibi daha karmaşık otomatik iş akışları uygulanır.
Terraform, SAE için aşağıdaki özel avantajları sağlar:
-
Bildirim temelli altyapı kodu (IaC)
Terraform ile uygulamaları dağıtabilir, yatay olarak ölçeklendirebilir veya daraltabilir, yükseltebilir veya düşürebilir ve başlatıp durdurabilirsiniz. Ayrıca Terraform'u kullanarak SLB örneklerini uygulamalarla ilişkilendirebilirsiniz.
Terraform, SAE API'sini anlamanıza gerek kalmadan kod yazmanıza olanak tanır.
Terraform, SAE performansını otomatik uygulama dağıtımı konusunda iyileştirmek için CI/CD'yi destekler.
-
Terraform ekosistemi
Terraform, LiveDiff özelliğini sunarak SAE kaynaklarınızı yüksek güvenlikle yönetmenizi sağlar.
Terraform, SAE uygulamalarını kararlı bir şekilde istenen duruma dağıtmanıza yardımcı olur.
Terraform, kaynak düzenleme yeteneği sağlayarak SAE uygulamalarını ve bağımlı kaynakları birkaç tıklama ile verimli bir şekilde dağıtmanıza olanak tanır.
Kategoriler
-
Kaynaklar
Her kaynak, yeni oluşturulan bir kaynağı temsil eder. Daha fazla bilgi için bkz. Kaynaklar.
Aşağıdaki örnek kod, bir SAE uygulamasının nasıl oluşturulacağını göstermektedir:
resource "alicloud_sae_application" "default" { app_description = "tf-testaccDescription" app_name = "tf-testaccAppName" namespace_id = alicloud_sae_namespace.default.id image_url = "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5" package_type = "Image" vswitch_id = alicloud_vswitch.vsw.id timezone = "Asia/Beijing" replicas = "5" cpu = "500" memory = "2048" } -
Veri kaynakları
Mevcut kaynakların bilgilerini ve kaynak niteliklerini elde etmek için bir veri kaynağını sorgulayabilirsiniz. Daha fazla bilgi için bkz. Veri Kaynakları.
Aşağıdaki örnek kod, SAE ad alanlarının nasıl listeleneceğini göstermektedir:
data "alicloud_sae_namespaces" "nameRegex" { name_regex = "^my-Namespace" } output "sae_namespace_id" { value = data.alicloud_sae_namespaces.nameRegex.namespaces.0.id }
SAE kaynaklarını yönetmek için Terraform'un nasıl kullanılacağına ilişkin örnekler hakkında daha fazla bilgi için bkz. SAE kaynaklarını yönetmek için Terraform kullanma.
SAE kaynaklarını yönetmek için Terraform kullanma
Aşağıdaki tablolar, Terraform kullanarak yönetebileceğiniz SAE kaynaklarını açıklamaktadır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|