Panduan implementasi penjual langganan

Azure

Artikel ini menyediakan panduan implementasi untuk otomatisasi penjual langganan. Langganan vending menstandarkan proses untuk meminta, menyebarkan, dan mengatur langganan sehingga tim aplikasi dapat menyebarkan beban kerja mereka lebih cepat.

Diagram showing how the subscriptions vending fits in an organization.Gambar 1. Implementasi penjual langganan dalam contoh lingkungan Azure.

GitHub iconKami membuat modul Bicep dan Terraform langganan yang harus Anda gunakan sebagai titik awal. Anda harus memodifikasi templat agar sesuai dengan kebutuhan implementasi Anda. Untuk informasi selengkapnya tentang proses penjual langganan, lihat Gambaran umum penjual langganan.

Arsitektur

Anda harus merancang otomatisasi penjual langganan Anda untuk menyelesaikan tiga tugas utama. Otomatisasi penjual langganan harus (1) mengumpulkan data permintaan langganan, (2) memulai otomatisasi platform, dan (3) membuat langganan dengan menggunakan infrastruktur sebagai kode. Ada beberapa pendekatan untuk menerapkan otomatisasi penjual langganan untuk menyelesaikan ketiga tugas ini. Contoh implementasi (gambar 2) menunjukkan satu pendekatan yang menggunakan Gitflow. Desain Gitflow selaras dengan pendekatan deklaratif yang digunakan banyak tim platform untuk mengelola platform.

Diagram showing the example implementation of subscription vending automation.Gambar 2. Contoh implementasi otomatisasi penjual langganan.

Dalam contoh implementasi (gambar 2), alat pengumpulan data mengumpulkan data permintaan langganan. Ketika permintaan langganan menerima persetujuan, permintaan tersebut memulai otomatisasi platform. Otomatisasi platform terdiri dari alur permintaan, kontrol sumber, dan alur penyebaran. Alur permintaan membuat file parameter langganan JSON atau YAML dengan data dari alat pengumpulan data. Alur permintaan juga membuat cabang baru, menerapkan file parameter langganan, dan membuka permintaan pull dalam kontrol sumber. Cabang baru bergabung dengan cabang utama dalam kontrol sumber. Penggabungan memicu alur penyebaran untuk membuat langganan dengan modul infrastruktur sebagai kode.

Penyebaran harus menempatkan langganan di grup manajemen yang benar berdasarkan persyaratan tata kelola (lihat gambar 1). Penyebaran membuat anggaran langganan awal sebagai fondasi untuk manajemen biaya. Berdasarkan kebutuhan beban kerja, penyebaran dapat membuat jaringan virtual kosong dan mengonfigurasi peering ke hub regional. Tim platform harus menyerahkan langganan ke tim aplikasi setelah pembuatan dan konfigurasi. Tim aplikasi harus memperbarui anggaran langganan dan membuat sumber daya beban kerja.

Kumpulkan data

Tujuan pengumpulan data adalah untuk menerima persetujuan bisnis dan menentukan nilai file parameter langganan JSON/YAML. Anda harus menggunakan alat pengumpulan data untuk mengumpulkan data yang diperlukan saat tim aplikasi mengirimkan permintaan langganan. Alat pengumpulan data harus berinteraksi dengan sistem lain dalam alur kerja penjual langganan untuk memulai otomatisasi platform.

Gunakan alat pengumpulan data. Anda dapat menggunakan alat IT Service Management (ITSM) untuk mengumpulkan data atau membangun portal pelanggan dengan alat kode rendah atau tanpa kode seperti Microsoft PowerApps. Alat pengumpulan data harus menyediakan logika bisnis untuk menyetujui atau menolak permintaan langganan.

Kumpulkan data yang diperlukan. Anda perlu mengumpulkan data yang cukup untuk menentukan nilai parameter langganan JSON/YAML sehingga Anda dapat mengotomatiskan penyebaran. Nilai spesifik yang Anda kumpulkan bergantung pada kebutuhan Anda. Anda harus menangkap otorisasi permintaan, pusat biaya, dan persyaratan jaringan (internet atau konektivitas lokal). Mungkin berguna untuk meminta tim aplikasi untuk komponen beban kerja yang diantisipasi (platform aplikasi, persyaratan data), sensitivitas data, dan jumlah lingkungan (pengembangan, pengujian, praproduksi, produksi).

