Langkah pertama dalam membangun infrastruktur yang andal untuk workload cloud Anda adalah mengidentifikasi persyaratan keandalan workload. Bagian dari panduan keandalan infrastruktur Google Cloud ini memberikan pedoman untuk membantu Anda menentukan persyaratan keandalan workload yang Anda deploy di Google Cloud.
Menentukan persyaratan untuk workload khusus
Persyaratan keandalan aplikasi bergantung pada sifat layanan yang disediakan aplikasi atau proses yang dijalankannya. Misalnya, aplikasi yang menyediakan layanan ATM untuk bank mungkin memerlukan ketersediaan 99,999%. Situs yang mendukung platform perdagangan online mungkin memerlukan ketersediaan 99,999% dan waktu respons yang cepat. Suatu batch processing yang menulis transaksi perbankan ke buku besar akuntansi di penghujung hari mungkin memiliki target keaktualan data selama delapan jam.
Dalam aplikasi, setiap komponen atau operasi mungkin memiliki persyaratan keandalan yang beragam. Misalnya, aplikasi pemrosesan pesanan mungkin memerlukan keandalan yang lebih tinggi untuk operasi yang menulis data ke database pesanan jika dibandingkan dengan permintaan baca.
Dengan menilai persyaratan keandalan workload secara terperinci, Anda dapat memfokuskan pembelanjaan dan upaya pada workload yang penting bagi bisnis.
Identifikasi periode penting
Terdapat kemungkinan bahwa ada periode saat aplikasi lebih penting bagi bisnis dibandingkan pada waktu lainnya. Periode ini sering kali merupakan waktu ketika aplikasi memiliki beban puncak. Identifikasi periode ini, rencanakan kapasitas yang memadai, dan uji aplikasi dalam kondisi beban puncak. Untuk menghindari risiko gangguan aplikasi selama periode beban puncak, Anda dapat menggunakan praktik operasional yang sesuai seperti membekukan kode produksi.
Berikut adalah contoh aplikasi yang mengalami lonjakan beban musiman:
- Modul inventaris aplikasi akuntansi keuangan biasanya lebih sering digunakan pada hari-hari saat audit inventaris bulanan, triwulanan, atau tahunan dijadwalkan.
- Situs e-commerce akan mengalami lonjakan beban yang signifikan selama puncak musim belanja atau promotional events.
- Database yang mendukung modul penerimaan siswa di universitas akan memiliki volume operasi tulis yang tinggi selama bulan tertentu setiap tahun.
- Layanan pengajuan pajak online akan memiliki beban yang tinggi selama musim pengajuan pajak.
- Platform perdagangan online mungkin memerlukan ketersediaan 99,999% dan waktu respons yang cepat, tetapi hanya selama jam perdagangan berlangsung (misalnya, pukul 08.00 hingga 17.00 dari Senin sampai Jumat).
Pertimbangkan persyaratan non-fungsional lainnya
Selain persyaratan keandalan, aplikasi perusahaan juga memiliki persyaratan non-fungsional penting lainnya untuk keamanan, performa, biaya, dan efisiensi operasional. Saat Anda menilai persyaratan keandalan aplikasi, pertimbangkan dependensi dan komprominya dengan persyaratan lainnya ini.
Berikut adalah contoh persyaratan di luar persyaratan keandalan, tetapi dapat melibatkan kompromi dengan persyaratan keandalan.
- Pengoptimalan biaya: Untuk mengoptimalkan biaya IT, organisasi Anda mungkin menerapkan kuota untuk resource cloud tertentu. Misalnya, untuk mengurangi biaya lisensi software pihak ketiga, organisasi Anda dapat menetapkan kuota untuk jumlah core compute yang dapat disediakan. Kuota serupa akan muncul untuk jumlah data yang dapat disimpan dan volume traffic jaringan lintas region. Pertimbangkan efek batasan biaya ini pada opsi yang tersedia untuk mendesain infrastruktur yang andal.
- Residensi data: Untuk memenuhi persyaratan peraturan, aplikasi Anda mungkin perlu menyimpan dan memproses data di negara tertentu, meskipun bisnis tersebut melayani pengguna secara global. Pertimbangkan batasan residensi data tersebut saat menentukan region dan zona tempat aplikasi Anda dapat di-deploy.
Keputusan desain tertentu yang Anda buat untuk memenuhi persyaratan lain dapat membantu meningkatkan keandalan aplikasi Anda. Berikut ini adalah beberapa contohnya:
- Otomatisasi deployment: Untuk mengoperasikan deployment cloud secara efisien, Anda dapat memutuskan untuk mengotomatiskan alur penyediaan menggunakan infrastruktur sebagai kode (IaC). Demikian pula, Anda dapat mengotomatiskan proses build dan deployment aplikasi menggunakan continuous integration dan deployment berkelanjutan pipeline (CI/CD). Menggunakan IaC dan pipeline CI/CD tidak hanya dapat membantu meningkatkan efisiensi operasional, tetapi juga keandalan workload Anda.
- Kontrol keamanan: Kontrol keamanan yang Anda terapkan juga dapat membantu meningkatkan ketersediaan aplikasi. Misalnya, kebijakan keamanan Google Cloud Armor dapat membantu memastikan aplikasi tetap tersedia selama serangan denial of service (DoS).
- Cache konten: Untuk meningkatkan performa aplikasi penayangan konten, Anda dapat mengaktifkan penyimpanan dalam cache sebagai bagian dari konfigurasi load balancer. Dengan desain ini, pengguna tidak hanya mendapatkan pengalaman akses yang lebih cepat ke konten, tetapi juga ketersediaan konten yang lebih tinggi. Mereka dapat mengakses konten yang di-cache meskipun server asal sedang tidak aktif.
Menilai kembali persyaratan secara berkala
Seiring dengan bisnis Anda yang terus berkembang dan tumbuh, persyaratan aplikasinya mungkin berubah. Nilailah kembali persyaratan keandalan secara berkala, dan pastikan persyaratan tersebut selaras dengan sasaran dan prioritas bisnis organisasi Anda saat ini.
Pertimbangkan aplikasi yang menyediakan tingkat ketersediaan standar untuk semua pengguna. Anda mungkin telah men-deploy aplikasi di dua zona dalam satu region, dengan load balancer regional sebagai frontend. Jika organisasi Anda berencana meluncurkan opsi layanan premium yang memberikan ketersediaan lebih tinggi, maka persyaratan keandalan aplikasi berubah. Untuk memenuhi persyaratan ketersediaan baru, Anda mungkin perlu men-deploy aplikasi ke beberapa region dan menggunakan load balancer global dengan Cloud CDN yang diaktifkan.
Peluang lain untuk menilai kembali persyaratan ketersediaan aplikasi Anda adalah setelah terjadi pemadaman layanan. Pemadaman layanan dapat mengekspos ekspektasi yang tidak sesuai di berbagai tim dalam bisnis Anda. Misalnya, satu tim mungkin menganggap pemadaman layanan selama 45 menit sekali dalam setahun (yaitu, ketersediaan tahunan 99,99%) sebagai hal yang dapat diterima. Namun, tim lain mungkin memperkirakan periode nonaktif maksimum sebesar 4,3 menit per bulan (yaitu, 99,99% ketersediaan bulanan). Bergantung pada cara Anda memutuskan untuk mengubah atau mengklarifikasi persyaratan ketersediaan, hal tersebut harus menyesuaikan arsitektur guna memenuhi persyaratan baru.