Mengelola konfigurasi penyewa Microsoft 365 menggunakan Microsoft365DSC dan Azure DevOps

Azure DevOps
Azure Key Vault
Azure Windows Virtual Machines
Microsoft 365

Solusi yang dijelaskan di sini melacak perubahan yang dilakukan oleh administrator layanan dan menambahkan proses persetujuan ke penyebaran ke penyewa Microsoft 365. Ini dapat membantu Anda mencegah perubahan yang tidak terlacak pada penyewa Microsoft 365. Ini juga membantu mencegah penyimpangan konfigurasi antara beberapa penyewa Microsoft 365.

Sistem

Diagram yang memperlihatkan arsitektur untuk mengotomatiskan perubahan pada konfigurasi penyewa Microsoft 365.

Unduh file Visio arsitektur ini.

Alur kerja

  1. Admin 1 menambahkan, memperbarui, atau menghapus entri di fork Admin 1 dari file konfigurasi Microsoft 365.
  2. Admin 1 menerapkan dan menyinkronkan perubahan ke repositori fork Admin 1.
  3. Admin 1 membuat permintaan pull (PR) untuk menggabungkan perubahan ke repositori utama.
  4. Alur build berjalan pada PR.
  5. Admin meninjau kode dan menggabungkan PR.
  6. PR gabungan memicu alur untuk mengkompilasi file Managed Object Format (MOF). Alur memanggil Azure Key Vault untuk mengambil kredensial yang digunakan dalam MOF.
  7. Tugas Azure PowerShell dalam alur multistage menggunakan file MOF yang dikompilasi untuk menyebarkan perubahan konfigurasi melalui Microsoft365DSC.
  8. Admin memvalidasi perubahan dalam penyewa Microsoft 365 bertahap.
  9. Admin mendapatkan pemberitahuan dari proses persetujuan di Azure DevOps untuk penyewa Microsoft 365 produksi. Admin menyetujui atau menolak perubahan.

Komponen

  • Azure Pipelines memungkinkan integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD) untuk menguji dan membangun kode Anda dan mengirimkannya ke target apa pun.
  • Azure Key Vault meningkatkan keamanan penyimpanan untuk token, kata sandi, sertifikat, kunci API, dan rahasia lainnya. Ini juga menyediakan akses yang dikontrol dengan ketat ke rahasia ini.
  • Microsoft365DSC menyediakan otomatisasi untuk penyebaran, konfigurasi, dan pemantauan penyewa Microsoft 365 melalui PowerShell DSC.
  • Windows PowerShell DSC adalah platform manajemen di PowerShell. Anda dapat menggunakannya untuk mengelola infrastruktur pengembangan Anda dengan menggunakan model konfigurasi sebagai kode.

Alternatif

Sebagai langkah selanjutnya, Anda dapat menggunakan DSC di Azure Automation untuk menyimpan konfigurasi di lokasi pusat dan menambahkan pelaporan kepatuhan dengan status yang diinginkan.

Arsitektur ini menggunakan Key Vault untuk menyimpan sertifikat Azure App Service atau kredensial pengguna yang digunakan untuk autentikasi ke penyewa Microsoft 365. Key Vault menyediakan skalabilitas. Sebagai alternatif, Anda dapat menggunakan variabel alur untuk mengurangi kompleksitas solusi.

Detail skenario

Banyak perusahaan mengadopsi praktik DevOps dan ingin menerapkan praktik ini ke penyewa Microsoft 365 mereka. Jika Anda tidak mengadopsi DevOps untuk Microsoft 365, Anda mungkin mengalami beberapa masalah umum:

  • Salah konfigurasi
  • Tantangan dengan perubahan konfigurasi pelacakan
  • Tidak ada proses persetujuan untuk modifikasi penyewa

Anda dapat menggunakan solusi yang dijelaskan dalam artikel ini untuk mengotomatiskan perubahan pada konfigurasi penyewa Microsoft 365 dengan menggunakan Azure DevOps dan Microsoft365DSC. Microsoft365DSC adalah modul PowerShell Desired State Configuration (DSC). Anda dapat menggunakannya untuk mengonfigurasi dan mengelola penyewa Microsoft 365 dalam gaya DevOps yang sebenarnya: konfigurasi sebagai kode.

Kemungkinan kasus penggunaan

Solusi ini dapat membantu Anda mengelola konfigurasi penyewa Microsoft 365 dengan cara yang terkontrol dan otomatis, menggunakan alat dan praktik DevOps, di seluruh:

  • Lingkungan pengembangan, pengujian, penerimaan, dan produksi.
  • Beberapa penyewa pelanggan, seperti dalam skenario penyedia layanan terkelola.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Sebagian besar orang memulai dengan PowerShell DSC menemukan bahwa dibutuhkan waktu cukup lama untuk mempelajarinya. Ini membantu jika Anda memiliki pemahaman yang kuat tentang PowerShell dan pengalaman dalam membuat skrip.

Operasional

Beberapa tim operasi menganggap Azure DevOps sebagai alat untuk pengembang. Tetapi tim ini dapat memperoleh manfaat dari menggunakan Azure DevOps. Tim operasi dapat:

  • Simpan skrip mereka di repositori dan tambahkan kontrol sumber dan penerapan versi.
  • Mengotomatiskan penyebaran skrip.
  • Gunakan papan untuk melacak tugas, proyek, dan lainnya.

Menggunakan model konfigurasi sebagai kode bukanlah tugas satu kali. Ini adalah pergeseran dalam cara Anda bekerja dan perubahan mendasar untuk semua anggota tim. Anda tidak lagi membuat perubahan secara manual. Sebaliknya, semuanya diimplementasikan dalam skrip dan disebarkan secara otomatis. Semua anggota tim harus memiliki keterampilan untuk membuat perubahan ini.

Skalabilitas

Anda dapat menggunakan solusi ini saat bekerja dengan beberapa lingkungan, beberapa beban kerja, dan/atau beberapa tim. Anda dapat mengonfigurasi proses validasi sehingga para ahli perlu menyetujui setiap beban kerja. Anda juga dapat memperluas solusi untuk disebarkan ke beberapa penyewa, untuk skenario dev/test/acceptance/production dan/atau untuk beberapa organisasi.

Untuk meningkatkan skalabilitas lebih jauh, Anda dapat menggunakan solusi data konfigurasi agregat seperti Datum.

Keamanan

Sebagian besar sumber daya Microsoft365DSC mendukung autentikasi melalui nama pengguna dan kata sandi. Tetapi kami tidak merekomendasikan jenis autentikasi tersebut karena praktik terbaik Microsoft merekomendasikan autentikasi multifaktor. Kredensial aplikasi adalah metode pilihan, di mana didukung oleh sumber daya Microsoft 365. Misalnya, SharePoint Online, ID Microsoft Entra, dan sumber daya lainnya mendukung kredensial aplikasi.

Jika Anda membangun solusi Microsoft365DSC di Azure DevOps, Anda juga dapat memanfaatkan keamanan di Azure Pipelines dan proses persetujuan untuk melindungi penyebaran ke penyewa produksi Anda.

DevOps

Anda dapat menjalankan solusi ini di Azure DevOps Server. Anda dapat membuat solusi serupa di GitHub dengan menggunakan GitHub Actions.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Untuk informasi harga Azure DevOps, lihat Harga untuk Azure DevOps. Jika Anda memasukkan Key Vault ke dalam solusi, Anda dapat menemukan informasi harga di sini.

Anda juga dapat menggunakan kalkulator harga Azure untuk memperkirakan biaya.

Kontributor

Artikel ini sedang dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Langkah berikutnya