Memahami Azure Arc

Salah satu pengumuman yang lebih menarik di konferensi Microsoft Ignite 2019 adalah Azure Arc, alat manajemen baru untuk infrastruktur aplikasi cloud hybrid. Membangun konsep Azure, Arc dirancang untuk memungkinkan Anda mengelola sumber daya di lokasi dari Portal Azure, menerapkan kebijakan dan layanan ke mesin virtual dan Kubernetes. Ini juga mencakup versi dalam container dari Azure's SQL Database dan PostgreSQL Hyperscale untuk memberikan aplikasi hybrid berbasis Kubernetes opsi data yang konsisten dengan Azure.

Azure Arc memperluas model Azure Resource Manager ke server dan kluster Kubernetes. Ini dirancang untuk mengelola sumber daya dengan cara seperti awan di mana pun mereka berada, memperlakukan perkakas sumber daya Azure sebagai bidang kendali Anda. Itu menempatkannya pada level yang jauh lebih tinggi daripada kebanyakan alat manajemen. Misalnya, jika Anda menggunakannya dengan mesin virtual yang berjalan di jaringan Windows Server, Anda akan mengelola VM dengan alat manajemen Hyper-V, dan konfigurasi server serta aplikasi yang berjalan di dalamnya dengan Azure Arc.

Menggunakan Azure Arc dengan server

"Dimanapun mereka berada" adalah prinsip utama di balik Azure Arc. Dengan fokus manajemen aplikasinya, ini adalah infrastruktur agnostik. VM yang dikelolanya dapat berjalan di pusat data Anda, di fasilitas hosting, atau sebagai server virtual di lingkungan bersama yang dikelola.

Manajemen server dengan Azure Arc sekarang dalam pratinjau publik, dengan agen mesin yang terhubung untuk Windows dan Linux untuk menangani koneksi ke layanan Azure Arc. Setelah terhubung ke cloud, Anda dapat mulai mengelolanya seolah-olah itu adalah sumber daya Azure, bagian dari grup sumber daya. Ini memungkinkan Anda untuk menerapkan kebijakan berbasis PowerShell ke server yang terhubung, memanfaatkan pekerjaan yang telah dilakukan untuk memberikan manajemen tepat waktu dan konfigurasi status yang diinginkan. Server yang dikelola akan membutuhkan konektivitas ke Azure Arc, melalui SSL.

Server yang dikelola oleh Azure Arc tidak perlu berupa server fisik; mereka bisa menjadi mesin virtual. Hal ini memungkinkan Anda untuk memuat agen ke dalam gambar dasar VM sebelum diterapkan. Sebagai bagian dari pengaturan layanan, Azure Arc membuat skrip kustom yang akan berjalan di server yang tidak terhubung, mengunduh dan menginstal agen, sebelum menyambungkan ke Azure dan menambahkan server sebagai sumber daya.

Mengelola aplikasi Kubernetes di Azure Arc

Microsoft belum membuat dukungan Kubernetes Azure Arc tersedia di pratinjau publik; itu masih terbatas pada pratinjau akses pribadi layanan. Namun, Gabe Monroy, direktur produk untuk Azure Application Platform, memberikan demonstrasi singkatnya di Ignite.

Dengan menggunakan Azure Portal, Monroy pertama-tama menampilkan cluster Kubernetes yang sedang berjalan yang dikelola menggunakan kebijakan berbasis Azure ARM. Kebijakan awal yang dia gunakan mengontrol port jaringan yang digunakan oleh cluster, mengunci port yang tidak diperlukan untuk mengurangi permukaan serangan cluster. Kebijakan yang sama dapat digunakan untuk mengelola semua cluster di seluruh infrastruktur global perusahaan. Menulis kebijakan sekali dan menggunakannya berkali-kali seperti ini akan meminimalkan risiko kesalahan; dengan menguji semua kebijakan Anda terlebih dahulu, Anda dapat memastikan kebijakan tersebut akan berfungsi saat diterapkan secara global.

Keuntungan lain dari pendekatan berbasis kebijakan adalah Anda dapat mengunci cluster jika tidak sesuai. Hingga cluster melaporkan bahwa ia mematuhi semua kebijakan Anda, tim pengembangan aplikasi Anda tidak dapat menerapkan kode. Dengan agen Azure Arc yang diterapkan ke semua kluster Kubernetes di jaringan Anda, Anda memiliki satu panel kaca untuk mengelola semua kebijakan dan semua penerapan.

