Prinsip dalam pilar keunggulan operasional di Google Cloud Framework yang Dirancang dengan Baik ini membantu Anda memastikan kesiapan operasional dan performa workload cloud Anda. Hal ini menekankan pentingnya menetapkan ekspektasi dan komitmen yang jelas untuk performa layanan, menerapkan pemantauan dan pemberitahuan yang andal, melakukan pengujian performa, dan merencanakan kebutuhan kapasitas secara proaktif.
Ringkasan prinsip
Organisasi yang berbeda mungkin menafsirkan kesiapan operasional secara berbeda. Kesiapan operasional adalah cara organisasi Anda bersiap untuk berhasil mengoperasikan workload di Google Cloud. Mempersiapkan pengoperasian workload cloud yang kompleks dan berlapis-lapis memerlukan perencanaan yang cermat untuk peluncuran dan operasi day-2. Operasi ini sering disebut CloudOps.
Area fokus kesiapan operasional
Kesiapan operasional terdiri dari empat area fokus. Setiap area fokus terdiri dari serangkaian aktivitas dan komponen yang diperlukan untuk bersiap mengoperasikan aplikasi atau lingkungan yang kompleks di Google Cloud. Tabel berikut mencantumkan komponen dan aktivitas setiap area fokus:
| Area fokus kesiapan operasional | Aktivitas dan komponen |
|---|---|
| Tenaga Kerja |
|
| Proses |
|
| Alat | Alat yang diperlukan untuk mendukung proses CloudOps. |
| Tata kelola |
|
Rekomendasi
Untuk memastikan kesiapan dan performa operasional menggunakan CloudOps, pertimbangkan rekomendasi di bagian berikut. Setiap rekomendasi dalam dokumen ini relevan dengan satu atau beberapa area fokus kesiapan operasional.
Menentukan SLO dan SLA
Tanggung jawab utama tim operasi cloud adalah menentukan tujuan tingkat layanan (SLO) dan perjanjian tingkat layanan (SLA) untuk semua beban kerja penting. Rekomendasi ini relevan dengan area fokus tata kelola kesiapan operasional.
Menentukan SLO:
SLO harus spesifik, terukur, dapat dicapai, relevan, dan terikat waktu (SMART), serta harus mencerminkan tingkat layanan dan performa yang Anda inginkan.
- Spesifik: Mengartikulasikan dengan jelas tingkat layanan dan performa yang diperlukan.
- Terukur: Dapat diukur dan dilacak.
- Dapat dicapai: Dapat dicapai dalam batas kemampuan dan sumber daya organisasi Anda.
- Relevan: Selaras dengan sasaran dan prioritas bisnis.
- Terikat waktu: Memiliki jangka waktu yang ditentukan untuk pengukuran dan evaluasi.
Misalnya, SLO untuk aplikasi web mungkin adalah "ketersediaan 99,9%" atau "waktu respons rata-rata kurang dari 200 md". SLO tersebut dengan jelas menentukan tingkat layanan dan performa yang diperlukan untuk aplikasi web, dan SLO dapat diukur dan dilacak dari waktu ke waktu.
Menentukan SLA:
SLA menguraikan komitmen kepada pelanggan terkait ketersediaan layanan, performa, dan dukungan, termasuk penalti atau solusi untuk ketidakpatuhan. SLA harus mencakup detail spesifik tentang layanan yang diberikan, tingkat layanan yang dapat diharapkan, tanggung jawab penyedia layanan dan pelanggan, serta penalti atau solusi untuk ketidakpatuhan. SLA berfungsi sebagai perjanjian kontraktual antara kedua belah pihak, memastikan bahwa keduanya memiliki pemahaman yang jelas tentang ekspektasi dan kewajiban yang terkait dengan layanan cloud.
Melacak SLO:
Gunakan Cloud Monitoring dan indikator tingkat layanan (SLI) untuk melacak SLO. Cloud Monitoring menyediakan kemampuan pemantauan dan observabilitas yang komprehensif yang memungkinkan organisasi Anda mengumpulkan dan menganalisis metrik yang terkait dengan ketersediaan, performa, dan latensi aplikasi serta layanan berbasis cloud. SLI adalah metrik spesifik yang dapat Anda gunakan untuk mengukur dan melacak SLO dari waktu ke waktu. Dengan memanfaatkan alat ini, Anda dapat memantau dan mengelola layanan cloud secara efektif, serta memastikan bahwa layanan tersebut memenuhi SLO dan SLA.
Menentukan, mengomunikasikan, dan melacak SLO dan SLA untuk semua layanan cloud penting Anda dengan jelas akan membantu memastikan keandalan dan performa aplikasi serta layanan yang di-deploy.
Menerapkan kemampuan observasi yang komprehensif
Untuk mendapatkan visibilitas real-time ke kondisi dan performa lingkungan cloud Anda, sebaiknya gunakan kombinasi alat Google Cloud Observability dan solusi pihak ketiga. Rekomendasi ini relevan dengan proses dan alat area fokus kesiapan operasional.
Menerapkan kombinasi solusi observabilitas memberi Anda strategi observabilitas yang komprehensif yang mencakup berbagai aspek infrastruktur dan aplikasi cloud Anda. Google Cloud Observability adalah platform terpadu untuk mengumpulkan, menganalisis, dan memvisualisasikan metrik, log, dan rekaman aktivitas dari berbagai Google Cloud layanan, aplikasi, dan sumber eksternal. Dengan menggunakan Cloud Monitoring, Anda dapat memperoleh insight tentang pemanfaatan resource, karakteristik performa, dan kondisi keseluruhan resource Anda.
Untuk memastikan pemantauan yang komprehensif, pantau metrik penting yang sesuai dengan indikator kesehatan sistem seperti pemakaian CPU, penggunaan memori, traffic jaringan, I/O disk, dan waktu respons aplikasi. Anda juga harus mempertimbangkan metrik khusus bisnis. Dengan melacak metrik ini, Anda dapat mengidentifikasi potensi bottleneck, masalah performa, dan keterbatasan resource. Selain itu, Anda dapat mengatur pemberitahuan untuk memberi tahu tim terkait secara proaktif jika ada potensi masalah atau anomali.
Untuk meningkatkan kemampuan pemantauan lebih lanjut, Anda dapat mengintegrasikan solusi pihak ketiga dengan Google Cloud Observability. Solusi ini dapat memberikan fungsi tambahan, seperti analisis lanjutan, deteksi anomali yang didukung machine learning, dan kemampuan pengelolaan insiden. Kombinasi alat Google Cloud Observability dan solusi pihak ketiga ini memungkinkan Anda membuat ekosistem pemantauan yang andal dan dapat disesuaikan dengan kebutuhan spesifik Anda. Dengan menggunakan pendekatan kombinasi ini, Anda dapat secara proaktif mengidentifikasi dan mengatasi masalah, mengoptimalkan pemanfaatan resource, serta memastikan keandalan dan ketersediaan aplikasi dan layanan cloud Anda secara keseluruhan.
Menerapkan pengujian performa dan beban
Melakukan pengujian performa secara rutin membantu Anda memastikan bahwa aplikasi dan infrastruktur berbasis cloud Anda dapat menangani beban puncak dan mempertahankan performa yang optimal. Uji beban menyimulasikan pola traffic yang realistis. Pengujian stress mendorong sistem hingga batasnya untuk mengidentifikasi potensi bottleneck dan keterbatasan performa. Rekomendasi ini relevan dengan proses dan alat area fokus kesiapan operasional.
Uji performa: Gunakan Cloud Load Balancing dan layanan pengujian beban untuk menyimulasikan pola traffic dunia nyata dan melakukan stress test pada aplikasi Anda. Alat ini memberikan insight berharga tentang perilaku sistem Anda dalam berbagai kondisi beban, dan dapat membantu Anda mengidentifikasi area yang perlu dioptimalkan.
Mengoptimalkan performa: Berdasarkan hasil pengujian performa, Anda dapat membuat keputusan untuk mengoptimalkan infrastruktur cloud dan aplikasi demi performa dan skalabilitas yang optimal. Pengoptimalan ini mungkin melibatkan penyesuaian alokasi resource, penyesuaian konfigurasi, atau penerapan mekanisme caching.
Misalnya, jika Anda mendapati aplikasi mengalami perlambatan selama periode traffic tinggi, Anda mungkin perlu menambah jumlah mesin virtual atau penampung yang dialokasikan untuk aplikasi. Atau, Anda mungkin perlu menyesuaikan konfigurasi server web atau database untuk meningkatkan performa.
Dengan melakukan pengujian performa secara rutin dan menerapkan pengoptimalan yang diperlukan, Anda dapat memastikan aplikasi dan infrastruktur berbasis cloud Anda selalu berjalan dengan performa puncak, serta memberikan pengalaman yang lancar dan responsif bagi pengguna Anda. Dengan demikian, Anda dapat mempertahankan keunggulan kompetitif dan membangun kepercayaan dengan pelanggan.
Merencanakan dan mengelola kapasitas
Agar sistem cloud Anda tetap berjalan dan menskalakan sebagai respons terhadap perubahan permintaan, Anda perlu merencanakan dan mengelola kapasitas resource cloud secara aktif. Rekomendasi ini mendukung proses dan alat area fokus kesiapan operasional.
Pertimbangkan batas layanan dan kelola kuota resource: Untuk merencanakan kapasitas resource cloud Anda, mulailah dengan batas ketat (batasan tetap) untuk layanan yang akan Anda gunakan.
- Perkirakan persyaratan kuota untuk komputasi, penyimpanan, batas API, dan resource lain yang Anda butuhkan. Minta penyesuaian kuota yang sesuai sebelum Anda memerlukan resource.
- Muat metrik dari Cloud Monitoring ke BigQuery, dan gunakan metrik untuk mengidentifikasi pola traffic dan melacak beban sistem dari waktu ke waktu.
- Perkirakan permintaan resource berdasarkan kampanye pemasaran mendatang, pendaftaran pengguna, dan peluncuran fitur. Pertimbangkan juga komitmen SLA Anda saat ini dan yang direncanakan.
Desain untuk fleksibilitas dan efisiensi: Saat Anda merencanakan kapasitas untuk deployment cloud, pisahkan komponen aplikasi dari jenis mesin tertentu. Saat menyematkan workload ke satu jenis mesin, Anda tidak dapat memanfaatkan hardware cloud yang lebih baru atau perubahan kapasitas regional.
- Untuk beban kerja yang memerlukan hardware khusus, seperti instance dengan memori tinggi atau GPU, pastikan Anda dapat memperoleh resource saat diperlukan. Gunakan pemesanan untuk masa mendatang untuk mendapatkan jaminan kapasitas untuk jenis mesin penting hingga satu tahun sebelumnya.
- Untuk workload pemrosesan batch atau pelatihan model yang dapat mentoleransi waktu mulai yang bervariasi, jadwalkan kapasitas secara dinamis menggunakan VM dengan waktu mulai fleksibel. VM ini menggunakan Dynamic Workload Scheduling (DWS) untuk mengantrekan permintaan dan mengurangi biaya komputasi.
- Hindari mencadangkan resource atau family mesin yang lebih lama untuk lingkungan pengembangan sementara.
- Rencanakan resource di region sekunder agar Anda dapat melakukan failover secara efisien untuk disaster recovery (DR).
Menerapkan penskalaan otomatis: Untuk menyesuaikan resource cloud Anda secara dinamis dengan fluktuasi workload real-time, terapkan kebijakan penskalaan otomatis. Algoritma penskalaan otomatis mengevaluasi metrik seperti pemakaian CPU, tekanan memori, dan kedalaman antrean. Berdasarkan evaluasi, resource akan di-scale out selama periode traffic puncak dan di-scale in selama periode pemanfaatan rendah, yang membantu mengoptimalkan biaya resource cloud Anda.
- Konfigurasi grup instance terkelola (MIG) dengan template instance campuran yang menggabungkan jenis mesin generasi saat ini dan yang lebih baru.
- Pastikan konfigurasi MIG Anda mencakup fleksibilitas instance (menentukan beberapa jenis mesin yang kompatibel) dan fleksibilitas lokasi (menyebarkan target di beberapa zona dalam satu region). Bergantung pada persyaratan kapasitas saat ini, sistem Anda secara otomatis menyediakan jenis mesin pilihan berikutnya dari daftar penggantian tanpa membatalkan permintaan atau membatasi resource komputasi.
Terus pantau dan optimalkan
Untuk mengelola dan mengoptimalkan workload cloud, Anda harus membuat proses untuk memantau dan menganalisis metrik performa secara berkelanjutan. Rekomendasi ini relevan dengan proses dan alat area fokus kesiapan operasional.
Melacak dan mengumpulkan data:
Untuk membuat proses pemantauan dan analisis berkelanjutan, Anda perlu melacak, mengumpulkan, dan mengevaluasi data yang terkait dengan berbagai aspek lingkungan cloud Anda. Dengan menggunakan data ini, Anda dapat secara proaktif mengidentifikasi area yang perlu ditingkatkan, mengoptimalkan pemanfaatan resource, dan memastikan bahwa infrastruktur cloud Anda secara konsisten memenuhi atau melampaui ekspektasi performa Anda.
Meninjau log dan rekaman aktivitas:
Log memberikan insight berharga tentang peristiwa sistem, error, dan peringatan. Trace memberikan informasi mendetail tentang alur permintaan melalui aplikasi Anda. Dengan menganalisis log dan rekaman aktivitas, Anda dapat mengidentifikasi potensi masalah, mengidentifikasi akar penyebab masalah, dan lebih memahami perilaku aplikasi Anda dalam berbagai kondisi. Metrik seperti waktu pulang pergi antar-layanan dapat membantu Anda mengidentifikasi dan memahami hambatan yang ada dalam beban kerja Anda.
Menyesuaikan untuk performa:
Gunakan teknik penyesuaian performa untuk mengoptimalkan waktu respons aplikasi dan efisiensi secara keseluruhan secara signifikan. Berikut adalah contoh teknik yang dapat Anda gunakan:
- Penyimpanan dalam cache: Simpan data yang sering diakses dalam memori untuk mengurangi kebutuhan akan kueri database atau panggilan API yang berulang.
- Pengoptimalan database: Gunakan teknik seperti pengindeksan dan pengoptimalan kueri untuk meningkatkan performa operasi database.
- Pembuatan profil kode: Mengidentifikasi area kode yang menggunakan resource secara berlebihan atau menyebabkan masalah performa.