Ketahanan Cloud-Native

Petunjuk / Saran

Konten ini adalah kutipan dari eBook, Merancang Aplikasi .NET Cloud Native untuk Azure, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.

aplikasi .NET Cloud Native untuk gambar mini sampul Azure eBook.

Ketahanan adalah kemampuan sistem Anda untuk bereaksi terhadap kegagalan dan masih tetap berfungsi. Ini bukan tentang menghindari kegagalan, tetapi menerima kegagalan dan membangun layanan cloud-native Anda untuk menanggapinya. Anda ingin kembali ke status yang berfungsi sepenuhnya secepat mungkin.

Tidak seperti aplikasi monolitik tradisional, di mana semuanya berjalan bersama-sama dalam satu proses, sistem cloud-native merangkul arsitektur terdistribusi seperti yang ditunjukkan pada Gambar 6-1:

Lingkungan cloud-native terdistribusi

Gambar 6-1. Lingkungan cloud-native terdistribusi

Pada gambar sebelumnya, setiap layanan mikro dan layanan pendukung berbasis cloud dijalankan dalam proses terpisah, di seluruh infrastruktur server, berkomunikasi melalui panggilan berbasis jaringan.

Beroperasi di lingkungan ini, layanan harus sensitif terhadap banyak tantangan yang berbeda:

  • Latensi jaringan yang tidak terduga - waktu permintaan layanan untuk melakukan perjalanan ke penerima dan kembali.

  • Kesalahan sementara - kesalahan konektivitas jaringan berumur pendek.

  • Penyumbatan oleh operasi yang berjalan sinkron dalam waktu lama.

  • Proses host yang telah mengalami kerusakan dan sedang di-restart atau dipindahkan.

  • Layanan mikro yang kelebihan beban yang tidak dapat merespons untuk waktu yang singkat.

  • Operasi orkestrator dalam penerbangan seperti peningkatan bergulir atau memindahkan layanan dari satu simpul ke simpul lain.

  • Kegagalan perangkat keras.

Platform cloud dapat mendeteksi dan mengurangi banyak masalah infrastruktur ini. Ini dapat memulai ulang, meningkatkan skala, dan bahkan mendistribusikan kembali layanan Anda ke node yang berbeda. Namun, untuk memanfaatkan sepenuhnya perlindungan bawaan ini, Anda harus merancang layanan Anda untuk bereaksi terhadapnya dan berkembang di lingkungan dinamis ini.

Di bagian berikut, kita akan mengeksplorasi teknik defensif yang dapat dimanfaat oleh layanan dan sumber daya cloud terkelola Anda untuk meminimalkan waktu henti dan gangguan.