Shared hosting is enough for a site that runs on a standard PHP and MySQL stack, handles ordinary web requests, and has no background processes of its own: a company site, a blog, a small WordPress or PrestaShop shop. Move to a VPS when the application needs resources you can rely on, isolation from other customers, root access, or software that shared hosting does not allow, such as queue workers, long-running processes or a specific runtime version. The trade-off is maintenance: on a VPS, someone has to run the server, and you need to know who that is before you move.
#What you get with shared hosting and with a VPS
On shared hosting, many customer accounts run on the same server. The provider installs and maintains the operating system, the web server, PHP and the database server, and you get a control panel to manage files, databases, email and domains. You cannot install system packages or change server-wide settings.
A VPS (virtual private server) is a virtual machine with its own operating system and a fixed allocation of CPU, memory and disk. With a KVM VPS the virtualization happens at the hardware level, so your server runs its own kernel. You get root access and can install whatever the application needs. You also become responsible for everything the shared host used to do for you, unless you pay someone to manage it.
| Shared hosting | VPS | |
|---|---|---|
| Resources | Shared with other accounts, within limits the provider sets | An allocation of CPU, RAM and disk for your server |
| Isolation | Separate accounts on one operating system | Your own virtual machine and operating system |
| Access | Control panel, FTP or SFTP, sometimes SSH | Root access over SSH |
| Custom software | Limited to what the provider supports | Anything that runs on the operating system |
| Server maintenance | Done by the provider | Done by you, or by whoever you hire |
#When shared hosting is enough
Shared hosting is a sensible choice when most of these are true:
- The site runs on software the host already supports, usually PHP with MySQL or MariaDB.
- Work happens inside web requests. Scheduled tasks, if any, fit into the cron jobs the control panel lets you set.
- Traffic is steady and moderate, and pages respond quickly under normal load.
- Nobody on your side wants to run a server. Updates, security patches and the mail setup stay with the provider.
For many business sites and small shops this describes the whole life of the project. Moving to a VPS earlier than needed adds maintenance work without a visible benefit to visitors.
#Signs you have outgrown shared hosting
These are the signals that usually justify the move. Check each one against your own site before deciding.
- Resource limits. The control panel shows the account hitting its CPU, memory or process limits, pages slow down at busy times, or the host has asked you to reduce usage. Look at the resource graphs and error logs for a few weeks to see whether it is a pattern or a one-off.
- Background work. The application needs queue workers that process jobs continuously, a scheduler that runs every minute, WebSocket servers, or a Node.js or Python process that stays up. A Laravel application that sends mail, generates PDFs or calls external APIs through queues is a common case. Shared hosting typically stops long-running processes.
- Specific software. You need Redis, a particular PHP extension, a different PHP or database version, a search engine such as Elasticsearch or Meilisearch, or command-line tools for image or video processing.
- Isolation. You handle data that you prefer not to keep on a server shared with unknown neighbors, or a problem in another account has affected your site.
- Server-level control. You need your own firewall rules, web server configuration, deployment pipeline or monitoring agents.
If only the first point applies, a larger shared plan may solve it. If the second or third applies, a VPS is usually the practical answer.
#Who maintains the server after the move
This is the question most often skipped. On a VPS, the following work is yours unless someone else takes it on:
- Operating system and package updates, including security patches.
- Firewall, SSH access with keys, and closing ports you do not use.
- Web server, PHP and database configuration and upgrades.
- TLS certificates and their renewal.
- Backups that run on schedule, are stored off the server, and are tested by restoring them.
- Process supervision for workers, so they restart after a crash or a reboot.
- Monitoring and alerts for disk space, memory, failed jobs and certificate expiry.
- Email: many teams keep mail on a separate service rather than running a mail server themselves.
Decide in writing who does each item. An item with no named owner tends to slip until something breaks. A managed option, or a maintenance agreement with the team that built the application, costs money but keeps the list covered.
#How to migrate from shared hosting to a VPS
- Take inventory. List domains, DNS records, databases, cron jobs, email accounts, PHP version and extensions, and any settings in the control panel. Export what you can.
- Size and provision the VPS. Use the resource graphs from the current host to choose CPU and memory, with room to grow. Pick an operating system version with a long support period.
- Harden the server first. Create a non-root user, set up SSH keys, disable password login for root, enable a firewall and automatic security updates.
- Install the stack. Match the PHP version and extensions from the inventory, then add what you are moving for: Redis, a process supervisor for queue workers, the scheduler.
- Copy files and data. Transfer the code and uploads, import the database, and set environment variables and credentials for the new server.
- Test before switching DNS. Point the domain to the new server only on your own machine through the hosts file, and go through logins, forms, payments in test mode and background jobs.
- Lower the DNS TTL in advance, then switch the records during a quiet period. Freeze content changes or sync the database again right before the switch.
- Keep the old hosting for a while. Watch logs and error reports on the new server, and cancel the old account only when you are sure nothing still depends on it.
If the application itself is unfamiliar to you, review it before moving it. Our article on taking over a codebase another team built lists what to check. Hosting and maintenance also belong in the budget discussed in how much a custom web application costs.
#How PN Scripts can help
PN Scripts Hosting offers shared hosting, KVM VPS with root access, dedicated servers and domains, so a site can start on shared hosting and move to a VPS with the same company. See the VPS plans for the current options.
Comments
Comments
Be the first to leave a comment.
Leave a comment