Menggunakan alat otomatisasi infrastruktur bersama mesin virtual di Azure

Berlaku untuk: ✔️ Mesin virtual Linux ✔️ Mesin virtual Windows ✔️ Set skala fleksibel ✔️ Set skala seragam

Untuk membuat dan mengelola mesin virtual (VM) Azure secara konsisten dalam skala besar, biasanya kita ingin beberapa bentuk otomatisasi. Ada banyak alat dan solusi yang memungkinkan Anda mengotomatiskan penerapan infrastruktur dan siklus hidup manajemen Azure lengkap. Artikel ini memperkenalkan beberapa alat otomatisasi infrastruktur yang dapat Anda gunakan di Azure. Alat-alat ini biasanya sesuai dengan salah satu pendekatan berikut:

Terraform

Terraform adalah alat otomatisasi yang memungkinkan Anda menentukan dan membuat seluruh infrastruktur Azure dengan satu bahasa format templat - HashiCorp Configuration Language (HCL). Dengan Terraform, Anda menentukan templat yang mengotomatiskan proses untuk membuat sumber daya jaringan, penyimpanan, dan VM untuk solusi aplikasi tertentu. Anda dapat menggunakan templat Terraform yang ada untuk platform lain dengan Azure untuk memastikan konsistensi dan menyederhanakan penyebaran infrastruktur tanpa perlu mengonversi ke templat Azure Resource Manager.

Pelajari cara:

Otomatisasi Azure

Azure Automation menggunakan runbook untuk memproses serangkaian tugas pada VM yang Anda targetkan. Azure Automation digunakan untuk mengelola VM yang ada daripada membuat infrastruktur. Azure Automation dapat berjalan di VM Linux dan Windows, dan komputer virtual atau fisik lokal dengan pekerja runbook hibrid. Runbook dapat disimpan di repositori kontrol sumber, seperti GitHub. Runbook ini kemudian dapat berjalan secara manual atau pada jadwal yang ditentukan.

Azure Automation juga menyediakan layanan Desired State Configuration (DSC) yang memungkinkan Anda membuat definisi tentang bagaimana sekumpulan VM tertentu harus dikonfigurasi. DSC kemudian memastikan bahwa konfigurasi yang diperlukan diterapkan dan VM tetap konsisten. DSC Azure Automation berjalan pada mesin Windows dan Linux.

Pelajari cara:

Azure DevOps Services

Layanan Azure DevOps adalah rangkaian alat yang membantu Anda berbagi dan melacak kode, menggunakan build otomatis, dan membuat alur integrasi dan pengembangan berkelanjutan (CI/CD) lengkap. Layanan Azure DevOps terintegrasi dengan Visual Studio dan editor lain untuk menyederhanakan penggunaan. Layanan Azure DevOps juga dapat membuat dan mengonfigurasi Azure VM lalu menerapkan kode pada mereka.

Pelajari lebih lanjut tentang:

Templat Azure Resource Manager

Azure Resource Manager adalah layanan penyebaran dan manajemen untuk Azure. Azure Resource Manager menyediakan lapisan manajemen yang memungkinkan Anda membuat, memperbarui, dan menghapus sumber daya di langganan Azure Anda. Anda menggunakan fitur manajemen, seperti kontrol akses, kunci, dan tag, untuk mengamankan dan mengatur sumber daya Anda setelah menyebarkan.

Pelajari cara:

Bicep

Bicep adalah bahasa pemrogram khusus domain (DSL) yang menggunakan sintaks deklaratif untuk menyebarkan sumber daya Azure. Dalam file Bicep, tentukan infrastruktur yang ingin Anda sebarkan ke Azure, lalu gunakan file tersebut sepanjang siklus hidup pengembangan untuk menyebarkan infrastruktur Anda secara berulang. Sumber daya Anda disebarkan secara konsisten.

Memulai dengan Mulai Cepat.

Cloud-init

Cloud-init adalah pendekatan yang digunakan secara luas untuk mengustomisasi Linux VM saat boot pertama kali. Anda dapat menggunakan cloud-init untuk memasang paket dan menulis file, atau untuk mengonfigurasi pengguna dan keamanan. Karena cloud-init dipanggil selama proses boot awal, tidak ada langkah tambahan atau agen yang diperlukan untuk menerapkan konfigurasi Anda. Untuk informasi selengkapnya tentang cara memformat file #cloud-config dengan benar, lihat situs dokumentasi cloud-init. File #cloud-config adalah file teks yang dikodekan di base64.

Cloud-init juga berjalan di seluruh distribusi. Misalnya, Anda tidak menggunakan apt-get install atau yum install untuk memasang paket. Sebagai gantinya, Anda dapat menentukan daftar paket yang akan dipasang. Cloud-init secara otomatis menggunakan alat manajemen paket asli untuk distro yang Anda pilih.

Kami secara aktif bekerja sama dengan mitra distro Linux yang didukung agar gambar yang diaktifkan cloud-init tersedia di Marketplace Azure. Gambar-gambar ini membuat penyebaran dan konfigurasi cloud-init Anda bekerja dengan mulus dengan VM dan Virtual Machine Scale Sets. Pelajari detail selengkapnya tentang cloud-init di Azure:

