Terraform adalah alat infrastruktur sebagai kode (IaC) yang memungkinkan Anda melihat pratinjau, mengonfigurasi, dan mengelola infrastruktur serta sumber daya layanan cloud secara aman dan efisien. Serverless App Engine (SAE) memungkinkan Anda menggunakan Terraform untuk mengelola sumber daya SAE dengan lebih aman dan menerapkan integrasi berkelanjutan atau pengiriman berkelanjutan (CI/CD) menggunakan GitOps.
Pengenalan
Fitur dasar
Terraform adalah alat yang mendukung orkestrasi otomatis infrastruktur TI. Dengan Terraform, Anda dapat menggunakan kode untuk mengelola dan memelihara sumber daya TI. Untuk informasi lebih lanjut, lihat Apa itu Terraform?.
Terraform menyediakan CLI yang mudah digunakan untuk menerapkan file konfigurasi pada beban kerja layanan Alibaba Cloud atau layanan cloud pihak ketiga, serta mengelola versi file konfigurasi tersebut. Terraform memungkinkan Anda mendefinisikan sumber daya infrastruktur yang diperlukan untuk membangun topologi cloud dalam file konfigurasi, seperti mesin virtual (VM), akun penyimpanan, dan antarmuka jaringan.
Terraform dapat diintegrasikan dengan penyedia Alibaba Cloud untuk mendukung infrastruktur baru. Anda dapat menggunakan template untuk mengonfigurasi penyedia Alibaba Cloud guna mendefinisikan, melihat pratinjau, dan menerapkan infrastruktur cloud di Alibaba Cloud.
Terraform memungkinkan Anda membuat, memodifikasi, dan menghapus sumber daya dari beberapa layanan Alibaba Cloud, seperti Elastic Compute Service (ECS), Virtual Private Cloud (VPC), ApsaraDB RDS, dan Server Load Balancer (SLB).
Untuk informasi lebih lanjut tentang cara mengintegrasikan layanan Alibaba Cloud dengan Terraform, lihat Penyedia Alibaba Cloud.
Skenario
Terraform memungkinkan Anda mendefinisikan infrastruktur sebagai kode dan menggunakan kode untuk membuat, menanyakan, memodifikasi, dan menghapus sumber daya infrastruktur. Untuk contoh penggunaan Terraform dalam mengelola sumber daya layanan Alibaba Cloud, lihat Skenario.
Manfaat
Berikut adalah manfaat Terraform dalam skenario umum:
Infrastruktur sebagai Kode (IaC): Terraform memungkinkan Anda menyimpan definisi dan konfigurasi infrastruktur sebagai kode, memudahkan kontrol versi, kolaborasi tim, dan penggunaan kembali kode, serta meningkatkan efisiensi sambil mengurangi operasi manual dan kesalahan.
Keandalan dan Stabilitas Tinggi: Tim teknis Alibaba Cloud menyediakan kemampuan jaminan internal seperti pengujian kasus penggunaan otomatis berbasis skenario dan integrasi platform otomatis untuk memastikan stabilitas dan keandalan.
Dukungan Sumber Daya yang Kaya: Alibaba Cloud menyediakan layanan berdasarkan konsep berbasis sumber daya dan menstandarisasi definisi sumber daya Terraform, memberikan pengalaman siap pakai kepada pengguna.
Bahasa Deklaratif: Terraform menggunakan HashiCorp Configuration Language (HCL) sebagai bahasa konfigurasi. HCL adalah bahasa deklaratif yang menggambarkan keadaan yang diinginkan daripada langkah-langkah rinci, sehingga kode lebih mudah dipahami dan dipelihara.
Skalabilitas Tinggi: Terraform menyediakan berbagai macam sumber daya dan penyedia untuk memenuhi kebutuhan yang berbeda. Terraform juga memungkinkan Anda menyesuaikan dan memperluas plugin untuk mendukung infrastruktur tertentu.
Integrasi dengan Alat Lain: Terraform dapat diintegrasikan dengan alat lain seperti Ansible, Jenkins, dan GitLab, memungkinkan implementasi alur kerja otomatisasi yang lebih kompleks, seperti pengujian otomatis, integrasi berkelanjutan, dan penyebaran berkelanjutan.
Berikut adalah manfaat Terraform yang spesifik untuk SAE:
Infrastruktur sebagai Kode (IaC) Deklaratif
Terraform memungkinkan Anda menerapkan, melakukan penskalaan masuk atau keluar, meningkatkan atau menurunkan versi, serta memulai atau menghentikan aplikasi. Anda juga dapat menggunakan Terraform untuk mengikat instance SLB dengan aplikasi.
Terraform memungkinkan Anda menulis kode tanpa perlu memahami API SAE.
Terraform mendukung CI/CD untuk meningkatkan performa SAE pada pengiriman aplikasi otomatis.
Ekosistem Terraform
Terraform menyediakan kemampuan LiveDiff, yang memungkinkan Anda mengelola sumber daya SAE dengan keamanan tinggi.
Terraform membantu Anda menerapkan aplikasi SAE ke keadaan yang diinginkan secara stabil.
Terraform menyediakan kemampuan orkestrasi sumber daya, yang memungkinkan Anda menerapkan aplikasi SAE dan sumber daya dependen dengan beberapa klik saja.
Kategori
Sumber Daya
Setiap sumber daya merupakan sumber daya baru yang dibuat. Untuk informasi lebih lanjut, lihat Sumber Daya.
Kode sampel berikut menunjukkan cara membuat aplikasi SAE:
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" }Sumber Data
Anda dapat menanyakan sumber data untuk mendapatkan informasi tentang sumber daya yang ada dan atributnya. Untuk informasi lebih lanjut, lihat Sumber Data.
Kode sampel berikut menunjukkan cara mencantumkan namespace SAE:
data "alicloud_sae_namespaces" "nameRegex" { name_regex = "^my-Namespace" } output "sae_namespace_id" { value = data.alicloud_sae_namespaces.nameRegex.namespaces.0.id }
Untuk informasi lebih lanjut tentang contoh penggunaan Terraform dalam mengelola sumber daya SAE, lihat Gunakan Terraform untuk Mengelola Sumber Daya SAE.
Gunakan Terraform untuk mengelola sumber daya SAE
Tabel berikut menjelaskan sumber daya SAE yang dapat Anda kelola menggunakan Terraform.
Jenis sumber daya | Deskripsi |
Menanyakan informasi tentang namespace SAE. Untuk informasi lebih lanjut, lihat Gunakan Terraform untuk mengelola namespace SAE. | |
Menanyakan informasi tentang aplikasi SAE. Untuk informasi lebih lanjut, lihat Gunakan Terraform untuk mengelola aplikasi SAE. | |
Menanyakan informasi tentang kebijakan penskalaan otomatis SAE. Untuk informasi lebih lanjut, lihat Gunakan Terraform untuk mengelola kebijakan penskalaan otomatis untuk aplikasi SAE. | |
Menanyakan informasi tentang ConfigMap SAE. | |
Menanyakan informasi tentang aturan rilis canary SAE. | |
Menanyakan informasi tentang instance Ingress SAE. | |
Menanyakan informasi tentang instance SLB yang menghadap internet SAE. Untuk informasi lebih lanjut, lihat Gunakan Terraform untuk mengaitkan aplikasi SAE dengan instance SLB. | |
Menanyakan informasi tentang instance SLB dengan akses internal SAE. |
Jenis sumber daya | Deskripsi |
Mengaktifkan SAE. | |
Mencantumkan namespace SAE. | |
Mencantumkan aplikasi SAE. | |
Mencantumkan kebijakan penskalaan otomatis SAE. | |
Mencantumkan ConfigMaps SAE. | |
Mencantumkan aturan rilis canary SAE. | |
Mencantumkan instance Ingress SAE. | |
Mencantumkan tipe instance SAE. |