Memvalidasi data. Anda harus memvalidasi data selama proses pengumpulan data. Lebih sulit untuk mengatasi masalah nanti dalam fase otomatisasi platform.

Buat permintaan yang dapat dilacak. Alat pengumpulan data Anda harus membuat permintaan yang dicatat dan dapat dilacak untuk langganan baru (misalnya, tiket di alat ITSM). Permintaan harus berisi semua data yang diperlukan untuk memenuhi persyaratan langganan tersebut. Anda harus mengikat logika bisnis dan pelacakan otorisasi ke permintaan.

Antarmuka dengan sistem internal lainnya. Jika diperlukan, alat pengumpulan data harus berinteraksi dengan alat atau sistem lain di organisasi Anda. Tujuannya adalah untuk memperkaya permintaan dengan data dari sistem lain. Anda mungkin memerlukan data identitas, keuangan, keamanan, dan jaringan untuk menjalankan otomatisasi. Misalnya, otomatisasi dapat berinteraksi dengan alat manajemen alamat IP (IPAM) untuk mencadangkan ruang alamat IP yang tepat.

Buat pemicu. Ketika permintaan langganan menerima persetujuan, transfer data harus memicu otomatisasi platform. Yang terbaik adalah membuat pemberitahuan push dengan data yang diperlukan dari alat pengumpulan data Anda. Anda mungkin memerlukan lapisan middleware, seperti Azure Functions atau Azure Logic Apps, untuk memulai proses.

Memulai otomatisasi platform

Pemberitahuan dan data dari alat pengumpulan data harus memicu otomatisasi platform. Tujuan otomatisasi platform adalah untuk membuat file parameter langganan JSON/YAML, menggabungkan file ke cabang utama, dan menyebarkannya dengan modul infrastruktur sebagai kode untuk membuat langganan. Tim platform harus memiliki dan memelihara otomatisasi platform. Otomatisasi platform dalam contoh implementasi terdiri dari alur permintaan, kontrol sumber, dan alur penyebaran (lihat gambar 2).

Gunakan file JSON atau YAML. Anda harus menggunakan file data terstruktur (JSON atau YAML) untuk menyimpan data untuk membuat langganan. Anda harus mendokumentasikan struktur file dan membuatnya dapat diperluas untuk mendukung kebutuhan di masa mendatang. Misalnya, cuplikan kode JSON berikut menentukan nilai parameter langganan untuk salah satu modul Bicep di GitHub.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "subscriptionDisplayName": {
      "value": "sub-bicep-lz-vending-example-001"
    },
    "subscriptionAliasName": {
      "value": "sub-bicep-lz-vending-example-001"
    },
    "subscriptionBillingScope": {
      "value": "providers/Microsoft.Billing/billingAccounts/1234567/enrollmentAccounts/123456"
    },
  // Insert more parameters here
  }
}

Lihat seluruh file. Untuk contoh selengkapnya, lihat Contoh Bicep dan contoh Terraform

Gunakan satu file per permintaan langganan. Langganan adalah unit penyebaran dalam proses penjual langganan, sehingga setiap permintaan langganan harus memiliki satu file parameter langganan khusus.

Gunakan sistem permintaan pull. Proses Gitflow yang membuat file parameter langganan harus mengotomatiskan langkah-langkah berikut:

  1. Buat cabang baru untuk setiap permintaan langganan.
  2. Gunakan data yang dikumpulkan untuk membuat satu file parameter langganan YAML/JSON untuk langganan baru di cabang.
  3. Buat permintaan pull dari cabang Anda ke .main
  4. Perbarui alat pengumpulan data dengan perubahan status dan referensi ke permintaan pull ini.

Alur permintaan dalam contoh implementasi menjalankan langkah-langkah ini (lihat gambar 2). Anda juga dapat menggunakan solusi berbasis kode yang dihosting di Azure jika alur kerjanya kompleks.

Validasi file parameter langganan. Permintaan pull harus memicu proses linting untuk memvalidasi data permintaan. Tujuannya adalah untuk memastikan penyebaran berhasil. Ini harus memvalidasi file parameter langganan YAML/JSON. Ini juga dapat memverifikasi bahwa rentang alamat IP masih tersedia. Anda mungkin juga ingin menambahkan gerbang peninjauan manual dengan intervensi manusia. Mereka dapat melakukan tinjauan akhir dan membuat perubahan pada file parameter langganan. Output harus berupa file parameter langganan JSON/YAML dengan semua data untuk membuat langganan.