PowerShell DSC

PowerShell Desired State Configuration (DSC) adalah platform manajemen untuk menentukan konfigurasi dari mesin target. DSC juga dapat digunakan di Linux melalui server Open Management Infrastructure (OMI).

Konfigurasi DSC menentukan apa yang harus dipasang pada mesin dan cara mengonfigurasi hostnya. Engine Local Configuration Manager (LCM) berjalan pada setiap node target yang memproses tindakan yang diminta berdasarkan konfigurasi yang didorong. Server penarikan adalah layanan web yang berjalan pada host pusat untuk menyimpan konfigurasi DSC dan sumber daya terkait. Server penarikan berkomunikasi dengan mesin LCM pada setiap host target untuk menyediakan konfigurasi yang diperlukan dan melaporkan kepatuhan.

Pelajari cara:

Ekstensi Skrip Kustom Azure

Ekstensi Skrip Kustom Azure untuk Linux atau Windows mengunduh dan menjalankan skrip di Azure VM. Anda dapat menggunakan ekstensi saat membuat VM, atau kapan saja setelah VM digunakan.

Skrip dapat diunduh dari penyimpanan Azure atau lokasi publik mana pun seperti repositori GitHub. Dengan Ekstensi Skrip Kustom, Anda dapat menulis skrip dalam bahasa apa pun yang berjalan pada VM sumber. Skrip ini dapat digunakan untuk menginstal aplikasi atau mengonfigurasi VM sesuai keinginan. Untuk mengamankan kredensial, informasi sensitif seperti kata sandi dapat disimpan dalam konfigurasi yang terlindungi. Kredensial ini hanya didekripsi di dalam VM.

Pelajari cara:

Mungkin

Ansible adalah mesin otomatisasi untuk manajemen konfigurasi, pembuatan VM, atau penyebaran aplikasi. Ansible menggunakan model tanpa agen, biasanya dengan kunci SSH, untuk mengautentikasi dan mengelola mesin target. Tugas konfigurasi didefinisikan dalam playbook, dengan beberapa modul Ansible tersedia untuk melakukan tugas tertentu. Untuk informasi selengkapnya, lihat Cara kerja Ansible.

Pelajari cara:

Chef

Chef adalah platform otomatisasi yang membantu menentukan bagaimana infrastruktur Anda dikonfigurasi, diterapkan, dan dikelola. Beberapa komponen termasuk Chef Habitat untuk otomatisasi siklus hidup aplikasi daripada infrastruktur, dan Chef InSpec yang membantu mengotomatiskan kepatuhan terhadap persyaratan keamanan dan kebijakan. Chef Client diinstal pada mesin target, dengan satu Chef Server pusat atau lebih yang menyimpan dan mengelola konfigurasi. Untuk informasi selengkapnya, lihat Gambaran Umum Chef.

Pelajari cara:

Puppet

Puppet adalah platform otomatisasi siap untuk perusahaan, yang menangani proses pengiriman dan penyebaran aplikasi. Agen diinstal pada mesin target untuk memungkinkan Puppet Master menjalankan manifes yang menentukan konfigurasi yang diinginkan dari infrastruktur Azure dan VM. Puppet dapat diintegrasikan dengan solusi lain seperti Jenkins dan GitHub untuk alur kerja devops yang ditingkatkan. Untuk informasi selengkapnya, lihat Cara kerja Puppet.

Pelajari cara:

Packer

Packer mengotomatiskan proses build saat Anda membuat gambar VM kustom di Azure. Anda menggunakan Packer untuk menentukan OS dan menjalankan skrip pasca-konfigurasi yang menyesuaikan VM untuk kebutuhan spesifik Anda. Setelah dikonfigurasi, VM kemudian ditangkap sebagai citra Disk Terkelola. Packer mengotomatisasi proses untuk membuat sumber daya VM sumber, jaringan dan penyimpanan, menjalankan skrip konfigurasi, lalu membuat gambar VM.

Pelajari cara:

Jenkins

Jenkins adalah server integrasi berkelanjutan yang membantu menyebarkan dan menguji aplikasi, dan membuat alur otomatis untuk pengiriman kode. Ada ratusan plugin untuk memperluas platform inti Jenkins, dan Anda juga dapat berintegrasi dengan banyak produk dan solusi lain melalui webhook. Anda dapat menginstal Jenkins secara manual di Azure VM, menjalankan Jenkins dari dalam kontainer Docker, atau menggunakan citra Azure Marketplace bawaan.

Pelajari cara:

Langkah berikutnya

Ada banyak opsi berbeda untuk menggunakan alat otomatisasi infrastruktur di Azure. Anda memiliki kebebasan untuk menggunakan solusi yang paling sesuai dengan kebutuhan dan lingkungan Anda. Untuk memulai dan mencoba beberapa alat bawaan Azure, lihat cara mengotomatisasi kustomisasi VM Linux atau Windows.