Horizontal Scaling
Horizontal Scaling inside the Cloud: Multi Nodes #
Pada platform ini, hosting aplikasi Kamu menjadi sangat fleksibel. Selain adanya automatic vertical scaling, pada platform ini juga memungkinkan Kamu untuk menambah/mengurangi jumlah server di environment-mu secara manual atau otomatis.
Proses scaling manual cukup sederhana – buka Environment Topology Wizard dan gunakan tombol “+” dan “-” yang sesuai atau ketik nomor yang diperlukan di panel tengah. Selain itu, Kamu juga bisa menggunakan slider, yang secara otomatis muncul setelah melakukan penyesuaian.
💡 TIP
- Kamu bisa mengotomatiskan horizontal scaling berdasarkan load yang masuk dengan bantuan trigger yang dapat disetting
- Kamu bisa menggunakan node awal (master) lapisan sebagai server penyimpanan Anda untuk berbagi data di seluruh layer
- Jika terjadi scaling in (mengurangi jumlah node), maka container terakhir yang ditambahkan ke layer adalah container yang pertama kali dihapus (kecuali jika dipilih secara langsung)
Selanjutnya, Kamu bisa memilih scaling mode yang diperlukan dari drop-down list yang sesuai. Selain itu, untuk detail tambahan, bacalah bagian horizontal scaling specifics di bawah ini.
Scaling Modes #
Sejak versi platform 5.5, mode scaling yang diinginkan bisa dipilih untuk environment baru selama pembuatan, serta disesuaikan dengan yang sudah ada melalui environment topologi wizard :
- Stateless – secara bersamaan membuat semua node baru dari base image template
- Stateful – secara berurutan menyalin sistem file dari master container ke dalam node baru
Opsi pertama relatif lebih cepat, sedangkan opsi kedua secara otomatis menyalin semua konfigurasi custom yang sudah diset. Di sini, selama pembuatan layer awal, semua node dibuat secara bersamaan untuk mempercepat proses (bahkan untuk mode stateful, karena belum ada penyesuaian yang diterapkan).
Saat menggunakan stateless mode, perhatikan ketidakhadiran fitur-fitur berikut ini pada node baru di dalam layer:
- Deployments – project context yang sudah ada tidak akan ditransfer
- Custom SSL – sertifikat dan konfigurasi SSL tidak akan disalin
- Mount points – mount custom akan dipindahkan hanya jika volume yang sesuai dikonfigurasi
- Add-ons – add-on apa pun yang diinstal pada layer tidak akan tersedia
💡 TIP
Transfer custome file untuk stateless mode bisa dilakukan secara manual atau dikonfigurasikan melalui otomasi Cloud Scripting (misalnya menggunakan onBefore- dan onAfterScaleOut events).
Berdasarkan keunikan ini, platform merekomendasikan (dan menerapkan secara default) stateful scaling mode untuk load balancer, application server, dan VPS stack. Jika diperlukan, Kamu bisa secara manual menentukan ulang scaling mode untuk node-mu kapan saja melalui environment topology wizard.
Horizontal Scaling Specifics #
Jumlah maksimum server bertipe sama dalam satu lapisan environment bergantung pada pengaturan penyedia hosting tertentu (biasanya batas ini adalah 16 node). Anda dapat memeriksa nilai pastinya di dalam bagian informasi Quotas & Pricing > Account Limits.
Semua server baru ditempatkan pada node fisik yang berbeda untuk menjamin keandalan dan high availability sistem.
Setiap environment node group (layer) disediakan dengan nama khusus, yang jika diperlukan, dapat disesuaikan secara manual. Jika ada beberapa instance di dalamnya, nama layer akan dilengkapi dengan label xN (di mana N adalah jumlah node yang sebenarnya).
Memiliki beberapa node dengan tipe yang sama dalam satu layer memungkinkan manajemen yang sinkron. Dengan demikian, semua container dapat dikonfigurasi secara bersamaan, diperiksa log dan statistiknya, direstart atau dideploy ulang melalui ikon yang sesuai.
Untuk mengoperasikan container tertentu secara terpisah, perluas string layer untuk melihat daftar lengkap node-nya. Setiap container ini merupakan instance yang terisolasi, yang memiliki Node ID unik dan dapat diakses/dikonfigurasi secara terpisah dari yang lain. Dengan ini, node master layer dapat dengan mudah ditemukan karena adanya ikon khusus.
Untuk memfasilitasi interaksi dengan banyak server dengan tipe yang sama, platform ini juga memungkinkan penandaan node tertentu dengan label yang sesuai, misalnya untuk mendefinisikan instance master dan slave dalam DataBase cluster.
Cukup double-click pada default Node ID: xxx (atau arahkan kursor ke atasnya untuk menampilkan ikon pensil khusus) dan tentukan nama alternatif yang diinginkan.
Informasi lebih lanjut tentang fitur pelabelan ini dapat ditemukan di dokumen Environment Aliases.
Saat melakukan scaling berbagai jenis stack, pertimbangkan hal-hal spesifik berikut ini:
- Saat melakukan scaling pada instance server aplikasi, node load balancer akan secara otomatis ditambahkan ke topologi environment
- Jika mengaktifkan opsi high-availability untuk server aplikasi, load balancer NGINX yang diwajibkan tidak bisa ditingkatkan secara horizontal (jika beberapa node NGINX telah tersedia sebelumnya, mereka akan secara otomatis diturunkan menjadi satu instance)
- Pada saat scaling node VPS, masing-masing disediakan dengan alamat IP yang terpisah
- Maven adalah satu-satunya node, yang tidak dapat ditingkatkan secara horizontal (karena tidak ada gunanya dalam operasi tersebut)
Sekarang Kamu sudah tahu betapa mudahnya melakukan horizontal scaling di platform ini, dan juga sudah memahami cara kerjanya. Selain itu, jangan ragu untuk mengkonfigurasi scaling node otomatis untuk mengatasi lonjakan load yang tinggi dengan lancar tanpa membayar lebih untuk resource yang tidak terpakai.
Managing Nodes within Layer #
Platform ini menyediakan manajemen node yang sederhana, di mana Kamu hanya perlu menentukan jumlah container yang diperlukan dalam satu layer. Di sini, proses penghapusan dilakukan dengan urutan yang berlawanan dengan penambahan – yaitu container terbaru yang dihapus terlebih dahulu. Jika Kamu perlu menghapus beberapa node tertentu, Kamu bisa memilih node yang diperlukan melalui :
- Bagian Horizontal Scaling di topology wizard – dapat diakses dengan menggunakan tombol Change Environment Topology di sebelah lingkungan yang diperlukan
- Formulir khusus Scaling Nodes di dalam dashboard dapat diakses melalui menu Additionally > Scaling Nodes di sebelah layer, atau Additionally > Delete di sebelah node tertentu
Di jendela Scaling Nodes, Kamu bisa melakukan beberapa aksi berikut:
1. Menambahkan node baru ke layer, dengan menggunakan tombol + atau Add New Node.
💡 TIP
- Jika opsi high availability diaktifkan untuk layer (hanya tersedia untuk server aplikasi Tomcat dan TomEE), maka node akan ditambahkan dan dihapus secara berpasangan.
- Ikon new node mewakili mode scaling layer – container kosong untuk stateless dan container terisi untuk stateful.
2. Hapus instance dengan tombol – dan Delete (saat mengarahkan kursor ke simpul tertentu).
💡 TIP
- Node pertama dalam list merupakan “master” dari layer (dihighlight dengan ikon khusus) dan hanya dapat dihapus bersama dengan seluruh layer.
- Kamu bisa Membatalkan Penghapusan (Undo Deletion) node yang ada selama konfigurasi. Namun, setelah perubahan diterapkan, instance akan dihapus secara permanen.
3. Di bagian bawah tampilan, Kamu akan menemukan tautan menuju bagian Automatic Horizontal Scaling.
Jika ada penyesuaian yang dilakukan pada form, Kamu harus mengkonfirmasi pengalihan melalui pop-up (karena perubahan yang belum disimpan akan dibuang).
4. Ketika Kamu menerapkan perubahan, platform akan secara otomatis memberi peringatan jika ada tindakan yang berpotensi merugikan environment-mu. Peringatan ini bisa mencakup :
- Node yang akan direstart
- Penghapusan layer atau node tertentu
- Pengaruh terhadap NFS mount yang sudah ada
Sebelum memprosesnya, pastikan bahwa poin-poin yang tercantum tidak akan mempengaruhi aplikasi Kamu, dan semua data penting (dari node yang dihapus) telah dicadangkan dengan aman.
Powered by BetterDocs