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:
Mengotomatiskan konfigurasi VM
- Alat termasuk templat Ansible, Chef, Puppet, Bicep, dan Azure Resource Manager.
- Alat khusus untuk kustomisasi VM termasuk cloud-init untuk VM Linux, Konfigurasi Status yang Diinginkan PowerShell (DSC), dan Ekstensi Skrip Kustom Azure untuk semua Azure VM.
Mengotomatiskan manajemen infrastruktur
- Alat-alatnya termasuk Packer untuk mengotomatiskan build gambar VM kustom, dan Terraform untuk mengotomatiskan proses pembangunan infrastruktur.
- Azure Automation dapat melakukan tindakan di seluruh infrastruktur Azure dan lokal Anda.
Mengotomatiskan penyebaran dan pengiriman aplikasi
- Contohnya termasuk Layanan Azure DevOps dan Jenkins.
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:
- Membuat runbook PowerShell.
- Menggunakan Hybrid Runbook Worker untuk mengelola sumber daya lokal.
- Menggunakan DSC Azure Automation.
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:
- Menerapkan VM Spot menggunakan templat Resource Manager.
- Membuat mesin virtual Windows dari templat Resource Manager.
- Mengunduh templat untuk VM.
- Membuat templat Azure Image Builder.
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:
- Dukungan cloud-init untuk komputer virtual Linux di Azure
- Cobalah tutorial tentang konfigurasi VM otomatis menggunakan cloud-init.
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:
- Buat VM Linux dengan Azure CLI dan gunakan Ekstensi Skrip Kustom.
- Buat Windows VM dengan Azure PowerShell dan gunakan Ekstensi Skrip Kustom.
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:
- Menginstal dan mengonfigurasikan Ansible di Linux untuk digunakan bersama Azure.
- Membuat komputer virtual Linux.
- Mengelola komputer virtual Linux.
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:
- Gunakan Packer untuk membuat citra VM Linux di Azure.
- Gunakan Packer untuk membuat citra VM Windows di Azure.
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.