Dewacloud blog featured image

Stateless dan Stateful Horizontal Scaling untuk Cloud Environment

Horizontal Scaling adalah proses menambahkan beberapa server ke cluster. Biasanya proses ini digunakan untuk meningkatkan kinerja dan memberikan kemampuan yang tinggi atau High Availability (HA).

Salah satu keuntungan utama dari proses horizontal scaling adalah peningkatan kapasitas secara lebih cepat dan dapat memberikan lebih banyak kebebasan untuk berkembang.

Tapi di saat yang sama, proses horizontal scaling perlu aplikasi yang didesain secara baik agar perubahan dapat tersinkronisasi dengan lancar ke semua server.

Dewacloud adalah platform yang mempermudah proses ekspansi ini agar kamu tak perlu menghabiskan waktu mengatur ulang aplikasi saat proses horizontal scaling.

Nah, berikut ini adalah beberapa spesifikasi umum dan manfaat horizontal scaling yang ditawarkan oleh Dewacloud.

Keuntungan Horizontal Scaling

Horizontal scaling merupakan proses untuk mengubah jumlah nodes dalam satu layer. Dengan fitur ini, kamu akan mendapatkan beberapa keuntungan lebih dari Dewacloud Berikut adalah beberapa fitur scaling yang dapat kamu peroleh dari Dewacloud:

Mode Scaling Yang Dapat Dipilih

Kamu dapat memilih mode scaling untuk node groups saat proses pembuatan environment baru. Kamu juga dapat menyesuaikan pengaturan mode scaling yang telah dibuat sebelumnya melalui topology wizard:

  • Stateless: Membuat node baru secara bersamaan menggunakan base template image.
  • Stateful: Menyalin file system di master container secara berurutan ke nodes baru.

Opsi pertama (stateless) adalah metode yang relatif lebih cepat. Di sisi lain, opsi kedua (stateful) akan secara otomatis menyalin semua konfigurasi custom seperti pengaturan deployment atau SSL Custom.

Aturan Anti-Affinity

Semua container yang sudah ditambahkan dari single layer akan dibuat pada hosts yang berbeda. Hal ini akan memastikan high-availability dan perlindungan terhadap failover.

Asset Blog Dewaweb

Nodes Mass Management

Memiliki beberapa nodes dengan tipe yang sama dalam satu layer memungkinkan kamu untuk mengelolanya secara bersamaan (synchronous management). Oleh karena itu, kamu dapat mengonfigurasi semua container di layer tersebut melalui ikon di bawah ini, seperti :

  • Open in browser
  • Add-ons
  • Restart nodes
  • Config
  • Log
  • Statistics
  • Web SSH
  • Redeploy containers dan Additionally

Asset Blog Dewaweb

Jika diperlukan, kamu dapat menampilkan daftar menu turunan yang lebih lengkap dengan meng-klik masing-masing ikon.

Mengatur Trigger untuk Horizontal Scaling Otomatis

Kamu dapat menerapkan horizontal scaling otomatis menggunakan triggers, yaitu kondisi khusus untuk penambahan nodes (scale out) atau pengurangan nodes (scale in) berdasarkan load atau beban.

Dengan menggunakan analisis rata-rata konsumsi resource, Dewacloud akan memutuskan apakah diperlukan penyesuaian nodes.

Catatan:

  • Statistik dari analisis tersebut dikumpulkan dari semua layer dalam environment. Contoh: kamu memiliki tiga nodes dengan konsumsi resource 20%, 50%, dan 20% — rata – rata yang dihasilkan adalah 30%.
  • Kondisi scale in dan scale out bersifat independen. Artinya, periode yang dianalisis untuk kondisi removal tidak di-reset setelah ada penambahan nodes — begitu pula sebaliknya. Metode ini dapat memberikan analisis beban rata – rata yang lebih cepat untuk periode tersebut.
  • Sebaiknya, kamu memberikan perbedaan terhadap scaling in dan scaling out dalam batas. Untuk menghindari seringnya perubahan topologi.