Picu alur penyebaran. Ketika permintaan pull bergabung ke main cabang, penggabungan harus memicu alur penyebaran.

Buat langganan

Tugas terakhir otomatisasi penjual langganan adalah membuat dan mengonfigurasi langganan baru. Contoh implementasi menggunakan alur penyebaran untuk menyebarkan modul infrastruktur sebagai kode dengan file parameter langganan JSON/YAML (lihat gambar 2).

Gunakan infrastruktur sebagai kode. Penyebaran Anda harus menggunakan infrastruktur sebagai kode untuk membuat langganan. Tim platform harus membuat dan memelihara templat ini untuk memastikan tata kelola yang tepat. Anda harus menggunakan modul Bicep dan Terraform langganan vending dan memodifikasinya agar sesuai dengan kebutuhan implementasi Anda.

Gunakan alur penyebaran. Alur penyebaran mengatur pembuatan dan konfigurasi langganan baru. Alur harus menjalankan tugas-tugas berikut:

Kategori tugas Tugas alur
Identitas • Buat atau perbarui sumber daya Microsoft Entra untuk mewakili kepemilikan langganan.
• Mengonfigurasi identitas beban kerja istimewa untuk penyebaran tim beban kerja.
Pemerintahan • Tempatkan dalam hierarki grup manajemen.
• Tetapkan pemilik langganan.
• Konfigurasikan kontrol akses berbasis peran tingkat langganan (RBAC) ke grup keamanan yang dikonfigurasi.
• Tetapkan Azure Policy tingkat langganan.
• Mengonfigurasi pendaftaran Microsoft Defender untuk Cloud.
Jaringan • Menyebarkan jaringan virtual.
• Mengonfigurasi peering jaringan virtual ke sumber daya platform (hub regional).
Anggaran • Buat anggaran untuk pemilik langganan dengan menggunakan data yang dikumpulkan.
Pelaporan • Perbarui sistem eksternal, seperti IPAM, untuk berkomitmen pada reservasi IP.
• Perbarui permintaan alat pengumpulan data dengan nama langganan akhir dan pengidentifikasi unik global (GUID).
• Beri tahu tim aplikasi bahwa langganan sudah siap.

Anda memerlukan perjanjian komersial untuk membuat langganan secara terprogram. Jika Anda tidak memiliki perjanjian komersial, Anda perlu memperkenalkan proses manual untuk membuat langganan tetapi masih dapat mengotomatiskan semua aspek konfigurasi langganan lainnya.

Menetapkan identitas beban kerja. Alur penyebaran memerlukan izin untuk melakukan operasi ini dengan semua sistem yang digunakannya. Anda harus menggunakan identitas terkelola atau OpenID Koneksi (OIDC) untuk mengautentikasi ke Azure.

Pascapenyebaran

Otomatisasi penjual langganan berakhir dengan pembuatan dan konfigurasi langganan. Tim platform harus menyerahkan langganan baru ke tim aplikasi setelah pembuatan. Tim aplikasi harus memperbarui anggaran langganan, membuat sumber daya beban kerja, dan menyebarkan beban kerja. Tim platform mengontrol tata kelola langganan dan mengelola perubahan pada tata kelola langganan dari waktu ke waktu.

Menerapkan manajemen biaya. Anggaran langganan menyediakan pemberitahuan yang penting bagi manajemen biaya. Penyebaran harus membuat anggaran langganan awal berdasarkan data permintaan langganan. Tim aplikasi menerima langganan. Mereka harus memperbarui anggaran untuk memenuhi kebutuhan beban kerja. Untuk informasi selengkapnya, lihat:

Mengelola tata kelola langganan. Anda harus memperbarui langganan saat persyaratan tata kelola beban kerja berubah. Misalnya, Anda mungkin perlu memindahkan langganan ke grup manajemen yang berbeda. Anda harus membangun otomatisasi untuk beberapa operasi rutin ini. Untuk informasi selengkapnya, lihat:

Langkah berikutnya

Langganan vending menyederhanakan dan menstandarkan proses pembuatan langganan dan menempatkannya di bawah tata kelola organisasi. Anda harus menerapkan otomatisasi penjual langganan untuk membantu tim aplikasi Anda mengakses zona pendaratan aplikasi lebih cepat dan beban kerja onboard lebih cepat. Untuk informasi selengkapnya, lihat: