Tech
Perbedaan Shared Hosting Dan Vps Yang Wajib Diketahui
Memilih shared hosting atau VPS bukan sekadar soal harga. Keputusan ini akan memengaruhi performa website, keamanan, fleksibilitas konfigurasi, cara deployment, hingga seberapa besar kontrol teknis yang Anda miliki atas server. Untuk blog kecil, company profile, atau website portofolio, shared hosting sering terasa cukup. Namun untuk aplikasi web, toko online, sistem internal, atau website dengan trafik yang mulai serius, VPS hosting bisa menjadi pilihan yang lebih masuk akal.
Shared hosting adalah layanan hosting di mana banyak website berbagi resource server yang sama, sedangkan VPS atau Virtual Private Server memberikan lingkungan server virtual yang lebih terisolasi, dengan resource dan kontrol yang lebih mandiri.
Perbedaan paling penting ada pada isolasi resource, akses server, skalabilitas, dan tanggung jawab teknis. Pada shared hosting, pengguna lain di server yang sama dapat ikut memengaruhi performa jika terjadi lonjakan trafik atau penggunaan resource berlebihan. Pada VPS, environment lebih terpisah sehingga aktivitas “tetangga server” tidak langsung menyentuh website Anda seperti pada shared hosting.
Apa Itu Shared Hosting?

Shared hosting adalah jenis hosting di mana satu server fisik digunakan bersama oleh banyak pengguna. Setiap pengguna mendapat ruang untuk menyimpan file website, database, email, dan konfigurasi dasar melalui panel seperti cPanel, DirectAdmin, atau panel buatan provider.
Model ini populer karena mudah digunakan dan murah. Anda biasanya tidak perlu mengatur sistem operasi, web server, firewall, atau update package secara manual karena sebagian besar dikelola oleh penyedia hosting.
Karakteristik Shared Hosting
-
Resource dibagi bersama dengan banyak website lain.
-
Pengelolaan mudah melalui control panel.
-
Harga lebih terjangkau untuk pemula.
-
Akses server terbatas, biasanya tanpa root access.
-
Cocok untuk website ringan seperti blog, portofolio, landing page, dan company profile.
Contoh Struktur Shared Hosting
Pada shared hosting, struktur direktori biasanya terlihat seperti ini:
/home/username/
├── public_html/
│ ├── index.php
│ ├── wp-config.php
│ └── assets/
├── mail/
├── logs/
└── tmp/
Folder public_html adalah direktori utama tempat file website diletakkan. Jika Anda memakai WordPress, file seperti wp-config.php, wp-content, dan index.php akan berada di dalam folder tersebut.
Apa Itu VPS?
![]()
VPS adalah server virtual yang berjalan di atas server fisik menggunakan teknologi virtualisasi. Meskipun beberapa VPS tetap berada pada satu mesin fisik, setiap VPS memiliki environment sendiri yang lebih terisolasi.
Dengan VPS, Anda biasanya mendapat akses root atau administrator. Artinya, Anda bisa mengatur sistem operasi, web server, database, firewall, runtime aplikasi, hingga proses deployment sesuai kebutuhan.
Karakteristik VPS
-
Resource lebih terisolasi dibanding shared hosting.
-
Akses root untuk konfigurasi server penuh.
-
Bebas memilih stack, misalnya Nginx, Apache, Node.js, PostgreSQL, Redis, Docker, atau Laravel queue worker.
-
Performa lebih stabil untuk aplikasi yang membutuhkan kontrol resource.
-
Butuh kemampuan teknis dalam administrasi server.
Contoh Struktur Server VPS
Pada VPS Linux, struktur aplikasi bisa dibuat lebih fleksibel:
/var/www/
├── example.com/
│ ├── current/
│ ├── releases/
│ └── shared/
├── api.example.com/
└── staging.example.com/
/etc/nginx/sites-available/
├── example.com
└── api.example.com
Struktur ini umum dipakai untuk deployment aplikasi modern karena memisahkan konfigurasi server, aplikasi, log, dan release.
Perbedaan Shared Hosting dan VPS Secara Singkat

