Mengelola kluster platform aplikasi modern

Kerangka Kerja Adopsi Cloud menyediakan metodologi inti untuk menentukan proses manajemen operasi untuk cloud dalam arti agnostik. Panduannya membantu menetapkan garis besar manajemen operasi dan lapisan operasi khusus lainnya. Panduan ini mungkin masih berlaku untuk organisasi yang memiliki campuran infrastruktur sebagai layanan (IaaS), platform sebagai layanan (PaaS), dan beban kerja kontainer. Artikel ini menguraikan apa yang perlu Anda integrasikan ke dalam operasi yang ada untuk mempersiapkan manajemen kontainer. Ini juga menyoroti keuntungan mengintegrasikan Azure Kubernetes Service (AKS) ke dalam strategi manajemen kontainer Anda.

Penjajaran bisnis untuk kebutuhan manajemen operasi

Kontainer menghilangkan ketergantungan pada beberapa lapisan infrastruktur, yang mengarah ke peningkatan kemampuan manajemen operasi. Untuk mewujudkan peningkatan operasional ini, Anda mungkin harus merevisi strategi manajemen cloud Anda secara keseluruhan, dimulai dengan penjajaran bisnis.

Untuk menetapkan praktik manajemen operasi yang tepat, Anda harus memahami bagaimana kontainer akan digunakan dalam rencana adopsi cloud Anda dan keuntungan apa yang ingin Anda capai dari pergeseran ini ke beban kerja kontainer.

  • Apakah Anda akan mengelola beberapa solusi teknologi, seperti kontainer, IaaS, dan PaaS, di platform cloud Anda?
  • Akankah tim terpusat mendukung operasi dan manajemen platform kontainer atau AKS? Apakah akuntabilitas ini beralih ke tim beban kerja individu?
  • Akankah tim terpusat mendukung operasi dan manajemen beban kerja yang berjalan di setiap kontainer atau pod? Apakah akuntabilitas ini beralih ke tim beban kerja individu?
  • Apakah Anda menggunakan kontainer untuk beban kerja misi-kritis?
  • Apakah Anda hanya menggunakan kontainer untuk beban kerja yang kurang kritis atau utilitas untuk mengurangi biaya?
  • Seberapa penting performa dan keandalan beban kerja individu Anda?
  • Apakah aplikasi dalam kontainer Anda tidak memiliki status? Apakah Anda perlu mempertahankan kondisi untuk melindungi dan memulihkan beban kerja dalam kontainer?

Pertanyaan dasar ini akan membentuk cara terbaik untuk mengintegrasikan kontainer dan AKS ke dalam strategi manajemen operasi Anda.

Garis besar operasi

Menerapkan garis besar operasi menyediakan akses terpusat ke alat yang diperlukan untuk mengoperasikan dan mengelola semua aset di lingkungan cloud Anda. Jika Anda tidak memiliki garis besar operasi untuk aset non-kontainer Anda, Anda dapat menerapkan garis besar operasi yang ditentukan dalam metodologi Kelola.

Garis besar operasi Anda harus menyertakan alat dan konfigurasi untuk memberikan visibilitas, pemantauan, kepatuhan operasional, pengoptimalan, dan perlindungan/pemulihan.

Garis besar manajemen operasi

Garis besar operasi yang diuraikan dalam artikel di atas tidak akan memberikan dukungan untuk kontainer atau platform AKS Anda. Namun, ini akan memberikan landasan alat yang dapat diperluas untuk mendukung kontainer, seperti Azure Monitor, Azure Backup, dan alat lainnya.

Jika sebagian besar portofolio Anda di cloud di-hosting dalam kontainer, pertimbangkan untuk memasukkan operasi platform khusus di bagian berikutnya ke dalam garis besar operasi Anda.

Operasi platform

Kecuali implementasi ini adalah penyebaran pertama atau satu-satunya organisasi Anda ke cloud, Anda harus memiliki garis besar operasi. Bagian ini mengidentifikasi beberapa alat yang mungkin ingin Anda sertakan untuk membantu mengelola penyebaran kontainer atau AKS.

Inventaris dan visibilitas

Memantau kontainer dan kluster AKS menggunakan alat, dasbor, dan peringatan yang disertakan dalam garis dasar operasi Anda. Namun, Anda mungkin perlu melakukan lebih banyak konfigurasi untuk mendapatkan data dari kontainer Anda ke alat pemantauan operasi, seperti Azure Monitor untuk kontainer. Lihat ringkasan Azure Monitor untuk kontainer untuk mengumpulkan data yang diperlukan untuk menambahkan kontainer dan operasi platform AKS ke garis besar operasi Anda.

