Apa itu Azure Resource Manager?

Selesai

Anda telah menghabiskan beberapa waktu dengan tim Anda untuk mempelajari keuntungan infrastruktur sebagai kode dan berbagai pendekatan yang tersedia. Perusahaan Anda berkembang dengan cepat dan tim Anda tahu bahwa perkembangan itu akan menyebarkan sejumlah besar sumber daya ke Azure. Sebagai tim, Anda telah memutuskan bahwa infrastruktur sebagai kode deklaratif adalah pendekatan yang tepat untuk provisi sumber daya. Tim tidak ingin mempertahankan skrip yang mencantumkan setiap langkah penyebaran. Sebelum memulai proses pembuatan templat pertama Anda, Anda perlu memahami cara kerja Azure Resource Manager. Menyelidiki jenis templat yang tersedia untuk digunakan dengan Azure akan membantu Anda menentukan langkah-langkah berikutnya dalam strategi infrastruktur sebagai kode Anda.

Di unit ini, Anda akan mempelajari Resource Manager dan dua jenis templat Resource Manager.

Konsep Azure Resource Manager

Azure Resource Manager adalah layanan yang digunakan untuk menyebarkan dan mengelola sumber daya di Azure. Anda dapat menggunakan Resource Manager untuk membuat, memperbarui, dan menghapus sumber daya di langganan Azure Anda. Anda dapat berinteraksi dengan Resource Manager dengan menggunakan banyak alat, termasuk portal Microsoft Azure. Resource Manager juga menyediakan serangkaian fitur lain, seperti kontrol akses, audit, dan penandaan untuk membantu mengelola sumber daya Anda setelah penyebaran.

Terminologi

Saat Anda memulai perjalanan cloud dengan Resource Manager, penting bagi Anda untuk memahami beberapa istilah dan konsep berikut:

  • Sumber daya: Item yang dapat dikelola yang tersedia di platform Azure. Jaringan virtual, komputer virtual, akun penyimpanan, aplikasi web, dan database adalah beberapa contoh sumber daya.

  • Grup sumber daya: Kontainer logis yang menyimpan sumber daya terkait untuk solusi Azure. Grup sumber daya menyertakan sumber daya yang ingin Anda kelola sebagai suatu grup. Sebagian besar sumber daya Azure terkandung dalam grup sumber daya. Anda memutuskan sumber daya mana yang termasuk dalam suatu grup sumber daya berdasarkan pada hal yang paling masuk akal bagi organisasi Anda.

    Catatan

    Sejumlah kecil sumber daya tidak terkandung dalam grup sumber daya. Jenis sumber daya tersebut ditujukan untuk mengelola kontrol akses dan menegakkan kebijakan. Anda akan mempelajari sumber daya ini dalam modul selanjutnya.

  • Langganan: Kontainer logis dan batas tagihan untuk sumber daya dan grup sumber daya Anda. Setiap sumber daya dan grup sumber daya Azure hanya dikaitkan dengan satu langganan.

  • Grup manajemen: Kontainer logis yang Anda gunakan untuk mengelola lebih dari satu langganan. Anda dapat menentukan hierarki grup manajemen, langganan, grup sumber daya, dan sumber daya untuk mengelola akses, kebijakan, dan kepatuhan secara efisien melalui pewarisan.

  • Templat Azure Resource Manager (templat ARM): File templat yang menentukan satu atau beberapa sumber daya untuk disebarkan ke suatu grup sumber daya, langganan, grup manajemen, atau penyewa. Anda dapat menggunakan templat untuk menyebarkan sumber daya dengan cara yang konsisten dan dapat diulang. Ada dua jenis file templat ARM: JSON dan Bicep. Modul ini berfokus pada Bicep.

Keuntungan

Resource Manager memberikan banyak manfaat dan kemampuan yang terkait dengan provisi sumber daya infrastruktur sebagai kode:

  • Anda dapat menyebarkan, mengelola, dan memantau sumber daya dalam solusi Anda sebagai grup, bukan secara individu.
  • Anda dapat menyebarkan ulang solusi Anda di sepanjang siklus hidup pengembangan dan memiliki keyakinan bahwa sumber daya Anda disebarkan dalam kondisi yang konsisten.
  • Anda dapat mengelola infrastruktur Anda melalui templat deklaratif daripada menggunakan skrip.
  • Anda dapat menentukan dependensi sumber daya untuk memastikan bahwa sumber daya disebarkan dalam urutan yang benar.

Operasi: Sarana kontrol dan data plane

Anda dapat menjalankan dua jenis operasi di Azure: operasi sarana kontrol dan operasi data plane. Gunakan sarana kontrol untuk mengelola sumber daya di langganan Anda. Gunakan data plane untuk mengakses fitur yang diekspos oleh suatu sumber daya.

Misalnya, Anda menggunakan operasi sarana kontrol untuk membuat komputer virtual, tetapi Anda menggunakan operasi data plane untuk terhubung ke komputer virtual dengan menggunakan Protokol Desktop Jarak Jauh (RDP).

Sarana kontrol