Kriteria | Shared Hosting | VPS |
|---|---|---|
Resource server | Dibagi dengan banyak pengguna | Lebih terisolasi per server virtual |
Kontrol teknis | Terbatas pada panel hosting | Akses root penuh |
Kemudahan penggunaan | Sangat mudah untuk pemula | Butuh kemampuan server |
Performa | Cukup untuk website ringan | Lebih stabil untuk beban lebih tinggi |
Keamanan | Bergantung pada konfigurasi provider | Bisa dikontrol lebih detail |
Skalabilitas | Terbatas pada paket hosting | Lebih fleksibel upgrade resource |
Biaya | Lebih murah | Lebih mahal, terutama jika managed |
Cocok untuk | Blog, portofolio, company profile | Aplikasi web, e-commerce, API, SaaS |
Prasyarat Sebelum Memilih Shared Hosting atau VPS
Sebelum masuk ke langkah teknis, Anda perlu memahami kebutuhan website. Ini penting karena banyak kesalahan memilih hosting terjadi bukan karena layanan buruk, tetapi karena kebutuhannya tidak cocok.
Prasyarat Teknis
Pastikan Anda sudah mengetahui:
-
Jenis website: WordPress, Laravel, Node.js, static site, e-commerce, atau custom app.
-
Estimasi trafik: pengunjung harian, concurrent users, dan lonjakan musiman.
-
Kebutuhan database: MySQL, PostgreSQL, MariaDB, atau lainnya.
-
Kebutuhan akses server: apakah perlu root, SSH, cron job khusus, queue worker, atau Docker.
-
Kemampuan teknis tim: apakah ada orang yang mampu mengelola Linux server.
Prasyarat Tools untuk Tutorial
Jika Anda ingin mengikuti bagian praktik VPS, siapkan:
-
Domain aktif, misalnya
example.com. -
VPS dengan Ubuntu 22.04 atau 24.04.
-
Akses SSH.
-
Terminal lokal.
-
Basic command line Linux.
-
Aplikasi contoh, misalnya file HTML statis atau aplikasi PHP sederhana.
Cek versi SSH di komputer lokal:
ssh -V
Expected output:
OpenSSH_9.x, OpenSSL 3.x
Jika output muncul, komputer Anda siap digunakan untuk koneksi SSH ke VPS.
Langkah 1: Identifikasi Kebutuhan Website
Langkah pertama adalah menentukan apakah website Anda membutuhkan kemudahan shared hosting atau fleksibilitas VPS. Ini penting karena shared hosting dan VPS menyelesaikan masalah yang berbeda.
Checklist Kebutuhan
Gunakan checklist berikut:
Pertanyaan | Jika Jawaban Ya | Rekomendasi Awal |
|---|---|---|
Website hanya company profile atau blog kecil? | Ya | Shared hosting |
Menggunakan WordPress standar tanpa custom server? | Ya | Shared hosting |
Perlu akses root atau install service khusus? | Ya | VPS |
Perlu Node.js, Redis, queue worker, atau WebSocket? | Ya | VPS |
Trafik mulai tinggi dan sering lambat? | Ya | VPS |
Tidak punya kemampuan teknis server? | Ya | Shared hosting atau managed VPS |
Mengapa Langkah Ini Penting?
Tanpa analisis kebutuhan, Anda bisa membayar fitur yang tidak dipakai atau justru memilih layanan yang terlalu terbatas. Shared hosting unggul untuk kesederhanaan, sedangkan VPS unggul untuk kontrol dan isolasi.
Langkah 2: Ukur Beban Website Saat Ini
Sebelum migrasi atau memilih paket baru, ukur beban website. Data sederhana seperti ukuran halaman, jumlah request, dan waktu respons bisa memberi gambaran apakah shared hosting masih cukup.
Cek Response Time dengan curl
Jalankan perintah berikut:
curl -o /dev/null -s -w "DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com
Expected output:
DNS: 0.024s
Connect: 0.088s
TTFB: 0.421s
Total: 0.763s
Cara Membaca Output
-
DNS: waktu pencarian domain.
-
Connect: waktu koneksi ke server.
-
TTFB: waktu sampai server mulai mengirim respons.
-
Total: total waktu request selesai.
Jika TTFB sering di atas 1-2 detik pada halaman sederhana, ada kemungkinan server lambat, query database berat, cache tidak optimal, atau resource hosting terbatas.
Mengapa Langkah Ini Penting?
Performa buruk tidak selalu berarti Anda harus pindah ke VPS. Kadang masalahnya ada pada plugin, gambar besar, query database, atau tidak adanya cache. Mengukur lebih dulu membantu Anda mengambil keputusan berbasis data.
Langkah 3: Pahami Batasan Shared Hosting
Shared hosting cocok untuk banyak kebutuhan, tetapi memiliki batas yang harus dipahami sejak awal. Karena resource digunakan bersama, performa bisa fluktuatif jika server penuh atau ada pengguna lain yang memakai resource berlebihan.
Batasan Umum Shared Hosting
-
Tidak selalu mendapat root access.
-
Tidak bebas mengubah konfigurasi Apache, Nginx, PHP-FPM, atau MySQL.
-
Ada batas CPU, RAM, inode, I/O, dan concurrent process.
-
Tidak ideal untuk aplikasi real-time seperti WebSocket.
-
Tidak cocok untuk background worker jangka panjang.
-
Instalasi service khusus seperti Redis atau Elasticsearch sering tidak diperbolehkan.
Contoh Error Umum di Shared Hosting
508 Resource Limit Is Reached
Error ini biasanya muncul ketika akun hosting melewati batas CPU, RAM, atau proses yang ditentukan provider.
Contoh lain:
500 Internal Server Error
Error ini bisa terjadi karena file .htaccess salah, versi PHP tidak cocok, permission keliru, atau script melebihi batas resource.
Troubleshooting Shared Hosting
Masalah | Penyebab Umum | Solusi |
|---|---|---|
Website lambat | Plugin berat, server penuh, cache tidak aktif | Aktifkan cache, kurangi plugin, optimasi gambar |
Error 508 | Resource limit tercapai | Upgrade paket atau pindah ke VPS |
Error 500 |
| Cek error log di panel |
Upload gagal | Batas | Ubah versi PHP/config jika panel mendukung |
Cron tidak jalan | Limitasi provider | Gunakan cron panel atau external scheduler |
Langkah 4: Pahami Kelebihan VPS
![]()
VPS memberi kontrol lebih besar atas environment. Dalam banyak perbandingan shared hosting vs VPS, poin paling penting adalah VPS menyediakan isolasi yang lebih kuat sehingga aktivitas pengguna lain tidak berdampak langsung seperti pada shared hosting.
Kelebihan Utama VPS
-
Environment lebih terisolasi untuk performa lebih konsisten.
-
Akses root untuk konfigurasi penuh.
-
Bisa memilih web server seperti Nginx atau Apache.
-
Bisa menjalankan service tambahan seperti Redis, Supervisor, Docker, atau Elasticsearch.
-
Lebih cocok untuk aplikasi custom dan e-commerce yang membutuhkan stabilitas.
-
Skalabilitas lebih fleksibel, misalnya upgrade CPU, RAM, atau storage.
Kekurangan VPS
-
Butuh pengetahuan administrasi Linux.
-
Anda bertanggung jawab atas update, firewall, hardening, dan monitoring.
-
Kesalahan konfigurasi bisa menyebabkan downtime.
-
Biaya bisa lebih tinggi, terutama jika memilih managed VPS.
-
Backup harus dirancang dengan serius.
Mengapa VPS Bukan Selalu Pilihan Terbaik?
VPS memberi kebebasan, tetapi kebebasan berarti tanggung jawab. Jika Anda hanya menjalankan blog kecil dan tidak ingin mengelola server, shared hosting yang stabil sering lebih efisien.
Langkah 5: Setup VPS Dasar untuk Website Statis
Bagian ini menunjukkan tutorial sederhana menyiapkan VPS dengan Nginx. Tujuannya bukan menggantikan dokumentasi provider, tetapi memberi gambaran nyata tentang kontrol yang Anda dapatkan di VPS.
5.1 Login ke VPS via SSH
![]()
ssh root@SERVER_IP
Expected output saat pertama kali login:
The authenticity of host 'SERVER_IP' can't be established.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Ketik:
yes
Jika berhasil, Anda akan masuk ke shell server:
root@vps:~#
Mengapa Langkah Ini Penting?
SSH adalah pintu utama untuk mengelola VPS. Berbeda dari shared hosting yang banyak memakai panel, VPS sering dikelola langsung dari terminal.
5.2 Update Package Server
apt update && apt upgrade -y
Expected output ringkas:
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
Update penting karena server baru bisa saja memiliki package yang belum diperbarui. Ini membantu mengurangi risiko keamanan dari package lama.
5.3 Buat User Non-Root
adduser deploy
usermod -aG sudo deploy
Expected output:
Adding user `deploy' ...
Adding new group `deploy' ...
Adding new user `deploy' ...
Setelah itu login sebagai user baru:
su - deploy
Mengapa Langkah Ini Penting?
Menggunakan root untuk semua aktivitas berisiko. User non-root dengan akses sudo memberi lapisan keamanan tambahan.
Langkah 6: Install Nginx di VPS
Nginx adalah web server populer untuk melayani website statis, reverse proxy, dan aplikasi backend.
Install Nginx
sudo apt install nginx -y
Expected output:
Setting up nginx ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service
Cek status Nginx:
systemctl status nginx
Expected output:
Active: active (running)
Jika status aktif, web server sudah berjalan.
Mengapa Langkah Ini Penting?
Pada shared hosting, web server sudah disediakan. Pada VPS, Anda sendiri yang menentukan dan mengelola web server, sehingga proses instalasi ini menjadi bagian inti dari operasional.
Langkah 7: Konfigurasi Firewall VPS
![]()
Firewall membantu membatasi akses ke server. Minimal, izinkan SSH, HTTP, dan HTTPS.
Aktifkan UFW
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Expected output:
Firewall is active and enabled on system startup
Cek status:
sudo ufw status
Expected output:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
Mengapa Langkah Ini Penting?
VPS yang terbuka tanpa firewall lebih rentan terhadap scanning otomatis, brute force, dan akses tidak perlu. Firewall dasar adalah salah satu perbedaan tanggung jawab besar antara VPS dan shared hosting.
Langkah 8: Deploy Website Sederhana di VPS
Buat direktori website:
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
Buat file HTML:
nano /var/www/example.com/html/index.html
Isi file:
<!doctype html>
<html lang="id">
<head>
<meta charset="utf-8">
<title>Website VPS Pertama</title>
</head>
<body>
<h1>Website berjalan di VPS</h1>
<p>Server ini dikonfigurasi dengan Nginx.</p>
</body>
</html>
Buat Server Block Nginx
sudo nano /etc/nginx/sites-available/example.com
Isi konfigurasi:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Aktifkan konfigurasi:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Expected output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mengapa Langkah Ini Penting?
Server block menentukan domain mana yang dilayani, folder mana yang menjadi root website, dan bagaimana request diproses. Di shared hosting, hal seperti ini biasanya disembunyikan di balik panel.
Langkah 9: Arahkan Domain ke VPS
Agar domain mengarah ke VPS, ubah DNS di registrar atau DNS manager.
Record | Name | Value | TTL |
|---|---|---|---|
A |
|
| 300 atau default |
A |
|
| 300 atau default |
Cek propagasi DNS dari terminal:
dig example.com +short
Expected output:
203.0.113.10
Jika IP yang muncul adalah IP VPS Anda, domain sudah mengarah dengan benar.
Mengapa Langkah Ini Penting?
Hosting tidak akan bisa diakses melalui domain jika DNS belum diarahkan. Pada shared hosting, provider biasanya memberi nameserver. Pada VPS, Anda sering mengatur A record secara manual.
Langkah 10: Aktifkan HTTPS dengan Certbot

HTTPS wajib untuk keamanan, SEO, dan kepercayaan pengguna. Pada VPS, Anda bisa memasang SSL gratis menggunakan Let’s Encrypt.
Install Certbot
sudo apt install certbot python3-certbot-nginx -y
Aktifkan SSL:
sudo certbot --nginx -d example.com -d www.example.com
Expected output:
Successfully received certificate.
Congratulations! You have successfully enabled HTTPS.
Tes auto-renewal:
sudo certbot renew --dry-run
Expected output:
The dry run was successful.
Mengapa Langkah Ini Penting?
Di shared hosting, SSL sering bisa diaktifkan dari panel. Di VPS, Anda bertanggung jawab memastikan sertifikat terpasang dan diperpanjang otomatis.
Common Errors Saat Setup VPS
1. SSH Connection Refused
Error:
ssh: connect to host SERVER_IP port 22: Connection refused
Kemungkinan penyebab:
-
SSH service belum berjalan.
-
Port SSH diubah.
-
Firewall memblokir port 22.
-
IP VPS salah.
Solusi:
sudo systemctl status ssh
sudo ufw status
Jika SSH mati:
sudo systemctl restart ssh
2. Nginx Configuration Test Failed
Error:
nginx: [emerg] unexpected "}" in /etc/nginx/sites-enabled/example.com:9
Penyebabnya biasanya kurung kurawal berlebih atau struktur konfigurasi salah.
Solusi:
sudo nginx -t
sudo nano /etc/nginx/sites-available/example.com
Perbaiki sintaks, lalu reload:
sudo systemctl reload nginx
3. Domain Belum Mengarah ke VPS
Error saat akses domain:
This site can’t be reached
Cek DNS:
dig example.com +short
Jika output belum menunjukkan IP VPS, tunggu propagasi atau cek kembali record DNS.
4. Certbot Gagal Karena Domain Tidak Valid
Error:
Detail: DNS problem: NXDOMAIN looking up A for example.com
Penyebabnya domain belum mengarah ke VPS atau record DNS belum aktif.
Solusi:
-
Pastikan A record benar.
-
Tunggu propagasi DNS.
-
Jalankan kembali Certbot setelah DNS valid.
Perbandingan Fitur Utama Shared Hosting vs VPS
Fitur | Shared Hosting | VPS |
|---|---|---|
Control panel | Umumnya tersedia | Opsional, bisa install sendiri |
Root access | Tidak tersedia | Tersedia |
Instalasi software custom | Terbatas | Bebas |
Isolasi environment | Rendah sampai sedang | Lebih tinggi |
Manajemen keamanan | Banyak ditangani provider | Tanggung jawab pengguna |
Backup | Sering tersedia otomatis | Harus diatur sendiri atau beli add-on |
Monitoring | Terbatas | Bisa custom penuh |
Cocok untuk pemula | Sangat cocok | Kurang cocok tanpa panduan |
Cocok untuk developer | Terbatas | Sangat cocok |
Biaya operasional | Rendah | Sedang sampai tinggi |
Breakdown Kriteria Pemilihan Hosting
1. Performa
Shared hosting bisa cepat untuk website ringan, terutama jika provider memiliki server yang baik dan caching aktif. Namun, karena resource dibagi bersama, performa bisa tidak konsisten saat server padat.
VPS lebih unggul untuk aplikasi yang membutuhkan stabilitas. Resource yang lebih terisolasi membuat performa lebih dapat diprediksi, terutama untuk website dengan trafik menengah, aplikasi bisnis, atau API.
2. Keamanan
Shared hosting mengandalkan konfigurasi keamanan provider. Ini memudahkan pemula, tetapi Anda tidak punya banyak kontrol atas firewall, hardening server, atau service yang berjalan.
VPS memberi kontrol keamanan lebih detail. Anda bisa mengatur firewall, SSH key, fail2ban, update otomatis, permission, dan monitoring. Namun, jika salah konfigurasi, VPS bisa lebih berisiko daripada shared hosting.
3. Skalabilitas
Shared hosting biasanya hanya bisa upgrade ke paket lebih tinggi dalam batas layanan yang sama. Jika sudah mentok, Anda perlu migrasi ke VPS, cloud hosting, atau dedicated server.
VPS lebih fleksibel. Anda bisa menambah CPU, RAM, storage, atau memisahkan database ke server lain ketika aplikasi berkembang.
4. Kemudahan Operasional
Shared hosting unggul dari sisi kemudahan. Upload file, buat database, pasang WordPress, dan aktifkan SSL bisa dilakukan dari panel.
VPS membutuhkan proses lebih teknis. Anda harus memahami Linux, web server, DNS, SSL, log, backup, dan keamanan dasar.
5. Biaya
Shared hosting lebih murah karena biaya server dibagi banyak pengguna. Ini cocok untuk proyek awal, website personal, dan bisnis kecil.
VPS lebih mahal, tetapi memberi nilai lebih jika Anda membutuhkan kontrol, performa, dan fleksibilitas. Biaya juga bisa naik jika Anda memakai managed VPS, panel berbayar, backup tambahan, atau monitoring premium.
Product Review: Shared Hosting
Overview
Shared hosting adalah produk hosting paling ramah pemula. Layanan ini biasanya sudah menyertakan panel, email hosting, database, file manager, one-click installer, SSL, dan backup dasar.
Untuk banyak website bisnis kecil, shared hosting adalah titik awal yang efisien. Anda bisa fokus pada konten dan bisnis tanpa harus menjadi administrator server.
Key Features
-
Control panel untuk mengelola file, database, domain, email, dan SSL.
-
One-click installer untuk WordPress atau CMS lain.
-
Email hosting bawaan untuk alamat seperti
[email protected]. -
Backup otomatis pada beberapa provider.
-
PHP selector untuk memilih versi PHP.
-
Resource limit untuk menjaga stabilitas server bersama.
Real-World Use Cases
Shared hosting cocok untuk:
-
Blog pribadi.
-
Website portofolio.
-
Company profile.
-
Landing page kampanye.
-
Website UMKM.
-
WordPress dengan trafik rendah sampai sedang.
-
Website informasi sekolah, komunitas, atau organisasi.
Pros Shared Hosting
-
Mudah digunakan bahkan untuk non-teknis.
-
Biaya rendah dan predictable.
-
Maintenance server ditangani provider.
-
Panel lengkap untuk kebutuhan dasar.
-
Cepat untuk mulai online.
Cons Shared Hosting
-
Resource terbatas dan dibagi bersama.
-
Tidak ada root access.
-
Tidak cocok untuk service custom seperti Redis, worker, atau WebSocket.
-
Performa bisa terpengaruh pengguna lain.
-
Sulit dioptimalkan secara mendalam.
Best For
Shared hosting paling cocok untuk pemilik website yang ingin online cepat, biaya rendah, dan tidak ingin mengurus server.
Who Should Skip It
Lewati shared hosting jika Anda membutuhkan root access, aplikasi custom, trafik tinggi, queue worker, WebSocket, atau konfigurasi server khusus.
Product Review: VPS
Overview
VPS hosting adalah pilihan yang lebih fleksibel untuk website dan aplikasi yang membutuhkan kontrol lebih besar. Anda mendapat server virtual dengan environment yang lebih terisolasi, sehingga lebih cocok untuk kebutuhan yang tidak bisa dipenuhi shared hosting.
VPS bisa berupa unmanaged atau managed. Pada unmanaged VPS, Anda mengelola semuanya sendiri. Pada managed VPS, provider membantu urusan teknis seperti update, keamanan, monitoring, dan troubleshooting.
Key Features
-
Root access untuk kontrol penuh.
-
Dedicated virtual resource seperti CPU, RAM, dan storage sesuai paket.
-
Custom software installation untuk stack modern.
-
Firewall dan security hardening yang bisa disesuaikan.
-
Support deployment otomatis dengan Git, CI/CD, atau Docker.
-
Scalable resource saat trafik meningkat.
Real-World Use Cases
VPS cocok untuk:
-
Aplikasi Laravel, Django, Rails, atau Express.js.
-
Toko online dengan transaksi rutin.
-
API backend.
-
SaaS tahap awal.
-
Website berita dengan trafik menengah.
-
WordPress high traffic dengan caching serius.
-
Sistem internal perusahaan.
-
Staging dan production environment terpisah.
Pros VPS
-
Performa lebih stabil karena isolasi lebih baik.
-
Fleksibilitas tinggi untuk konfigurasi.
-
Bisa menjalankan service custom.
-
Cocok untuk deployment modern.
-
Lebih mudah diskalakan dibanding shared hosting.
Cons VPS
-
Butuh skill teknis.
-
Maintenance menjadi tanggung jawab pengguna.
-
Risiko keamanan lebih besar jika salah konfigurasi.
-
Biaya lebih tinggi.
-
Backup dan monitoring harus dirancang.
Best For
VPS paling cocok untuk developer, startup, bisnis digital, e-commerce, dan pemilik website yang membutuhkan performa serta kontrol lebih besar.
Who Should Skip It
Lewati VPS jika Anda tidak memiliki kemampuan teknis, tidak ingin mengelola server, atau hanya menjalankan website sederhana dengan trafik kecil.
Case Study: Migrasi Website UMKM dari Shared Hosting ke VPS
Background
Sebuah UMKM menjalankan website WordPress untuk katalog produk, artikel edukasi, dan formulir permintaan penawaran. Awalnya website memakai shared hosting karena murah, mudah dipakai, dan cukup untuk trafik awal.
Setelah enam bulan, trafik meningkat karena kampanye media sosial dan iklan pencarian. Website mulai menerima 1.500-2.000 pengunjung per hari, dengan lonjakan saat jam makan siang dan malam.
Challenge/Problem
Masalah mulai muncul ketika halaman produk lambat dimuat. Tim marketing juga sering menerima komplain bahwa formulir kontak gagal terkirim atau halaman checkout katalog tidak responsif.
Gejala yang ditemukan:
-
TTFB sering berada di kisaran 1,8-3,2 detik.
-
Error
508 Resource Limit Is Reachedmuncul beberapa kali seminggu. -
Dashboard WordPress lambat saat upload gambar.
-
Cron WordPress tidak konsisten.
-
Plugin cache membantu, tetapi tidak menyelesaikan masalah saat trafik naik.
Masalah utamanya bukan hanya WordPress, tetapi batas resource shared hosting. Karena server digunakan bersama, website tidak punya keleluasaan untuk menjalankan proses lebih berat.
Approach
Tim memutuskan membandingkan tiga opsi:
Opsi | Kelebihan | Kekurangan | Keputusan |
|---|---|---|---|
Upgrade shared hosting | Mudah, tanpa migrasi kompleks | Tetap terbatas, tidak ada root access | Ditolak |
Managed VPS | Lebih stabil, tetap dibantu provider | Biaya lebih tinggi | Dipilih |
Unmanaged VPS | Paling fleksibel | Butuh admin server internal | Ditunda |
Managed VPS dipilih karena tim belum memiliki administrator server penuh waktu. Namun, mereka tetap ingin mendapatkan isolasi resource, performa lebih stabil, dan kontrol konfigurasi yang lebih baik.
Implementation
Migrasi dilakukan dalam beberapa tahap agar risiko downtime rendah.
1. Audit Website
Tim mengecek ukuran website, database, plugin, dan error log.
du -sh public_html
Expected output:
3.8G public_html
Database diekspor dari panel hosting:
mysqldump -u db_user -p db_name > backup.sql
Expected output:
Enter password:
File backup.sql kemudian dipindahkan ke server baru.
2. Setup VPS
VPS disiapkan dengan stack:
-
Ubuntu LTS.
-
Nginx.
-
PHP-FPM.
-
MariaDB.
-
Redis.
-
Certbot.
-
UFW firewall.
Contoh instalasi PHP-FPM:
sudo apt install php-fpm php-mysql php-xml php-curl php-mbstring php-zip -y
Expected output:
Setting up php-fpm ...
Processing triggers for nginx ...
3. Konfigurasi PHP-FPM
Konfigurasi PHP disesuaikan agar WordPress lebih stabil:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
Mengapa ini penting? Upload produk dan gambar membutuhkan batas yang lebih longgar daripada konfigurasi default. Namun, angka tetap harus wajar agar tidak membebani server.
4. Import Database
mysql -u db_user -p db_name < backup.sql
Expected output:
Enter password:
Jika tidak ada error, import berhasil.
5. Testing dengan Hosts File
Sebelum DNS dipindah, tim menguji website menggunakan hosts file lokal:
203.0.113.10 example.com www.example.com
Ini memungkinkan tim melihat website di VPS tanpa mengubah DNS publik terlebih dahulu.
6. DNS Cutover
Setelah pengujian selesai, A record domain diarahkan ke IP VPS. TTL sebelumnya diturunkan agar propagasi lebih cepat.
Results
Setelah migrasi, website menunjukkan perbaikan yang masuk akal:
Metrik | Sebelum Migrasi | Setelah Migrasi |
|---|---|---|
TTFB rata-rata | 1,8-3,2 detik | 350-700 ms |
Error 508 | 3-5 kali/minggu | 0 dalam 30 hari |
Waktu upload gambar | 20-40 detik | 5-12 detik |
Stabilitas cron | Tidak konsisten | Stabil dengan server cron |
Bounce rate halaman produk | 58% | 43% |
Angka ini realistis untuk migrasi dari shared hosting terbatas ke VPS yang dikonfigurasi dengan baik. Hasil akhir tetap bergantung pada kualitas kode, optimasi database, caching, ukuran gambar, dan lokasi server.
Key Learnings
-
Shared hosting cocok untuk fase awal, tetapi bisa menjadi bottleneck saat trafik dan proses backend meningkat.
-
VPS bukan obat ajaib; optimasi aplikasi tetap diperlukan.
-
Managed VPS membantu tim kecil yang butuh performa tanpa mengelola semua detail server.
-
Testing sebelum DNS cutover mengurangi risiko downtime.
-
Monitoring setelah migrasi penting untuk memastikan server tidak hanya cepat di hari pertama.
Tutorial: Menentukan Pilihan dengan Scoring Sederhana
Jika masih ragu, gunakan sistem skor. Beri nilai 1 sampai 5 untuk setiap kriteria, lalu jumlahkan.
Template Scoring
Kriteria | Bobot | Shared Hosting | VPS |
|---|---|---|---|
Kemudahan penggunaan | 5 | 5 | 2 |
Biaya murah | 4 | 5 | 3 |
Performa stabil | 5 | 3 | 5 |
Kontrol server | 5 | 1 | 5 |
Keamanan custom | 4 | 2 | 5 |
Skalabilitas | 4 | 2 | 5 |
Cocok untuk aplikasi custom | 5 | 1 | 5 |
Contoh menghitung skor dengan JavaScript:
const criteria = [
{ name: "Kemudahan penggunaan", weight: 5, shared: 5, vps: 2 },
{ name: "Biaya murah", weight: 4, shared: 5, vps: 3 },
{ name: "Performa stabil", weight: 5, shared: 3, vps: 5 },
{ name: "Kontrol server", weight: 5, shared: 1, vps: 5 },
{ name: "Keamanan custom", weight: 4, shared: 2, vps: 5 },
{ name: "Skalabilitas", weight: 4, shared: 2, vps: 5 },
{ name: "Aplikasi custom", weight: 5, shared: 1, vps: 5 }
];
const result = criteria.reduce(
(total, item) => {
total.shared += item.weight * item.shared;
total.vps += item.weight * item.vps;
return total;
},
{ shared: 0, vps: 0 }
);
console.log(result);
console.log(result.shared > result.vps ? "Pilih shared hosting" : "Pilih VPS");
Expected output:
{ shared: 89, vps: 138 }
Pilih VPS
Mengapa Langkah Ini Penting?
Scoring membantu mengurangi keputusan emosional. Jika website Anda sangat membutuhkan kontrol, stabilitas, dan skalabilitas, skor VPS biasanya lebih tinggi. Jika prioritas utama adalah murah dan mudah, shared hosting sering menang.
Best-For Scenarios: Kapan Memilih Shared Hosting?
Pilih shared hosting jika kondisi Anda seperti ini:
-
Website baru dibuat dan trafik belum besar.
-
Anda menggunakan WordPress standar.
-
Tidak perlu root access.
-
Tidak menjalankan aplikasi backend custom.
-
Tidak butuh Redis, queue worker, WebSocket, atau Docker.
-
Anggaran terbatas.
-
Anda ingin fokus pada konten, bukan server.
Contoh Skenario
Seorang konsultan ingin membuat website profil dengan halaman layanan, blog, dan formulir kontak. Trafik diperkirakan kurang dari 500 pengunjung per hari. Dalam kasus ini, shared hosting berkualitas sudah cukup.
Best-For Scenarios: Kapan Memilih VPS?
Pilih VPS jika kondisi Anda seperti ini:
-
Website mulai sering lambat karena batas resource.
-
Anda butuh environment yang lebih terisolasi.
-
Aplikasi membutuhkan konfigurasi khusus.
-
Anda menjalankan Laravel queue, Node.js service, Redis, atau WebSocket.
-
Anda mengelola e-commerce dengan transaksi rutin.
-
Anda membutuhkan deployment berbasis Git atau CI/CD.
-
Anda ingin kontrol penuh atas keamanan dan performa.
Contoh Skenario
Sebuah startup menjalankan aplikasi booking berbasis Laravel dengan queue untuk email, pembayaran, dan notifikasi. Aplikasi membutuhkan Redis, Supervisor, dan cron yang stabil. Dalam kasus ini, VPS jauh lebih sesuai daripada shared hosting.
Final Recommendation by Use Case
Use Case | Rekomendasi | Alasan |
|---|---|---|
Blog pribadi baru | Shared hosting | Murah, mudah, cukup untuk trafik kecil |
Company profile | Shared hosting | Tidak butuh konfigurasi kompleks |
WordPress dengan trafik sedang | Shared hosting premium atau VPS | Tergantung plugin, cache, dan trafik |
E-commerce aktif | VPS | Butuh performa dan stabilitas lebih baik |
Aplikasi Laravel/Node.js | VPS | Perlu runtime dan service custom |
API backend | VPS | Perlu kontrol server dan deployment |
Website sekolah/komunitas | Shared hosting | Biasanya kebutuhan sederhana |
SaaS tahap awal | VPS | Butuh fleksibilitas dan skalabilitas |
Tim tanpa skill teknis | Shared hosting atau managed VPS | Mengurangi risiko salah konfigurasi |
Website dengan lonjakan trafik rutin | VPS | Resource lebih terisolasi dan mudah diskalakan |
Kapan Harus Migrasi dari Shared Hosting ke VPS?
Migrasi tidak harus dilakukan sejak awal. Namun, ada tanda-tanda kuat bahwa shared hosting mulai tidak cukup.
Tanda-Tanda Perlu Migrasi
-
Website sering mengalami error resource limit.
-
TTFB tinggi meski cache sudah diaktifkan.
-
Provider sering menonaktifkan proses karena penggunaan CPU.
-
Anda butuh akses SSH lebih bebas.
-
Anda perlu menjalankan background process.
-
Aplikasi membutuhkan package atau service yang tidak tersedia.
-
Trafik bisnis mulai berdampak langsung pada penjualan atau lead.
Checklist Sebelum Migrasi
-
Backup file website.
-
Backup database.
-
Catat versi PHP, database, dan konfigurasi penting.
-
Turunkan TTL DNS.
-
Setup VPS dan uji sebelum cutover.
-
Siapkan rollback plan.
-
Monitor log setelah migrasi.
Troubleshooting Setelah Migrasi ke VPS
Website Menampilkan 403 Forbidden
Kemungkinan permission salah.
Cek permission:
ls -la /var/www/example.com/html
Expected output:
-rw-r--r-- 1 deploy deploy index.html
Solusi umum:
sudo chown -R www-data:www-data /var/www/example.com/html
sudo find /var/www/example.com/html -type d -exec chmod 755 {} \;
sudo find /var/www/example.com/html -type f -exec chmod 644 {} \;
PHP File Terunduh, Bukan Dieksekusi
Ini berarti Nginx belum dikonfigurasi untuk PHP-FPM.
Contoh blok PHP:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Tes konfigurasi:
sudo nginx -t
sudo systemctl reload nginx
Expected output:
nginx: configuration file /etc/nginx/nginx.conf test is successful
Database Connection Error
Error umum:
Error establishing a database connection
Cek kredensial database di file konfigurasi aplikasi. Untuk WordPress, cek:
define('DB_NAME', 'db_name');
define('DB_USER', 'db_user');
define('DB_PASSWORD', 'secure_password');
define('DB_HOST', 'localhost');
Pastikan database service berjalan:
sudo systemctl status mariadb
Expected output:
Active: active (running)
Website Lambat Setelah Pindah ke VPS
VPS tidak otomatis cepat jika stack belum dioptimasi.
Cek penggunaan resource:
top
Atau gunakan:
free -m
df -h
Expected output free -m:
total used free
Mem: 1990 820 410
Swap: 1023 120 903
Jika RAM hampir habis, pertimbangkan:
-
Aktifkan caching.
-
Optimasi database.
-
Tambah swap.
-
Upgrade RAM.
-
Kurangi plugin berat.
-
Gunakan CDN untuk asset statis.
Praktik Keamanan Dasar untuk VPS
VPS memberi kontrol besar, tetapi Anda harus mengamankannya. Minimal lakukan beberapa langkah berikut.
Gunakan SSH Key
Buat SSH key di komputer lokal:
ssh-keygen -t ed25519 -C "[email protected]"
Expected output:
Generating public/private ed25519 key pair.
Salin key ke server:
ssh-copy-id deploy@SERVER_IP
Setelah berhasil, login tanpa password:
ssh deploy@SERVER_IP
Nonaktifkan Login Root via SSH
Edit konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Ubah atau pastikan baris berikut:
PermitRootLogin no
PasswordAuthentication no
Restart SSH:
sudo systemctl restart ssh
Mengapa Ini Penting?
Banyak serangan otomatis menargetkan login root dan password lemah. SSH key dan pembatasan root login mengurangi risiko brute force secara signifikan.
Praktik Backup untuk Shared Hosting dan VPS
Backup sering diabaikan sampai terjadi masalah. Baik shared hosting maupun VPS tetap membutuhkan strategi backup yang jelas.
Backup di Shared Hosting
Biasanya tersedia melalui panel. Anda bisa mengunduh:
-
Full account backup.
-
File website.
-
Database MySQL.
-
Email.
-
DNS zone jika tersedia.
Backup di VPS
![]()
Contoh backup direktori website:
tar -czf website-backup.tar.gz /var/www/example.com
Expected output:
tar: Removing leading '/' from member names
Backup database:
mysqldump -u db_user -p db_name > db-backup.sql
Gabungkan dengan cron harian:
0 2 * * * /usr/bin/mysqldump -u db_user -p'password' db_name > /backups/db-$(date +\%F).sql
Catatan Penting
Menyimpan backup di server yang sama tidak cukup. Jika VPS rusak, terhapus, atau terkena kompromi, backup lokal bisa ikut hilang. Gunakan remote storage atau layanan backup provider.
Common Mistakes Saat Memilih Shared Hosting atau VPS
Kesalahan | Dampak | Cara Menghindari |
|---|---|---|
Memilih VPS hanya karena terlihat lebih “pro” | Server tidak terurus | Pilih managed VPS jika belum siap teknis |
Bertahan di shared hosting meski sering limit | Website lambat dan kehilangan konversi | Pantau error dan performa |
Tidak menyiapkan backup | Data berisiko hilang | Buat backup otomatis dan remote |
Tidak mengamankan VPS | Rentan brute force | Gunakan SSH key, firewall, update rutin |
Tidak menguji sebelum migrasi | Downtime lebih besar | Gunakan staging atau hosts file |
Mengabaikan monitoring | Masalah terlambat diketahui | Pantau CPU, RAM, disk, dan log |
Verdict: Shared Hosting vs VPS
Profil Pengguna | Pilihan Terbaik | Catatan |
|---|---|---|
Pemula non-teknis | Shared hosting | Paling mudah dan hemat |
Blogger serius | Shared hosting premium | Bisa naik ke VPS jika trafik tumbuh |
Developer aplikasi | VPS | Perlu kontrol runtime dan deployment |
Bisnis kecil | Shared hosting atau managed VPS | Tergantung trafik dan kompleksitas |
E-commerce | VPS | Stabilitas dan keamanan lebih penting |
Startup SaaS | VPS | Lebih fleksibel untuk scaling |
Tim tanpa admin server | Managed VPS | Kompromi antara kontrol dan bantuan teknis |
Ringkasan Keputusan Berdasarkan Prioritas
Prioritas Utama | Pilih Shared Hosting Jika | Pilih VPS Jika |
|---|---|---|
Harga | Anggaran sangat terbatas | Siap membayar lebih untuk kontrol |
Kemudahan | Ingin semua lewat panel | Nyaman dengan terminal |
Performa | Website ringan | Butuh stabilitas lebih tinggi |
Keamanan | Cukup dengan keamanan provider | Ingin hardening custom |
Aplikasi | CMS standar | App custom, API, worker, WebSocket |
Skalabilitas | Pertumbuhan lambat | Trafik dan fitur berkembang cepat |
Maintenance | Tidak ingin mengurus server | Siap mengelola atau pakai managed VPS |