Setelah mengonfigurasi Azure Monitor untuk mengumpulkan data di kontainer, Anda dapat memantau area berikut sebagai bagian dari proses manajemen terpusat:

  • Identifikasi kluster yang berjalan di berbagai daerah, idealnya terkait dengan entri pohon layanan dan identifikasi fakta-fakta kunci pada kluster-kluster tersebut
    • Identifikasi kumpulan node kluster, jaringan, dan topologi penyimpanan dari kluster tersebut
    • Identifikasi versi AKS dan stratifikasi versi gambar node.
  • Identifikasi pemanfaatan sumber daya node kluster (proses, memori, dan penyimpanan)
  • Identifikasi kontainer yang berjalan pada node dan kontribusinya terhadap pemanfaatan node
  • Pahami perilaku kluster di bawah beban rata-rata dan terberat. Pengetahuan ini dapat membantu Anda mengidentifikasi kebutuhan kapasitas dan menentukan beban maksimum yang dapat dipertahankan cluster.
  • Konfigurasikan peringatan agar secara proaktif memberi tahu Anda atau merekamnya saat penggunaan CPU dan memori pada node atau wadah melebihi ambang batas Anda, atau saat perubahan kondisi kesehatan terjadi di kluster di infrastruktur atau rollup kesehatan node.
  • Gunakan kueri untuk membuat set peringatan, dasbor, dan analisis terperinci yang umum

Data ini juga akan mendukung tim operasi beban kerja dengan memberikan informasi terperinci tentang beban kerja yang berjalan pada platform kontainer:

  • Tinjau penggunaan sumber daya dari beban kerja yang berjalan di host yang tidak terkait dengan proses standar yang mendukung pod.
  • Integrasikan dengan Prometheus untuk melihat metrik aplikasi.
  • Pantau beban kerja kontainer yang disebarkan ke mesin AKS lokal dan mesin AKS di Azure Stack.
  • Pantau beban kerja wadah disebarkan ke Azure Red Hat OpenShift.
  • Pantau beban kerja wadah yang disebarkan ke Azure Arc yang mengaktifkan Kubernetes (pratinjau).

Kepatuhan operasi

Patching, tuning, dan ukuran terjadi pada beberapa tingkat yang berbeda dalam lingkungan kontainer. Operator dapat duduk di banyak tim yang berbeda, tergantung pada pendekatan operasi yang Anda inginkan. Untuk menjaga kepatuhan operasi, operator akan memantau penggunaan, mengubah ukuran aset untuk menyeimbangkan performa dan biaya, dan patch sistem yang mendasarinya untuk meminimalkan risiko dan penyimpangan konfigurasi. Organisasi TI pusat cenderung memberikan tugas-tugas ini sebagai bagian dari dasar operasi untuk solusi IaaS dan PaaS.

Dalam lingkungan kluster di Azure, tugas-tugas ini dilakukan di beberapa tingkat: kluster AKS, gambar node, dan OS node. Semua tugas operasi ini menjadi lebih tergantung pada pemahaman dan hubungan kerja beban kerja yang berjalan di kluster atau pada masing-masing kumpulan node. Pernyataan berikut akan membantu mengevaluasi apa dan jika Anda ingin melakukan untuk mengoperasikan lingkungan kontainer Anda.

  • Jika ukuran dan patch kluster AKS, gambar node atau OS node dikirimkan sebagai bagian dari alur penyebaran untuk aplikasi atau bergantung pada arsitektur atau konfigurasi aplikasi, maka yang terbaik adalah mengalihkan kepatuhan operasional ke tim beban kerja untuk kontrol granular. Karena beban kerja sering mengambil ketergantungan pada fitur orkestrasi, ini adalah pola yang paling umum sebagai perubahan versi AKS yang tidak terduga atau perubahan gambar node bisa menjadi bencana bagi beban kerja atau alat runtime.
  • Untuk kluster terpusat yang kurang umum, mendukung portofolio beban kerja dan berbagai aplikasi, tim operasi terpusat mungkin masih bertanggung jawab atas tugas kepatuhan operasional, panduan berikut akan membantu menyampaikan tugas-tugas tersebut di seluruh kluster Anda. Melaksanakan tugas-tugas ini secara berulang menanamkan operasi khusus platform. Ada risiko penting dalam pendekatan operasi pusat, dan pengujian peningkatan yang cermat di lingkungan praproduksi, jelas dan dipatuhi untuk pemeliharaan terjadwal, dan rencana kontingensi untuk beban kerja yang tidak patuh semua harus ada. Satu peningkatan yang buruk dapat menjadi satu titik kegagalan dan juga, satu beban kerja yang tidak dapat ditingkatkan dapat menyebabkan kluster tidak didukung. Rencanakan dan kelola kluster multipenyewa dengan uji tuntas.

