Beranda Topics Terraform Apa yang dimaksud dengan Terraform?
Jelajahi solusi Terraform IBM Berlangganan pembaruan cloud
Ilustrasi dengan kolase piktogram monitor komputer, server, awan, titik-titik
Apa yang dimaksud dengan Terraform?

Terraform, sebuah alat "Infrastructure as Code" sumber terbuka yang dibuat oleh HashiCorp, membantu para programmer untuk membangun, mengubah, dan membuat versi infrastruktur dengan aman dan efisien.

Terraform adalah alat pengkodean deklaratif yang membantu pengembang untuk menggunakan bahasa konfigurasi tingkat tinggi yang disebut HashiCorp Configuration Language (HCL), untuk mendeskripsikan infrastruktur cloud atau on premises "kondisi akhir" yang diinginkan untuk menjalankan aplikasi. Kemudian, Terraform membuat rencana untuk mencapai kondisi akhir tersebut dan melaksanakan rencana penyediaan infrastruktur.

Terraform menggunakan sintaksis yang sederhana, menyediakan infrastruktur di berbagai pusat data cloud dan on premises, serta menyediakan kembali infrastruktur secara aman dan efisien setelah perubahan konfigurasi. Inilah sebabnya alat ini sekarang menjadi salah satu alat otomatisasi infrastruktur paling populer yang tersedia. Jika organisasi Anda berencana untuk menerapkan lingkungan hybrid cloud atau multicloud, Anda mungkin ingin atau perlu mengenal Terraform.

Raih fleksibilitas tempat kerja dengan DaaS

Baca bagaimana desktop sebagai layanan (DaaS) memungkinkan perusahaan mencapai tingkat performa dan keamanan yang sama dengan penerapan aplikasi on premises.

Konten terkait

Daftar untuk mendapatkan panduan modernisasi aplikasi

Mengapa harus Infrastructure as Code (IaC)?

Untuk lebih memahami keunggulan Terraform, sebaiknya kita memahami terlebih dahulu manfaat Infrastructure as Code (IaC). IaC memungkinkan pengembang untuk membuat kode infrastruktur agar penyediaan menjadi otomatis, lebih cepat, dan dapat diulang. Kondisi ini adalah komponen utama dari praktik Tangkas dan DevOps seperti kontrol versi, integrasi berkelanjutan, dan penerapan berkelanjutan.

Infrastruktur sebagai kode dapat membantu dalam hal berikut:

  • Meningkatkan kecepatan: Otomatisasi lebih cepat daripada menjelajahi antarmuka secara manual ketika Anda perlu menerapkan atau menghubungkan sumber daya.

  • Meningkatkan keandalan: Jika infrastruktur Anda besar, maka akan mudah untuk salah mengonfigurasi sumber daya atau provisioning services dengan urutan yang salah. Dengan IaC, sumber daya selalu disediakan dan dikonfigurasikan persis seperti yang dinyatakan.

  • Mencegah penyimpangan konfigurasi: Penyimpangan konfigurasi terjadi ketika konfigurasi yang menyediakan lingkungan Anda tidak lagi cocok dengan lingkungan yang sebenarnya. (Lihat 'Infrastruktur yang tidak berubah')

  • Mendukung eksperimen, pengujian, dan pengoptimalan: Karena Infrastructure as Code membuat penyediaan infrastruktur baru menjadi jauh lebih cepat dan mudah, Anda bisa membuat dan menguji perubahan eksperimental tanpa menginvestasikan banyak waktu dan sumber daya; dan jika Anda menyukai hasilnya, Anda bisa dengan cepat meningkatkan skala infrastruktur baru tersebut untuk produksi.
Mengapa harus Terraform?

Ada beberapa alasan utama mengapa para pengembang memilih untuk menggunakan Terraform dibandingkan dengan Infrastruktur lain sebagai alat bantu Kode:

  • Sumber terbuka: Terraform didukung oleh komunitas besar kontributor yang membangun plugin untuk platform tersebut. Terlepas dari penyedia cloud mana yang Anda gunakan, Anda dapat dengan mudah menemukan plugin, ekstensi, dan dukungan profesional. Hal tersebut juga berarti Terraform berkembang dengan cepat, dengan manfaat dan peningkatan baru yang ditambahkan secara konsisten.

  • Tidak tergantung platform: Ini berarti Anda dapat menggunakannya dengan penyedia layanan cloud apa pun. Sebagian besar alat IaC lainnya dirancang untuk bekerja dengan satu penyedia cloud.

  • Infrastruktur yang tidak dapat diubah: Sebagian besar alat Infrastructure as Code menciptakan infrastruktur yang dapat diubah, yang berarti infrastruktur dapat berubah untuk mengakomodasi perubahan seperti upgrade middleware atau server penyimpanan baru. Yang berbahaya dari infrastruktur yang dapat berubah adalah penyimpangan konfigurasi. Artinya, ketika perubahan makin banyak, penyediaan aktual server yang berbeda atau elemen infrastruktur lainnya 'melenceng' makin jauh dari konfigurasi awal, sehingga bug atau masalah kinerja sulit dikenali dan diperbaiki. Terraform menyediakan infrastruktur yang tidak dapat diubah, yang berarti bahwa dengan setiap perubahan pada lingkungan, konfigurasi saat ini diganti dengan konfigurasi baru yang sesuai dengan perubahan tersebut, dan infrastruktur disediakan kembali. Bagusnya lagi, konfigurasi sebelumnya dapat dipertahankan sebagai versi untuk memungkinkan rollback jika perlu atau diinginkan.