Saat Anda mengirim permintaan dari salah satu alat Azure, API, atau SDK, maka Resource Manager menerima, mengautentikasi, dan mengotorisasi permintaan tersebut. Kemudian, Resource Manager mengirimkan permintaan ke penyedia sumber Azure yang melakukan tindakan yang diminta. Karena semua permintaan ditangani melalui API yang sama, Anda akan melihat hasil dan kemampuan yang konsisten di semua alat yang berbeda yang tersedia di Azure.

Gambar berikut menunjukkan peran yang dimainkan Resource Manager dalam menangani permintaan Azure:

Diagram that shows how Azure Resource Manager accepts requests from all Azure clients and libraries.

Semua permintaan operasi sarana kontrol dikirim ke URL Resource Manager. Misalnya, operasi buat atau perbarui untuk komputer virtual adalah operasi sarana kontrol. Berikut URL permintaan untuk operasi tersebut:

PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}?api-version=2022-08-01

Sarana kontrol memahami sumber daya mana yang perlu dibuat dan sumber daya mana yang sudah ada. Resource Manager memahami perbedaan antara permintaan tersebut dan tidak akan membuat sumber daya yang sama atau menghapus sumber daya yang sudah ada, meskipun ada cara untuk mengambil alih perilaku ini.

Pesawat data

Saat operasi bidang data dimulai, permintaan dikirim ke titik akhir tertentu di langganan Azure Anda. Misalnya, operasi Deteksi Bahasa di layanan Azure AI adalah operasi sarana data karena URL permintaannya adalah:

POST https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0/languages

Fitur Resource Manager seperti kontrol akses dan kunci tidak selalu berlaku untuk operasi data plane. Misalnya, pengguna mungkin tidak memiliki izin untuk mengelola komputer virtual dengan menggunakan sarana kontrol, tetapi pengguna dapat masuk ke sistem operasi.

Apa itu templat ARM?

templat Azure Resource Manager adalah file yang menentukan infrastruktur dan konfigurasi untuk penyebaran Anda. Saat Anda menulis templat ARM, Anda memilih pendekatan deklaratif untuk provisi sumber daya Anda. Templat ini menjelaskan setiap sumber daya dalam penyebaran, tetapi tidak menjelaskan cara menyebarkan sumber dayanya. Saat Anda mengirimkan templat ke Resource Manager untuk penyebaran, sarana kontrol dapat menyebarkan sumber daya yang ditentukan secara terorganisir dan konsisten. Di unit sebelumnya, Anda telah mempelajari perbedaan antara kode imperatif dan kode deklaratif.

Mengapa memilih templat ARM?

Ada banyak manfaat menggunakan templat ARM, baik JSON atau Bicep, untuk provisi sumber daya Anda.

  • Hasil yang dapat diulang: Templat ARM bersifat idempoten, yang berarti bahwa Anda dapat berulang kali menyebarkan templat yang sama dan mendapatkan hasil yang sama. Templat ini tidak melakukan duplikat sumber daya.

  • Orkestrasi: Saat penyebaran templat dikirimkan ke Resource Manager, sumber daya dalam templat disebarkan secara paralel. Proses ini memungkinkan penyebaran selesai lebih cepat. Resource Manager mengatur penyebaran tersebut dalam urutan yang benar jika satu sumber daya bergantung pada sumber daya yang lain.

  • Pratinjau: Alat bagaimana-jika, tersedia di Azure PowerShell dan Azure CLI, memungkinkan Anda mempratinjau perubahan pada lingkungan Anda sebelum penyebaran templat. Alat ini merinci setiap pembuatan, modifikasi, dan penghapusan yang akan dibuat oleh templat Anda.

  • Pengujian dan Validasi: Anda dapat menggunakan alat seperti linter Bicep untuk memeriksa kualitas templat Anda sebelum penyebaran. Templat ARM yang dikirimkan ke Resource Manager divalidasi sebelum proses penyebaran. Validasi ini memberitahukan kesalahan kepada Anda dalam templat Anda sebelum provisi sumber daya.

  • Modularitas: Anda dapat memecah templat Anda menjadi komponen yang lebih kecil dan menautkannya bersama-sama saat penyebaran.

  • Integrasi CI/CD: Templat ARM Anda dapat diintegrasikan ke banyak alat CI/CD, seperti Azure DevOps dan GitHub Actions. Anda dapat menggunakan alat-alat tersebut untuk membuat versi templat melalui kontrol sumber dan membangun alur rilis.

  • Ekstensibilitas: Dengan skrip penyebaran, Anda dapat menjalankan skrip Bash atau PowerShell dari dalam templat ARM Anda. Skrip tersebut melakukan berbagai tugas, seperti operasi data plane saat penyebaran. Melalui ekstensibilitas, Anda dapat menggunakan satu templat ARM untuk menyebarkan solusi lengkap.

Templat JSON dan Bicep

Ada dua jenis templat ARM yang tersedia untuk digunakan saat ini: templat JSON dan templat Bicep. JavaScript Object Notation (JSON) adalah format file standar terbuka yang dapat digunakan oleh banyak bahasa pemrogram. Bicep adalah bahasa pemrogram khusus domain baru yang belakangan ini dikembangkan untuk penulisan templat ARM dengan menggunakan sintaksis yang lebih mudah. Anda dapat menggunakan salah satu format templat dari kedua templat tersebut untuk templat ARM dan penyebaran sumber daya Anda.