Cara Validasi Keandalan Arsitektur Cloud: Teknik AWS

Cara Validasi Keandalan Arsitektur Cloud: Teknik AWS

Dalam membangun sebuah arsitektur, kita harus membangun yang andal, aman, dan optimal. Agar hal itu tercapai, kita memerlukan suatu acuan atau best practice (praktik terbaik) sebagai referensi dan pembanding untuk arsitektur yang kita bangun. Tanpa adanya best practice tersebut, mungkin saat membuat dan menjalankan aplikasi di cloud, kamu akan sering bertanya-tanya, “Apakah yang saya lakukan ini sudah benar?”. Untuk menjawab pertanyaan ini, AWS telah membuat Well-Architected Framework yang memiliki lima pilar utama untuk dijadikan sebagai fondasi dasar dalam membangun cloud. Salah satu pilar tersebut adalah pilar Reliability sebagai cara validasi keandalan arsitektur cloud.

Tahukah kamu bahwa artikel ini diambil langsung dari salah satu sub-modul pada kelas Architecting on AWS (Membangun Arsitektur Cloud di AWS) yang disusun oleh tim expert Dicoding bersama praktisi industri dan divalidasi oleh tim dari AWS (Amazon Web Services)?

Saat ini, AWS menyediakan kelas berbahasa Indonesia di bidang Back-End Developer dan disediakan secara GRATIS melalui program beasiswa Cloud and Back-End Developer Scholarship Program. Beasiswanya untuk umum, tanpa syarat, dan sepenuhnya gratis. Untuk dapat cukup daftar dan isi formulir pendaftaran singkat di aws.dicoding.com. Setelah daftar, pasti dapat!

Pilar Reliability sebagai cara validasi keandalan arsitektur cloud

Pilar reliability membicarakan tentang kemampuan sebuah sistem untuk pulih dari gangguan, secara dinamis memperoleh dan mengalokasi sumber daya komputasi demi memenuhi permintaan, dan memitigasi gangguan seperti kesalahan konfigurasi atau gangguan lain yang sifatnya temporer.

Tahukah kamu bahwa tidaklah mudah untuk memastikan keandalan sebuah sistem di lingkungan data center tradisional. Masalah bisa saja terjadi dari mana saja, seperti tidak adanya redundancy di sistem kita, tak hadirnya automasi, dan tiadanya elastisitas.

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Dengan mengaplikasikan prinsip-prinsip dari pilar Reliability, kita bisa mencegah munculnya masalah-masalah di atas. Maka dari itu, desainlah arsitektur sistem kamu dengan memperhatikan hal-hal seperti High-Availability, Fault Tolerance, dan Redundancy.

Ada 5 prinsip desain untuk mencapai reliability/keandalan di cloud:

Pemulihan otomatis ketika terjadi kegagalan

Pantaulah beban kerja (workload) kamu agar sesuai dengan KPI (Key Performance Indicator). Kamu dapat men-trigger automasi saat ambang batas terlewati. KPI ini harus menjadi ukuran nilai bisnis, bukan aspek teknis pengoperasian layanan. Ini memungkinkan kamu mendapatkan pemberitahuan secara otomatis dan melacak kegagalan untuk proses pemulihan otomatis serta perbaikan kegagalan. Bahkan dengan automasi yang lebih canggih, kamu dapat mengantisipasi dan memulihkan kegagalan sebelum terjadi.

Uji prosedur pemulihan

Di lingkungan on-premise, pengujian sering dilakukan untuk membuktikan beban kerja berfungsi dalam skenario tertentu. Dan biasanya, pengujian tidak digunakan untuk memvalidasi strategi pemulihan. Sedangkan di cloud, kamu dapat menguji bagaimana kegagalan bisa terjadi pada beban kerja serta memvalidasi prosedur pemulihan yang kamu buat. Kamu juga dapat menggunakan automasi untuk mensimulasikan berbagai kegagalan atau membuat ulang skenario yang menyebabkan kegagalan sebelumnya. Pendekatan ini memperlihatkan alur kegagalan yang dapat kamu uji dan perbaiki sebelum skenario kegagalan sesungguhnya terjadi sehingga dapat mengurangi risiko.

Lakukan horizontal scaling untuk meningkatkan ketersediaan beban kerja

Gantilah satu sumber daya besar dengan beberapa sumber daya kecil guna mengurangi dampak kegagalan tunggal pada keseluruhan beban kerja. Distribusikan permintaan di beberapa sumber daya yang lebih kecil untuk memastikan permintaan tersebut tidak memiliki titik kegagalan yang sama.

Berhenti memperkirakan kebutuhan kapasitas

Penyebab umum terjadinya kegagalan dalam beban kerja di on-premise adalah resource saturation (kejenuhan sumber daya), yakni saat permintaan yang ditempatkan pada beban kerja melebihi kapasitas beban kerja tersebut (ini sering kali menjadi tujuan serangan denial of service alias DoS). Di cloud, kamu dapat memantau permintaan dan pemanfaatan beban kerja, serta mengotomatiskan penambahan atau penghapusan resource. Dengan begitu, kamu dapat mempertahankan tingkat optimal guna memenuhi permintaan tanpa kelebihan atau kekurangan penyediaan. Meski masih ada batasan, tetapi beberapa kuota dapat dikontrol dan dikelola.

Kelola perubahan menggunakan automasi

Perubahan pada infrastruktur kamu harus dilakukan menggunakan automasi. Perubahan yang perlu dikelola termasuk perubahan otomatisasi yang nantinya dapat dilacak dan ditinjau.

 

Untuk petunjuk implementasi secara lebih mendetail, kamu bisa menemukannya di whitepaper untuk pilar Reliability di tautan berikut ini Reliability Pillar – AWS Well-Architected Framework.

Pilar yang dibahas di artikel ini hanya merupakan salah satu dari lima pilar AWS Well-Architected Framework berikut:

  1. Operational Excellence
  2. Security
  3. Reliability
  4. Performance Efficiency
  5. Cost Optimization

Pembahasan mendalam mengenai kelima pilar tersebut merupakan bagian dari alur belajar (learning path) Back-End Developer yang disusun bersama Amazon Web Services beserta pelaku industri lainnya. Jika kamu butuh beasiswa untuk mendapatkan akses ke learning path tersebut, silakan daftar di program Cloud and Back-End Developer Scholarship.

Cara Validasi Keandalan Arsitektur Cloud: Teknik AWS – end 

Baca juga artikel pilihan berikut ini :

  1.  Cloud and Back-End Developer Scholarship Telah Dibuka.
  2.  Dasar Komputasi Cloud di AWS untuk Developer Pemula
  3.  Apa itu komputasi cloud? Penjelasan dari AWS

Dibuka Pendaftaran Cloud and Back-End Developer Scholarship Program untuk 100.000 peserta umum


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.