Horizontal Scaling inside the Cloud: Multi Nodes
Dengan platform ini, hosting aplikasi Anda menjadi benar-benar fleksibel. Selain automatic vertical scaling, platform ini juga memungkinkan Anda untuk menambah/mengurangi jumlah server di lingkungan Anda secara manual atau otomatis.
Proses scaling manual cukup sederhana - buka wizard environment topology dan gunakan tombol “+” dan “-” yang sesuai atau ketik jumlah yang diinginkan di panel tengah. Anda juga dapat menggunakan slider yang secara otomatis muncul saat melakukan penyesuaian.
Anda dapat mengotomatisasi horizontal scaling berdasarkan beban masuk dengan bantuan tunable triggers. Anda dapat menggunakan node awal (master) dari layer sebagai storage server untuk berbagi data dalam seluruh layer. Dalam kasus pengurangan skala (mis. mengurangi jumlah node), container terakhir yang ditambahkan ke layer adalah yang pertama dihapus (kecuali dipilih secara eksplisit).
Selanjutnya, Anda dapat memilih mode scaling yang diperlukan dari daftar drop-down yang sesuai. Untuk detail lebih lanjut, lihat bagian horizontal scaling specifics di bawah ini.
Scaling Modes
Mulai dari versi platform 5.5, mode scaling yang diinginkan dapat dipilih untuk lingkungan baru selama pembuatan, serta disesuaikan untuk yang sudah ada melalui topology wizard:
- Stateless - membuat semua node baru secara bersamaan dari template image dasar
- Stateful - secara berurutan menyalin sistem file dari container master ke node baru
Opsi pertama relatif lebih cepat, sementara yang kedua secara otomatis menyalin semua konfigurasi khusus. Dalam pembuatan layer awal, semua node dibuat secara bersamaan untuk mempercepat proses (bahkan untuk mode stateful, karena tidak ada kustomisasi yang diterapkan).
Saat menggunakan mode stateless, perhatikan bahwa fitur berikut tidak ada di node baru dalam layer:
- deployments - konteks proyek yang ada tidak akan dipindahkan
- custom SSL - sertifikat SSL dan konfigurasi tidak akan disalin
- mount points - mounts kustom hanya akan dipindahkan jika volume yang sesuai dikonfigurasi
- add-ons - add-ons yang diinstal di layer tidak akan tersedia
Transfer file kustom untuk mode stateless dapat dilakukan secara manual atau dikonfigurasi melalui otomatisasi Cloud Scripting (mis. menggunakan event onBefore dan onAfterScaleOut).
Berdasarkan keunikan ini, platform merekomendasikan (dan menerapkan secara default) mode stateful untuk stack load balancer, application server, dan VPS. Jika diperlukan, Anda dapat mengubah mode scaling untuk node kapan saja melalui topology wizard.
Horizontal Scaling Specifics
Jumlah maksimum server tipe yang sama dalam satu layer environment tergantung pada pengaturan penyedia hosting tertentu (biasanya batas ini untuk 16 node). Anda dapat memeriksa nilai pastinya dalam Quotas & Pricing > Account Limits.
Semua server yang baru ditambahkan dibuat di node hardware yang berbeda, memberikan keandalan dan ketersediaan tinggi.
Setiap grup node environment (layer) diberikan nama yang didedikasikan, 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 tipe yang sama dalam satu layer memungkinkan pengelolaan sinkron mereka. Dengan demikian, semua container dapat secara bersamaan dikonfigurasi, diperiksa untuk log dan statistik, di-restart atau di-redeploy melalui ikon yang sesuai.
Untuk mengoperasikan container tertentu secara terpisah, perluas string layer untuk melihat daftar lengkap nodenya. Masing-masing container ini adalah instance terisolasi yang memiliki Node ID unik dan dapat diakses/dikonfigurasi secara terpisah dari yang lain. Node master layer dapat dengan mudah ditemukan karena ikon khusus.
Untuk memfasilitasi interaksi dengan banyak server dari tipe yang sama, platform juga memungkinkan menandai node tertentu dengan label yang sesuai, misalnya untuk mendefinisikan instance master dan slave dalam cluster DB.
Cukup klik dua kali pada nilai Node ID: xxx default (atau arahkan kursor ke atasnya untuk menampilkan ikon pensil khusus) dan tentukan nama alternatif yang diinginkan.
Informasi lebih lanjut tentang fitur labeling ini dapat ditemukan di dokumen Environment Aliases.
Saat menskalakan berbagai jenis stack, pertimbangkan spesifikasi berikut:
- saat menskalakan instance application server, node load balancer akan secara otomatis ditambahkan ke topology environment
- jika mengaktifkan opsi high-availability untuk application server, load balancer NGINX yang diperlukan tidak dapat diskalakan secara horizontal (jika beberapa node NGINX tersedia sebelumnya, mereka akan secara otomatis dikurangi menjadi satu instance)
- saat menskalakan node VPS, masing-masing diberikan alamat public IP terpisah yang dilampirkan
- Maven adalah satu-satunya node yang tidak dapat diskalakan secara horizontal (karena tidak ada gunanya dalam operasi semacam itu)
Sekarang Anda tahu betapa mudahnya menskalakan instance secara horizontal di platform dan memahami spesifikasinya. Juga, jangan ragu untuk mengonfigurasi automatic nodes scaling untuk dengan mulus mengatasi lonjakan beban tinggi tanpa membayar lebih untuk sumber daya yang tidak terpakai.
Managing Nodes within Layer
Platform menyediakan pengelolaan node yang sederhana, di mana Anda hanya perlu menentukan jumlah container yang diperlukan dalam satu layer. Proses penghapusan dilakukan dalam urutan yang berlawanan dengan penambahan - yaitu container yang paling baru ditambahkan dihapus pertama. Jika Anda perlu menghapus node tertentu, Anda dapat memilih yang diinginkan melalui:
- bagian Horizontal Scaling di topology wizard - dapat diakses menggunakan tombol Change Environment Topology di sebelah environment yang diperlukan
-
formulir Scaling Nodes khusus di dashboard - dapat diakses menggunakan opsi Additionally > Scaling Nodes di sebelah layer atau Additionally > Delete di sebelah node tertentu
Dalam jendela Scaling Nodes, Anda dapat melakukan tindakan berikut:
- Tambahkan node baru ke layer, menggunakan tombol + atau Add New Node.
Jika opsi high availability diaktifkan untuk layer (tersedia hanya untuk Tomcat dan TomEE application server), node ditambahkan dan dihapus dalam pasangan. Ikon node baru mewakili mode scaling dari layer - container kosong untuk stateless dan penuh untuk stateful.
- Hapus instance dengan tombol - dan Delete (saat mengarahkan kursor ke node tertentu).
Node pertama dalam daftar disebut sebagai “master” dari layer (disorot dengan ikon khusus) dan hanya dapat dihapus bersama dengan seluruh layer. Anda dapat Undo Deletion dari node yang ada selama konfigurasi. Namun, setelah menerapkan perubahan, instance akan dihapus secara permanen.
- Di bagian bawah frame, terdapat redirect ke bagian Automatic Horizontal Scaling.
Jika ada penyesuaian yang dilakukan dalam formulir, Anda harus mengonfirmasi redirect melalui pop-up (karena perubahan yang tidak disimpan akan dibuang).
- Saat menerapkan perubahan, platform secara otomatis memberi tahu Anda tentang semua tindakan yang mungkin berbahaya yang akan dilakukan pada environment Anda (jika ada). Daftarnya mencakup:
- pemberitahuan restart node
- pengingat penghapusan layer dan node terpisah
- dampak pada mount NFS yang ada
Sebelum melanjutkan, pastikan bahwa poin yang terdaftar tidak akan mempengaruhi aplikasi Anda, dan data penting (dari node yang dihapus) telah dicadangkan dengan aman.