Skip to content
Jagoan Cloud Docs
  • Solutions
    • Server Ujian Online
    • Scalable WordPress
  • Products
    • Jagoan Cloud PaaS
      • Pricing
    • Cloud Backup
    • VPS Windows
    • Business Mail
    • SSL Certificate
  • Login App
Popular Search settingsshphpdockerdomain

Rapor Digital Madrasah

  • Cara Instalasi RDM

Panduan Dasar

  • Cara Memasang SSL di Jagoan Cloud
  • Mengubah domain Jagoan Cloud ke Domain Sendiri
  • Cara Menambahkan IP Public

Moodle

  • Cara Login ke Server Moodle di Jagoan Cloud
  • Cara Login ke Aplikasi Moodle di Jagoan Cloud
  • Cara Menggunakan Domain Pribadi untuk Aplikasi Moodle

Quick Start

  • Getting Started
  • Dashboard Guide
  • Welcome Tutorial
  • Software Stack Versions

Platform Overview

  • What is Platform-as-a-Service
  • Concept and Terminology
  • What are System Containers
  • What are Application Containers
  • Isolated Containers
  • What is Auto-Clustering
  • Cloudlet

Containers

  • Container Types
  • Container Image Requirements
  • Connect to Custom Container
  • Custom Container SSH Access
  • Private Registry Inside PaaS
  • Building Custom Containers

Environment Management

  • HTTP Headers
  • Clone Environment

Application Settings

  • Configuration File Manager
  • Managing Timezone Settings

Development Tools

  • FTP/FTPS Support

Account and Pricing

  • Account Registration
  • Account Types
  • Account Statuses
  • Account Password Reset
  • Quotas System
  • Two Factor Authentication
  • Personal Access Token
  • Upgrade and Refill Account
  • Pricing Model Overview

Architecture Overview

  • Cluster Overview
  • Cluster Orchestrator

Container Deployment

  • Certified Containers Deployment
  • Custom Containers Deployment
  • Docker Engine Deployment

Container Redeploy

  • Redeploy Overview
  • Preserve Data

Container Configuration

  • Configuration Tools
  • Container Environment Variables
  • Container Linking
  • Container Volumes
  • Container Ports
  • Container Run Configuration

Environment Variables

  • Java Options and Arguments
  • Default Environment Variables
  • Custom Environment Variables

Environment Groups

  • Overview
  • Group Creation
  • Navigation Between Groups
  • Group Management
  • Environment Isolations

Scaling and Clustering

  • Automatic Vertical Scaling
  • Horizontal Scaling
  • Automatic Horizontal Scaling
  • Data Synchronization
  • File Synchronization in Cluster
  • Auto-Clustering of Instances

Built-In Monitoring

  • Log Files
  • Statistics
  • Load Alerts

SSH

  • Generate SSH Key
  • Add SSH Key
  • SSH Access

Resource Charging

  • Pricing FAQ
  • Charged Resources
  • Monitoring Consumed Resource

Kubernetes

  • GitLab CI/CD Integration
  • Cluster Automated Upgrade
  • Public IP for Access to Kubernetes
  • Traefik v2 Ingress Controller

Kubernetes Cluster

  • Kubernetes Overview
  • System Requirements
  • Cluster Installation
  • Cluster Versions

Managing Kubernetes

  • Cluster Access
  • Access Controll
  • Cluster Troubleshooting
  • Cluster Upgrade
  • Velero Backup

Kubernetes Scalability

  • Vertical Scalling
  • Horizontal Scalling

Application Deployment

  • Helm Integration
  • YAML Deployments
  • Internal Networking
  • Exposing Services
  • Creating Ingresses

Persistent Data

  • Volume Provisioner
  • Persistent Volume Claim
  • Custom Storage

Domain Name Management

  • Swap Domain
  • Multiple Domain for PHP
  • Container DNS Hostnames

External Access to Applications

  • Shared Load Balancer
  • Public IP
  • Container Firewall
  • Endpoints

Traffic Distributor

  • Traffic Distributor Overview
  • Routing Methods
  • Traffic Distributor Installation
  • Traffic Distributor Integration
  • Use Case

SSL

  • Secure Socket Layer
  • Built-In SSL
  • Custom SSL
  • Custom SSL via SLB

Scheduling Configuration

  • Setting Up Cronjob
View Categories
  • Docs
  • Panduan Penggunaan Layanan & Platform Jagoan Cloud
  • Jagoan Cloud PaaS
  • Panduan Dasar
  • Application Settings
  • Scaling and Clustering
  • Automatic Horizontal Scaling

Automatic Horizontal Scaling

4 min read

Automatic Horizontal Scaling #

Selain fitur automatic vertical scaling bawaan, platform ini dapat secara otomatis melakukan scaling node secara horizontal, mengubah jumlah kontainer dalam sebuah layer (nodeGroup) berdasarkan load yang masuk. Dengan ini, semua instance dalam lapisan yang sama didistribusikan secara merata di seluruh perangkat keras yang tersedia (host) menggunakan aturan anti-affinity. Yakni, ketika container baru dibuat, container tersebut ditempatkan di host dengan jumlah instance paling sedikit dari layer yang sama dan nilai load terendah, yang memastikan keandalan dan ketersediaan tinggi dari proyek yang di-host.

Automatic horizontal scaling diimplementasikan dengan bantuan trigger yang dapat disesuaikan, yang merupakan kondisi khusus untuk penambahan node (scale out) dan penghapusan (scale in) berdasarkan beban. Setiap menit, platform ini menganalisis konsumsi rata-rata resource (untuk jumlah menit yang ditentukan dalam trigger) untuk memutuskan apakah penyesuaian jumlah node diperlukan.

Di sini, statistik dikumpulkan untuk seluruh lapisan, jadi jika ada tiga node, yang masing-masing dimuat 20%, 50%, dan 20%, nilai rata-rata yang dihitung adalah 30%. Selain itu, kondisi scale in dan scale out bersifat independen, yaitu periode yang dianalisis untuk satu tidak diatur ulang ketika periode yang lain dieksekusi.

Di bawah ini, kami akan informasikan cara untuk :

  • Mengatur trigger untuk auto scaling
  • Melihat riwayat dari eksekusi trigger

Triggers for Automatic Scaling #

Untuk mengkonfigurasi trigger untuk horizontal scaling otomatis, ikuti langkah-langkah di bawah ini : 


📝 NOTE

Ketika satu certified application server (bukan container Docker custom) di-scale out pada environment tanpa load balancer, maka load balancer NGINX akan ditambahkan secara otomatis. Dengan ini, jika Kamu memerlukan yang berbeda untuk aplikasimu, maka harus ditambahkan secara manual sebelum proses scaling pertama.

 

1. Klik tombol Settings (Pengaturan) untuk environment yang diinginkan.

2. Pada tab yang terbuka, navigasikan ke bagian Monitoring > Auto Horizontal Scaling, di mana Kamu bisa melihat daftar trigger auto scaling yang dikonfigurasikan untuk environment-nya (jika ada).

Gunakan tombol pada tools panel untuk mengelola auto horizontal scaling untuk environment :

  • Add – membuat pemicu baru
  • Edit – menyesuaikan pemicu yang ada
  • Remove – menghapus pemicu yang tidak diperlukan
  • Refresh – memperbarui daftar pemicu penskalaan yang ditampilkan

Klik Add untuk melanjutkan.

3. Pilih lapisan environment yang diperlukan dari daftar drop-down dan pilih jenis resource yang akan dipantau melalui salah satu tab yang sesuai (CPU, Memory, Netwok, Disk I/O, Disk IOPS).


💡 TIP

  • Node awal (master) dapat digunakan sebagai server storage untuk berbagi data di seluruh lapisan, termasuk node yang ditambahkan melalui automatic horizontal scaling
  • Batas CPU dan Memory dihitung berdasarkan jumlah cloudlet yang dialokasikan (unit platform resource khusus, yang mewakili 400 MHz CPU dan 128 MiB RAM secara simultan)

4. Grafik di sebelah kanan menunjukkan statistik konsumsi resource yang dipilih. Kamu bisa memilih periode yang diperlukan untuk data yang ditampilkan (hingga satu minggu) dengan menggunakan daftar tarik-turun yang sesuai. Di sini, jika diperlukan, Kamu bisa mengaktifkan/menonaktifkan fungsi Auto Refresh (Penyegaran Otomatis) statistik.

Selain itu, Kamu juga bisa mengarahkan kursor ke grafik untuk melihat jumlah resource yang digunakan pada saat tertentu. Gunakan informasi ini untuk mengatur kondisi yang tepat untuk trigger Kamu.

5. Setiap trigger memiliki kondisi Add dan Remove Nodes, yang dapat diaktifkan dengan check-box yang sesuai tepat sebelum judul.

Keduanya dikonfigurasikan dengan cara yang sama:

  • When loading is more (less) than – batas atas (bawah) dalam persentase untuk load rata-rata (yaitu mengeksekusi pemicu jika terlampaui)