Modul Terraform

Modul Terraform adalah konfigurasi Terraform kecil yang dapat digunakan kembali untuk beberapa sumber daya infrastruktur yang digunakan bersama. Modul Terraform berguna karena memungkinkan sumber daya kompleks diotomatisasi dengan konstruksi yang dapat digunakan kembali dan dapat dikonfigurasi. Menulis file Terraform yang sangat sederhana pun akan menghasilkan modul. Modul dapat memanggil modul lain (disebut modul anak) yang dapat membuat konfigurasi perakitan lebih cepat dan lebih ringkas. Modul juga dapat dipanggil beberapa kali, baik dalam konfigurasi yang sama atau dalam konfigurasi terpisah.

Penyedia terraform

Penyedia Terraform adalah plugin yang mengimplementasikan jenis sumber daya. Penyedia berisi semua kode yang diperlukan untuk mengautentikasi dan menghubungkan ke layanan (biasanya dari penyedia cloud publik) untuk pengguna. Anda dapat menemukan penyedia untuk platform dan layanan cloud yang Anda gunakan, menambahkannya ke konfigurasi Anda, dan kemudian menggunakan sumber daya mereka untuk menyediakan infrastruktur. Penyedia tersedia untuk hampir setiap penyedia cloud utama, penawaran SaaS, dan banyak lagi, dikembangkan dan/atau didukung oleh komunitas Terraform atau organisasi individu. Lihat dokumentasi Terraform (tautan berada di luar ibm.com) untuk mengetahui daftar terperinci.

Terraform versus Kubernetes

Terkadang, ada kebingungan antara Terraform dan Kubernetes dan bagaimana cara kerjanya. Sebenarnya, kedua sistem ini tidak saling menggantikan dan justru lebih efektif digunakan bersama-sama.

Kubernetes adalah sistem orkestrasi kontainer sumber terbuka yang memungkinkan pengembang menjadwalkan penerapan ke node dalam kluster komputasi dan secara aktif mengelola beban kerja dalam kontainer untuk memastikan bahwa statusnya sesuai dengan keinginan pengguna.

Terraform adalah alat Infrastructure as Code dengan jangkauan yang lebih luas, yang memungkinkan pengembang mengotomatiskan infrastruktur lengkap yang mencakup beberapa cloud publik dan cloud pribadi.

Terraform dapat mengotomatisasi dan mengelola kemampuan tingkat Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), atau bahkan Software-as-a-Service (SaaS ) dan membangun semua sumber daya ini di semua penyedia layanan secara paralel. Anda bisa menggunakan Terraform untuk mengotomatisasi penyediaan Kubernetes, khususnya kluster Kubernetes yang dikelola pada platform cloud, dan mengotomatisasi penerapan aplikasi ke dalam kluster.

Terraform versus Ansible

Terraform dan Ansible keduanya merupakan alat bantu Infrastructure as Code, tetapi ada beberapa perbedaan signifikan di antara keduanya:

  • Terraform adalah murni alat deklaratif (lihat di atas), sementara Ansible menggabungkan konfigurasi deklaratif dan prosedural. Dalam konfigurasi prosedural, Anda menentukan langkah-langkah, atau cara yang tepat, yang ingin Anda gunakan untuk menyediakan infrastruktur ke kondisi yang diinginkan. Konfigurasi prosedural memang memerlukan lebih banyak langkah tetapi memberikan kontrol yang lebih besar.

  • Terraform adalah sumber terbuka; Ansible dikembangkan dan dijual oleh Red Hat.
Solusi terkait
IBM Cloud Schematics

IBM Cloud Schematics menyediakan otomatisasi dengan menawarkan templat Terraform deklaratif untuk infrastruktur cloud yang diinginkan.

Menjelajahi IBM Cloud Schematics
Sumber daya Apa itu Infrastructure as Code (IaC)?

Infrastructure as Code (IaC) mengotomatiskan penyediaan infrastruktur, memungkinkan organisasi Anda untuk mengembangkan, menerapkan, dan meningkatkan skala aplikasi cloud dengan kecepatan yang lebih tinggi, risiko yang lebih kecil, dan biaya yang lebih rendah.

Apa itu Kubernetes?

Kubernetes adalah platform orkestrasi kontainer sumber terbuka yang mengotomatisasi penerapan, pengelolaan, dan penskalaan aplikasi. Pelajari bagaimana Kubernetes memungkinkan pengembangan cloud native yang hemat biaya.

Apa itu Infrastructure-as-a-Service (IaaS)?

Pengenalan terhadap IaaS, komponen-komponennya, keuntungan, harga, dan hubungannya dengan PaaS, SaaS, BMaaS, kontainer, dan serverless.

Ambil langkah selanjutnya

Apakah Anda siap untuk DevOps? Untuk menghadirkan perangkat lunak dan layanan dengan kecepatan yang diminta pasar, tim harus mengulang dan bereksperimen dengan cepat, menerapkan versi baru sesering mungkin, dan didorong oleh masukan dan data. Tim pengembangan cloud yang paling sukses mengadopsi budaya dan praktik DevOps modern, merangkul arsitektur cloud-native, dan merakit rantai alat dari alat terbaik di kelasnya untuk meningkatkan produktivitas mereka.

Jelajahi solusi DevOps Coba gratis