Penting untuk diperhatikan bahwa Anda tidak memiliki cara untuk mengelola server fisik dan penginstalan Kubernetes secara langsung. Semua Azure Portal memberi Anda kebijakan dan kode yang berjalan di kluster. Anda dapat menggunakan kebijakan untuk menentukan bagaimana kluster akan berperilaku, tetapi Anda tidak dapat menerapkan node baru kecuali runtime Kubernetes dan agen Azure Arc diinstal. Segera setelah klaster baru disebarkan dan terhubung ke Azure Arc, kebijakan diterapkan secara otomatis, memastikan bahwa kebijakan keamanan Anda diterapkan tanpa mengonfigurasi semuanya secara manual.

Salah satu aspek menarik dari demonstrasi tersebut adalah kebijakan yang menghubungkan Azure Arc ke GitHub, menargetkan namespace atau cluster Kubernetes dan menangani penerapan dari repositori tertentu. Dengan menggunakan kebijakan ini, permintaan pull apa pun ke repositori akan memicu penerapan aplikasi yang diperbarui. Kebijakan yang sama dapat digunakan untuk memuat kode Anda ke cluster baru segera setelah dikonfigurasi. Pembaruan kode apa pun di masa mendatang akan diterapkan secara otomatis, menjaga semua situs Anda menjalankan versi terbaru.

Sangat mudah untuk membayangkan sekumpulan server baru, yang dimuat sebelumnya dengan Kubernetes dan agen Azure Arc, dikirim ke situs edge baru. Setelah terhubung ke WAN dan dihidupkan, mereka akan secara otomatis memuat kebijakan terbaru, dan setelah mematuhi akan mengunduh aplikasi mereka dan mulai beroperasi dengan interaksi manusia yang minimal.

Memperkenalkan model manajemen baru yang berpusat pada cloud dan mengutamakan aplikasi

Mungkin yang terbaik adalah menganggap Azure Arc sebagai yang pertama dari alat manajemen aplikasi berbasis kebijakan generasi baru, terutama saat digunakan untuk mengotomatiskan penerapan aplikasi di seluruh jaringan global. Mengintegrasikannya ke dalam aliran gitops Anda masuk akal, menggunakan Arc untuk memicu penerapan aplikasi saat permintaan tarik digabungkan dan memastikan bahwa kebijakan keamanan yang sesuai diterapkan ke klaster Kubernetes host atau mesin virtual.

Pandangan Microsoft tentang cloud adalah bahwa sistem lokal tidak akan hilang, dan dengan semakin pentingnya penerapan edge, definisi lokal hanya akan berkembang, Itu tidak berarti bahwa sistem lokal tidak boleh tidak mendapatkan keuntungan dari teknologi cloud dan dari cara kerja berbasis cloud. Azure Arc berfokus pada otomatisasi infrastruktur untuk suatu aplikasi, menggunakan kebijakan untuk memastikan kepatuhan keamanan.

Jika dipikir-pikir, ini adalah perpanjangan logis dari developer, dan bagian dari perpindahan ke manajemen tingkat ketiga di lingkungan cloud. Dengan fokus pada infrastruktur virtual aplikasi, baik VM atau berbasis kontainer, Azure Arc memisahkan operasi aplikasi dari operasi infrastruktur.

Dalam lingkungan cloud hybrid, tim aplikasi tidak perlu mengetahui apa pun tentang infrastruktur fisik yang mendasarinya. Sebaliknya, tim terpisah akan memiliki tanggung jawab untuk server fisik, sistem operasi host, hypervisor, dan penginstalan Kubernetes, dengan alat seperti Azure Arc yang digunakan oleh tim aplikasi untuk mengelola aplikasi mereka di edge, dalam sistem hyperconverged, di pusat data tradisional, dan di awan, semuanya dari konsol yang dihosting di awan yang sama.

Kami telah mengubah cara kami menjalankan infrastruktur dengan container dan virtualisasi, serta cara kami membangun dan mengelola aplikasi dengan devops. Mengapa tidak menyediakan alat untuk menyatukan kedua pendekatan tersebut? Dengan Azure Arc, sisi operasi persamaan devops mendapatkan platform untuk memisahkan aplikasi dari infrastruktur, dengan kemampuan untuk mengelola dan mengontrol aplikasi tersebut dari bidang kontrol baru yang dihosting di cloud. Ini adalah visi yang menarik, dan akan sangat menarik untuk melihat bagaimana Microsoft menyampaikannya.