Keandalan dalam Azure Automation

Azure Automation adalah layanan yang menjalankan tugas manajemen atas nama Anda. Anda menentukan skrip, yang disebut runbook, yang ingin Anda jalankan, dan Azure Automation menyediakan infrastruktur untuk menjalankan skrip tersebut. Artikel ini berfokus pada otomatisasi proses, yang merupakan kemampuan inti layanan. Pekerja runbook hibrid, yang berjalan pada infrastruktur yang dikelola pelanggan, berada di luar cakupan artikel ini.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan cara membuat Azure Automation tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, pemadaman zona ketersediaan, pemadaman wilayah, dan pemeliharaan layanan. Ini juga menjelaskan opsi pencadangan dan pemulihan, dan informasi utama tentang perjanjian tingkat layanan (SLA) Azure Automation.

Rekomendasi implementasi produksi untuk keandalan

Untuk beban kerja produksi yang menggunakan otomatisasi proses, ikuti rekomendasi berikut:

  • Tangani kesalahan sementara yang terjadi saat runbook Anda berinteraksi dengan layanan Azure dan API dengan menambahkan logika coba lagi yang sesuai ke skrip Anda.

  • Rancang runbook Anda agar tetap tangguh terhadap interupsi. Gunakan checkpoint untuk menjaga progres saat tugas dimulai ulang, dan jika Anda perlu menyimpan status, gunakan penyimpanan eksternal.

Gambaran umum arsitektur keandalan

Bagian ini menjelaskan beberapa aspek penting tentang cara kerja layanan yang paling relevan dari perspektif keandalan. Bagian ini memperkenalkan arsitektur logis, yang mencakup beberapa sumber daya dan fitur yang Anda sebarkan dan gunakan. Ini juga membahas arsitektur fisik, yang memberikan detail tentang cara kerja layanan di bawah sampul.

Arsitektur logika

Saat menyebarkan Azure Automation, Anda membuat akun otomatisasi, yang merupakan kontainer logis untuk sumber daya yang menjalankan otomatisasi Anda.

  • Runbooks, yang merepresentasikan pekerjaan yang akan dilakukan. Runbook berbasis teks adalah skrip yang ditulis dalam PowerShell atau Python. Runbook grafis dibuat menggunakan editor grafis.
  • Sumber daya yang digunakan bersama oleh runbook, termasuk modul, koneksi, kredensial, sertifikat, dan variabel.
  • Sumber daya yang memulai menjalankan runbook, termasuk jadwal dan pemantau.

Untuk informasi selengkapnya tentang sumber daya ini, lihat Eksekusi runbook di Azure Automation.

Artikel ini membahas keandalan dan ketahanan kemampuan ini, yang merupakan bagian dari otomatisasi proses dalam Azure Automation.

Arsitektur fisik

Runbook dijalankan pada infrastruktur komputasi. Ada dua model penyebaran untuk otomatisasi proses:

  • Pekerjaan cloud (dikelola Microsoft): Secara default, runbook berjalan pada infrastruktur cloud yang disediakan Microsoft. Microsoft bertanggung jawab atas ketersediaan dan pengelolaan infrastruktur ini yang tinggi. Saat Anda mengirimkan pekerjaan runbook, Azure Automation mengalokasikan pekerjaan cloud dari kumpulan sumber daya komputasi yang tersedia, menjalankan runbook, lalu mengembalikan sumber daya ke kumpulan.

    Pekerjaan cloud terkadang mungkin terganggu saat berjalan. Desain runbook Anda dengan asumsi bahwa pekerjaan mungkin dimulai ulang pada infrastruktur yang berbeda dan bahwa data apa pun yang ditulis ke penyimpanan sementara pada instans sebelumnya tidak lagi dapat diakses.

  • Pekerja runbook hibrid: Anda dapat secara opsional mengonfigurasi infrastruktur komputasi Anda sendiri (komputer virtual di Azure, cloud lain, atau lokal) untuk menjalankan runbook. Saat Anda menggunakan pekerja runbook hibrida, Anda bertanggung jawab mengonfigurasinya agar memenuhi persyaratan keandalan Anda. Pekerja runbook hibrid berada di luar cakupan artikel ini.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

Anda bertanggung jawab untuk menulis runbook yang menangani kesalahan sementara dalam layanan dan API yang berinteraksi dengannya. Untuk runbook tekstual, terapkan logika coba lagi dengan menggunakan perulangan dan penanganan kesalahan. Untuk panduan dan contoh, lihat Menangani kesalahan sementara dalam skrip yang bergantung pada waktu. Untuk runbook grafis, konfigurasikan perilaku percobaan ulang untuk aktivitas dalam alur kerja Anda. Untuk detail konfigurasi, lihat Mencoba kembali aktivitas dalam runbook grafis.