Untuk melakukan konfigurasi terhadap horizontal scaling otomatis, ikuti langkah – langkahnya berikut ini:

  1. Pilih environment yang kamu inginkan, lalu klik Setting.
     
    Asset Blog Dewaweb
  2. Setelah tab baru muncul, pilih Auto Horizontal Scaling → Add. Daftar horizontal scaling yang pernah kamu buat akan muncul di sebelah kanan.
     
    Asset Blog Dewaweb
  3. Pilih environment yang ingin diubah melalui menu drop-down di bagian pojok kiri (contoh di bawah: Application Servers).  
    pilih application servers, centang add nodes dan remove nodes, klik add
  4. Pilih resource yang ingin diubah (i.e.: CPU, Memory, Network, Disk I/O atau Disk IOPS). Jangan lupa untuk mencentang kolom Add Nodes/Remove Nodes.
  5. Jika semua sudah diatur, pilih Add di bagian bawah untuk membuat trigger baru.
  6. Gunakan menu drop-down di bagian atas grafik (sebelah kanan) untuk melihat konsumsi resource per periode tertentu.  
    statistik durasi
  7. Kamu juga bisa melihat jumlah yang lebih spesifik dengan cara mengarahkan kursornya ke grafik tersebut.
  8. Setiap trigger yang sudah dibuat memiliki dua opsi di sebelah kiri grafik, yaitu Add Nodes dan Remove Nodes. Kedua opsi ini dapat kamu aktifkan dengan cara mencentang pada kolom yang bersangkutan.
     
    Asset Blog Dewaweb
  9. Kedua opsi add nodes dan remove nodes menggunakan parameter dan pengaturan yang sama, yaitu:
    • Saat resource yang digunakan lebih (atau kurang) dari batas atas (atau bawah).
    • For at least – Jumlah waktu konsumsi rata – rata dihitung hingga satu jam dengan interval 5 menit contohnya 1,5,10,15 dll.
    • Scale out (in) to – Jumlah maksimal (atau minimal) nodes untuk layer yang dapat diubah selama proses horizontal scaling.
    • Scale by – Jumlah node yang akan ditambahkan atau dikurangi saat eksekusi.

    Saat kamu mengkonfigurasi trigger, kamu perlu mempertimbangkan scaling mode untuk layer nya. Misalnya, kamu harus menetapkan presentasi loading lebih rendah pada Add Nodes untuk mode stateful.

    Karena kloning konten membutuhkan waktu yang cukup lama, apalagi untuk container yang memiliki banyak data. Sehingga kamu bisa mencapai batas sumber daya sebelum node baru dibuat.

  10. Selanjutnya, kamu juga bisa mendapatkan notif email terkait aktivitas trigger automatic horizontal scaling yang sudah di setting secara default. Namun, apabila dirasa kurang perlu kamu juga bisa menonaktifkannya pada tombol berikut.
     
    Asset Blog Dewaweb
  11. Selain itu, apabila kamu merasa ada yang perlu diubah pada settingan nya. Kembali ke halaman utama dan pilih Edit di sebelah button Add.
  12. Klik Apply untuk menyimpan perubahan atau Undo Changes jika batal mengedit dan Close apabila tidak ada perubahan yang dilakukan.
     
    Asset Blog Dewaweb
  13. Setelah trigger terbuat, kamu bisa melacak aktivitasnya di bagian Auto Horizontal Scaling, lalu pilih History di samping button Settings.
     
    Asset Blog Dewaweb
  14. Selanjutnya, kamu bisa memilih jenis horizontal scaling atau mengatur tanggalnya di bagian Filters setelah itu nanti muncul aktivitasnya di kolom bagian kanan.

Penutup

Bagaimana, sampai sini kamu sudah bisa melakukan konfigurasi trigger untuk horizontal scaling kan?

Jika iya, segera buat dan lacak aktivitasnya, agar kinerja aplikasi lebih baik, dan tidak perlu membayar apabila terdapat sumber daya yang tidak digunakan bersama Dewacloud.