💡 TIP

  • Nilai yang diperlukan dapat dinyatakan melalui slider yang sesuai pada grafik
  • Nilai 100% secara otomatis menonaktifkan trigger Add Nodes, dan 0% – Remove Nodes
  • Perbedaan minimum yang diperbolehkan antara kondisi Add dan Remove Nodes adalah 20%
  • Unit Mbps dapat dipilih untuk trigger Network, bukan persentase,
  • Kami sarankan untuk mengatur load rata-rata untuk trigger Add Nodes di atas ambang batas 50% untuk menghindari scaling yang tidak perlu (misal, sumber daya/dana yang terbuang)
  • For at least – jumlah menit konsumsi rata-rata dihitung (hingga satu jam dengan langkah 5 menit, yaitu 1, 5, 10, 15, dll.)
  • Scale out (in) to – jumlah maksimum (minimum) node untuk layer, yang dapat dikonfigurasikan karena penskalaan horizontal otomatis
  • Scale by – jumlah node yang akan ditambahkan/dihapus pada satu waktu pada saat eksekusi pemicu

Saat mengkonfigurasi trigger, kami sarankan untuk mempertimbangkan scaling mode layer. Misalnya, Kamu harus menetapkan persen loading yang lebih rendah di trigger Add Nodes untuk mode stateful, karena kloning konten membutuhkan waktu (terutama untuk container dengan banyak data) dan Kamu dapat mencapai batas resource sebelum node baru dibuat.

6. Secara otomatis, Kamu akan mendapat email setiap kali pemicu auto horizontal scaling aktif. Jika tidak diinginkan, Kamu bisa mematikannya lewat pengaturan Send Email Notifications.

7. Di bagian bawah form, akan ada tombol-tombol berikut ini:

  • Undo Changes – kembali ke kondisi sebelumnya (hanya untuk pengeditan)
  • Close – keluar dari dialog tanpa perubahan
  • Apply (Add) – mengonfirmasi perubahan untuk pemicu

Pilih opsi yang diperlukan untuk menyelesaikan pembuatan trigger (penyesuaian).

Triggers Execution History #

Kamu bisa melihat riwayat eksekusi trigger scaling untuk environment tertentu.

Pada contoh di bawah ini, kami akan menerapkan high load selama 5 menit (lihat statistik penggunaan RAM pada gambar di bawah) pada server aplikasi dengan konfigurasi trigger sebagai berikut :

  • Tambahkan node saat load RAM rata-rata lebih dari 65% selama setidaknya 5 menit
  • Hapus node saat load RAM rata-rata kurang dari 20% selama setidaknya 10 menit

Sekarang, mari kita perhatikan cara kerja auto horizontal scaling :

1. Buka bagian Settings > Monitoring > Events History dan pilih opsi Horizontal Scaling di dalam daftar drop-down Type.

Selain itu, Kamu bisa menyesuaikan periode untuk menampilkan aktivitas trigger melalui kolom From dan To yang sesuai.

2. Berikut ini rincian yang disediakan dalam daftar :

  • Tanggal dan waktu (date and time) eksekusi pemicu
  • Tindakan (action) yang dilakukan (Tambah atau Hapus Node)
  • Jenis node yang telah diterapkan pada scaling
  • Info tentang kondisi eksekusi dari trigger

Selain itu, dengan mengarahkan kursor ke record tertentu, Kamu juga dapat memeriksa Loading Value (penggunaan sumber daya saat eksekusi) dan Node Count (jumlah node yang dihasilkan).

Trigger untuk Add dan Remove Node bersifat independen, sehingga kondisi penghapusan (load rata-rata kurang dari 20% selama setidaknya 10 menit) tidak direset dan terus memeriksa bahkan setelah penambahan node baru. Pendekatan seperti ini memberikan deteksi yang lebih cepat dari beban rata-rata yang cukup selama interval yang ditentukan. Disarankan untuk menetapkan perbedaan yang signifikan antara batas scaling out dan scaling in untuk menghindari perubahan topologi yang sering terjadi.

Selesai! Dengan cara seperti itu, Kamu bisa mengkonfigurasi serangkaian trigger yang dapat disesuaikan untuk memastikan kinerja aplikasi Kamu dan melacak aktivitas auto horizontal scaling secara langsung melalui dashboard.

What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on June 24, 2025
Sequential ManagementData Synchronization

Powered by BetterDocs

Daftar Isi
  • Automatic Horizontal Scaling
  • Triggers for Automatic Scaling
  • Triggers Execution History
© 2022 Jagoan Cloud