Pemeliharaan infrastruktur atau peristiwa platform lainnya dapat mengganggu pekerjaan runbook. Rancang runbook Anda untuk menangani gangguan ini:

  • Menerapkan titik pemeriksaan. Untuk runbook alur kerja PowerShell, gunakan titik pemeriksaan untuk menyimpan progres pada titik-titik penting dalam alur kerja. Jika pekerjaan terganggu dan dimulai ulang, pekerjaan dapat dilanjutkan dari titik pemeriksaan terakhir daripada memulai kembali. Untuk informasi selengkapnya, lihat Menggunakan titik pemeriksaan dalam alur kerja.

  • Memahami batas pekerjaan. Pekerjaan cloud memiliki batas berbagi yang adil pada durasi runtime. Untuk detail tentang batas eksekusi pekerjaan dan cara penerapannya, lihat Eksekusi runbook.

  • Simpan status persisten secara eksternal. Job tidak mempertahankan status antar eksekusi. Jika suatu pekerjaan terganggu dan dimulai ulang pada instans lain, segala sesuatu yang ditulis ke penyimpanan sementara oleh proses pertama mungkin hilang. Jika Anda perlu menyimpan data di antara eksekusi pekerjaan, simpan di penyimpanan eksternal, seperti Azure Blob Storage atau database.

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Di wilayah yang didukung, akun Automation dan pekerjaan cloud bersifat redundan antar-zona, yang berarti layanan menyebarkan sumber daya Anda di beberapa zona ketersediaan. Microsoft secara otomatis mengaktifkan redundansi zona dan tidak memerlukan konfigurasi apa pun.

Diagram yang menunjukkan akun Automation, yang secara otomatis tangguh terhadap zona, termasuk runbook yang tangguh terhadap zona dan sumber daya lainnya.

Requirements

Dukungan untuk wilayah: Saat Anda menerapkan akun otomatisasi ke salah satu wilayah berikut, akun tersebut secara otomatis menjadi redundan zona:

Americas Eropa Timur Tengah Africa Asia Pasifik
Brasil Selatan Prancis Tengah Israel Tengah Afrika Selatan Utara Australia Timur
Kanada Tengah Jerman Barat Tengah Qatar Tengah India Tengah
US Tengah Italia Utara Tiongkok Utara 3
US Timur Eropa Utara Asia Timur
US Timur 2 Norwegia Timur Jepang Timur
US Tengah Selatan Polandia Tengah Korea Tengah
Pemerintah AS Virginia Swedia Tengah Asia Tenggara
Barat AS 2 UK Selatan
Barat AS 3 Eropa Barat

Untuk daftar wilayah yang didukung saat ini, lihat Dukungan zona ketersediaan untuk Azure Automation.

Cost

Tidak ada biaya tambahan untuk redundansi zona. Untuk otomatisasi proses, penagihan didasarkan pada lamanya waktu pekerjaan dan pengamat Anda berjalan. Untuk informasi selengkapnya, lihat harga Azure Automation.

Mengonfigurasi dukungan zona ketersediaan

Saat Anda membuat akun otomatisasi di wilayah yang didukung, akun tersebut secara otomatis memiliki redundansi zona. Anda tidak dapat menonaktifkan redundansi zona. Untuk informasi selengkapnya, lihat Dukungan zona ketersediaan untuk Azure Automation.

Perilaku ketika semua zona sehat

Bagian ini menjelaskan hal-hal yang dapat Anda harapkan ketika akun otomatisasi Anda bersifat redundan zona dan semua zona ketersediaan di wilayah tersebut beroperasi.

  • Operasi antarzona: Operasi pengelolaan akun Automation dan tugas cloud secara otomatis didistribusikan ke seluruh zona ketersediaan di wilayah tersebut. Permintaan atau pekerjaan mungkin ditangani oleh instans apa pun di zona ketersediaan apa pun.

  • Replikasi data lintas zona: Konfigurasi akun Automation, skrip runbook, dan sumber daya lain yang Anda sebarkan ke akun otomatisasi Anda direplikasi secara sinkron di beberapa zona ketersediaan.

Perilaku selama kegagalan zona

Bagian ini menjelaskan apa yang dapat Anda harapkan ketika akun otomatisasi Anda bersifat redundan zona dan terjadi gangguan di salah satu zona ketersediaan di wilayah tersebut.

  • Deteksi dan respons: Platform Azure Automation bertanggung jawab untuk mendeteksi kegagalan di zona ketersediaan. Anda tidak perlu melakukan apa pun untuk memulai failover zona.
  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan keseluruhan layanan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
  • Permintaan aktif: Pekerjaan apa pun yang sedang berlangsung di zona tidak sehat mungkin terganggu. Azure Automation secara otomatis memulai pekerjaan baru dengan menggunakan infrastruktur di zona sehat. Rancang runbook Anda agar tahan terhadap kesalahan sementara dan gangguan sehingga dapat dimulai ulang dengan aman.

  • Perkiraan kehilangan data: Eksekusi tugas tidak menyimpan status, sehingga kegagalan zona diperkirakan tidak akan menyebabkan kehilangan data pada tugas yang sedang berjalan. Jika pekerjaan perlu menyimpan data yang dapat digunakan untuk memulihkan dari gangguan, seperti titik pemeriksaan, simpan informasi tersebut di layanan penyimpanan cloud persisten seperti Azure Storage atau database.

    Konfigurasi akun Automation dan data runbook direplikasi antarzona dan tetap dapat diakses bahkan saat salah satu zona tidak tersedia.

  • Waktu henti yang diharapkan: Selama pemadaman zona, akun Automation Anda mungkin mengalami gangguan singkat saat layanan mendeteksi kegagalan dan mendistribusikan ulang beban kerja ke zona sehat.

  • Redistribusi: Layanan ini secara otomatis menyeimbangkan kembali kapasitas di seluruh zona sehat yang tersisa. Pekerjaan baru berjalan, pengamat, dan jadwal terus berjalan pada infrastruktur di zona sehat. Pemulihan tidak bergantung pada zona yang gagal untuk kembali beroperasi.