Untuk kedua jenis kluster, ikuti panduan tentang peningkatan, gambar node, dan pembaruan OS node yang ditemukan di bawah ini:

Melindungi dan memulihkan

Node AKS bersifat fana, dan dengan demikian tidak didukung dengan cara yang dapat dipulihkan secara individual. Memulihkan dari insiden mungkin melibatkan pemindahan beban kerja ke kumpulan node baru atau kluster baru tergantung pada ruang lingkup insiden.

  • Pilih untuk menambahkan SLA uptime ke kluster Anda.
  • Untuk SLA yang lebih tinggi, Anda mungkin juga ingin mempertimbangkan praktik terbaik BCDR multiwilayah untuk memberikan perlindungan tambahan.
  • Karena kluster tidak boleh mengandung kondisi, pemulihan kondisi eksternal ditangani menggunakan panduan garis besar operasi yang ada. Jika Anda membawa kondisi ke dalam kluster, pastikan Anda mengikuti praktik terbaik operator pada penyimpanan, dan memiliki strategi untuk mencadangkan dan memulihkan data ini untuk beban kerja tertentu. Penggunaan alat seperti Velero adalah contoh operasi khusus platform, yang memperpanjang garis besar operasi Anda.
    • Jika portofolio aplikasi Anda tidak konsisten menerapkan kondisi, tim operasi pusat tidak boleh mencoba mempertahankan kedua solusi tersebut. Sebagai gantinya, standarisasi pada toolchain kondisi yang diinginkan untuk semua kontainer, tetapi alihkan tanggung jawab untuk solusi pemulihan alternatif ke tim operasi beban kerja. Pendekatan ini memungkinkan kebebasan desain bagi pengembang, menjaga biaya pusat lebih rendah, dan memberikan insentif pengurangan biaya bagi tim beban kerja agar sesuai dengan standar.

Operasi beban kerja

Bagian operasi platform di atas menggambarkan percakapan umum saat mengelola kluster AKS. Apakah Kubernetes mengelompokkan platform teknologi yang akan dikelola secara terpusat? Atau apakah mereka alat beban kerja yang harus dikelola oleh tim yang memiliki masing-masing beban kerja? Pertanyaan itu berbeda untuk organisasi yang berbeda. Konstan yang terlihat di sebagian besar organisasi adalah bahwa kontainer dan AKS dirancang untuk memberi tim beban kerja lebih banyak fleksibilitas dalam bagaimana mereka ingin mengoperasikan setiap beban kerja, dan menyediakan fitur khusus untuk beban kerja tersebut untuk digunakan dalam arsitektur mereka untuk menguntungkan pemilik dan pelanggan aplikasi.

Operasi beban kerja dapat dibangun di atas garis besar operasi anda yang ada dan operasi khusus platform. Anda juga dapat mengoperasikan kluster AKS dengan aman menggunakan operasi beban kerja yang sepenuhnya terdesentralisasi. Dalam kedua kasus, ketika Anda perlu meningkatkan operasi untuk fokus pada hasil tertentu untuk beban kerja tertentu, Anda dapat menggunakan Azure Well-Architected Framework dan Microsoft Azure Well-Architected Review untuk mendapatkan spesifik tentang jenis proses operasional dan alat yang digunakan untuk beban kerja Anda.

Langkah selanjutnya: Iterasi migrasi Anda berikutnya

Setelah migrasi platform aplikasi modern selesai, tim adopsi cloud dapat memulai migrasi spesifik skenario Anda berikutnya. Sebagai gantinya, jika ada platform tambahan yang akan dimigrasikan, seri artikel ini dapat digunakan lagi untuk memandu migrasi atau penyebaran platform aplikasi modern Anda berikutnya.