Vertical Scaling adalah metode untuk meningkatkan performa sebuah sistem dengan menambah atau meningkatkan resource pada satu mesin tunggal. Dalam konteks web hosting, vertical scaling bisa merujuk pada meningkatkan kapasitas server dengan menambah CPU (Central Processing Unit), RAM (Random Access Memory), atau Storage pada server yang sama. Biasanya, penggunaan vertical scaling dilakukan ketika suatu server tidak lagi dapat menangani jumlah traffic atau beban kerja yang semakin meningkat.
1. Kelebihan Vertical Scaling
Vertical Scaling memiliki beberapa kelebihan:
- Penambahan resource pada satu server menjamin bahwa aplikasi dan data tetap berada di satu tempat sehingga memudahkan manajemen dan pemeliharaan server.
- Vertical Scaling biasanya lebih mudah untuk diimplementasikan daripada horizontal scaling (menambah server), karena tidak memerlukan perubahan arsitektur atau konfigurasi sistem yang rumit.
- Vertical Scaling juga dapat dilakukan ketika ada puncak traffic yang tinggi dalam suatu periode waktu, seperti saat penjualan atau event khusus.
2. Batasan Vertical Scaling
Meskipun Vertical Scaling memiliki beberapa kelebihan, metode ini juga memiliki batasan-batasan tertentu:
- Ada batasan fisik pada sumber daya yang dapat ditambahkan atau ditingkatkan pada satu server. Sebagai contoh, dalam server satu prosesor, Anda hanya dapat meningkatkan core prosesor hingga batas tertentu.
- Vertical Scaling juga memiliki biaya yang relatif lebih tinggi, karena Anda harus membeli komponen perangkat keras baru untuk meningkatkan kapasitas server.
- Ada juga risiko single point of failure, dimana jika server mengalami kerusakan, seluruh aplikasi dan data yang ada pada server tersebut akan menjadi tidak tersedia.
3. Kontrol Kapasitas Servers
Sebelum melakukan vertical scaling, penting untuk memahami kapasitas servers yang sudah ada dan batasan-batasannya. Hal ini dapat dilakukan dengan melakukan monitoring terhadap performa server, termasuk penggunaan CPU, RAM, dan storage. Dengan memahami penggunaan resource saat ini, Anda dapat menentukan kapan perlu melakukan vertical scaling untuk memastikan performa optimal pada server.
4. CPU Scaling
Salah satu cara untuk melakukan vertical scaling adalah dengan menambah atau meningkatkan kapasitas CPU pada server. CPU adalah otak dari sebuah server yang bertanggung jawab untuk menjalankan instruksi dan perhitungan. Dalam konteks vertical scaling, CPU scaling dapat dilakukan dengan meningkatkan clock speed atau menambah jumlah core pada CPU.
Sebagai contoh, jika server saat ini memiliki CPU quad-core dengan clock speed 2.4 GHz, Anda dapat melakukan upgrade ke CPU octa-core dengan clock speed 3.0 GHz untuk meningkatkan kapasitas CPU.
5. RAM Scaling
RAM atau Random Access Memory merupakan bagian penting dalam performa server. RAM digunakan untuk menyimpan data yang sedang aktif digunakan oleh CPU atau aplikasi. Dalam proses vertical scaling, Anda dapat meningkatkan kapasitas RAM pada server untuk memungkinkan server menangani beban kerja yang lebih besar.
Seperti contoh, jika server saat ini memiliki 8 GB RAM dan sering mengalami kekurangan memory saat digunakan dalam situasi traffic yang tinggi, Anda dapat meningkatkan RAM hingga 16 GB untuk meningkatkan kapasitas server.
6. Storage Scaling
Vertical Scaling juga dapat dilakukan melalui peningkatan kapasitas penyimpanan pada server. Peningkatan storage ini memungkinkan server untuk menyimpan lebih banyak data atau file yang akan digunakan oleh aplikasi.
Misalnya, jika server saat ini memiliki storage sebesar 500 GB dan hampir mencapai kapasitas maksimal, Anda dapat menggunakan hard drive baru dengan kapasitas 1 TB untuk meningkatkan kapasitas penyimpanan server.
7. Konfigurasi Server Setelah Vertical Scaling
Setelah melakukan vertical scaling, sangat penting untuk mengkonfigurasi server agar dapat menggunakan sumber daya tambahan dengan optimal. Hal ini dapat dilakukan dengan mengoptimalkan pengaturan sistem operasi, database, web server, atau aplikasi yang berjalan pada server.
Perlu juga diperhatikan bahwa peningkatan kapasitas CPU, RAM, atau Storage pada server dapat mempengaruhi konfigurasi server dan mungkin memerlukan penyesuaian tertentu.