Pemulihan Zona

Ketika zona yang gagal kembali ke layanan, Azure Automation secara otomatis mengintegrasikannya kembali ke dalam rotasi zona. Anda tidak perlu melakukan tindakan apa pun. Layanan memantau kesehatan zona dan mendistribusikan ulang beban kerja kembali di semua zona saat operasi normal dilanjutkan.

Uji kegagalan zona

Azure Automation mengelola perutean lalu lintas, failover, dan pemulihan zona untuk sumber daya dengan redundansi zona. Anda tidak perlu memulai apa pun, dan Anda tidak perlu memvalidasi proses kegagalan zona ketersediaan. Uji runbook Anda untuk memastikan bahwa runbook tersebut tetap andal saat terjadi gangguan.

Ketahanan terhadap kegagalan di seluruh wilayah

Azure Automation adalah layanan satu wilayah. Jika regional tidak tersedia, akun Automation Anda pun tidak tersedia.

Solusi multi-wilayah kustom untuk ketahanan

Anda dapat menyebarkan akun Automation terpisah ke beberapa wilayah dan beralih di antaranya saat diperlukan. Anda bertanggung jawab untuk menyebarkan akun ke setiap wilayah, mengonfigurasinya dengan tepat, mendistribusikan permintaan di antara akun, dan menangani failover jika suatu wilayah tidak tersedia. Untuk informasi terperinci tentang pendekatan yang dapat Anda pertimbangkan, lihat Pemulihan bencana untuk Azure Automation.

Pencadangan dan pemulihan

Untuk sebagian besar solusi, Anda tidak boleh mengandalkan cadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain yang dijelaskan dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain. Untuk informasi selengkapnya, lihat Apa itu redundansi, replikasi, dan cadangan?.

Azure Automation tidak menyediakan cadangan bawaan untuk konfigurasi akun Automation atau konten runbook Anda. Simpan salinan Anda sendiri di luar layanan sehingga Anda dapat menyebarkannya kembali jika diperlukan.

  • Gunakan infrastruktur sebagai kode (IaC) untuk konfigurasi akun otomatisasi. Tentukan akun otomatisasi dan sumber daya terkait dalam file Bicep, templat ARM, atau Terraform. Simpan templat dalam kontrol sumber dan gunakan alur penyebaran Anda untuk membuat ulang lingkungan di wilayah yang sama atau lainnya. Sertakan sertifikat, variabel, jadwal, dan referensi kredensial dalam artefak dan proses penyebaran Anda. Simpan rahasia dalam layanan seperti Azure Key Vault daripada menyematkan nilai langsung dalam kode runbook.

  • Simpan skrip runbook dalam kontrol sumber. Simpan sumber untuk PowerShell dan Python runbook dalam sistem kontrol sumber seperti Git. Gunakan kontrol versi, pencabangan, dan peninjauan pull request untuk melindungi kualitas skrip dan memungkinkan rollback ke versi yang telah diketahui baik.

  • Cadangkan status dari penyimpanan data yang sesuai. Pekerjaan tidak mempertahankan status. Jika Anda perlu menyimpan log pekerjaan terperinci atau data lain yang dihasilkan oleh runbook Anda, simpan di layanan penyimpanan Azure atau layanan database lainnya, lalu cadangkan dari sana.

Ketahanan terhadap penghapusan yang tidak disengaja

Jika Anda secara tidak sengaja menghapus akun Automation, Anda mungkin dapat memulihkannya dalam jangka waktu terbatas. Untuk informasi selengkapnya, lihat Memulihkan akun Automation yang dihapus.

Ketahanan terhadap pemeliharaan layanan

Microsoft secara teratur menerapkan pembaruan layanan dan melakukan pemeliharaan lainnya. Platform Azure menangani aktivitas ini secara otomatis, memastikan bahwa pemeliharaan mulus dan transparan bagi Anda. Tidak ada downtime yang diharapkan selama peristiwa pemeliharaan kecuali Anda menerima pemberitahuan tentang pemeliharaan terencana melalui Azure Service Health.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.