Oct 7, 2025 3 min read

My Personal Blog/Portfolio Hosting Choice — VPS vs Serverless Explained

My Personal Blog/Portfolio Hosting Choice — VPS vs Serverless Explained

Short answer: For personal portfolio or static blog, I recommend Hugo + Cloudflare Pages. It’s fast, free, and no server headache. VPS gives more control, but needs setup and maintenance. Serverless is easy but billing can be unpredictable. So my personal winner — Cloudflare Pages + Hugo.

💭 My Personal Hosting Experience##

I used almost 3 VPS hosting services in the past — some cheap, some mid-range. VPS hosting gives you total control, but you have to set up everything manually. That means installing web servers, databases, SSL, and security tools. It’s powerful but also a pain sometimes.

The best free VPS control panel I’ve found is CloudPanel. It’s super easy to use and supports Node.js, Next.js, Laravel, PHP, and WordPress directly. You can deploy a Next.js app easily without dealing with complex Nginx config files.

There’s also Coolify — kind of a self-hosted version of Vercel or Netlify. It’s cool and modern but not great for beginners since it relies heavily on CLI and containers. For simplicity and long-term stability, CloudPanel on a VPS works great in my experience.

💰 VPS vs Serverless — Cost and Control##

Cheap VPS providers like IONOS or Contabo offer plans starting at just $5/month. You get real resources — like 4GB RAM, storage, and root access. Compared to serverless platforms (like Vercel, Netlify, or Cloudflare Workers), that’s a lot more power for the price.

But the difference is — with VPS, you manage everything. That includes updates, SSL, domains, and scaling. With serverless, you skip all that setup — but then the cost can jump randomly based on API calls, bandwidth, or edge executions. That’s the real deal down 👎 for many devs who just want stable predictable hosting.

⚙️ My Stack for Portfolio / Blog##

After trying all types of setups, here’s what I personally use now:

  • Static Site Generator: Hugo (super fast)
  • Frontend Tools: Tailwind CSS + Alpine.js
  • Deployment: Cloudflare Pages via Wrangler CLI
  • Automation: Custom Node.js scripts that generate local Markdown files and handle content data automatically

This combo is perfect for blogs, portfolios, or any project that doesn’t need real-time backend logic. It’s fully serverless, free, and globally cached.

🌍 My Current Blog Setup##

The blog you’re reading right now is built using the same stack — Hugo + Cloudflare Pages. Deployed using wrangler pages deploy ./public, all Markdown content auto-formatted locally, and the site updates instantly across Cloudflare’s global edge network.

No bills, no scaling issues, no downtime. Just clean workflow and instant speed.

⚖️ VPS vs Serverless — Quick Comparison##

  Feature
  VPS Hosting
  Serverless Platforms




  **Setup**
  Manual, needs software setup
  Automatic, ready to deploy


  **Control**
  Full root access
  Limited (platform managed)


  **Cost Predictability**
  Fixed monthly
  Usage-based, sometimes unpredictable


  **Performance**
  Depends on your VPS specs
  Edge optimized, scalable


  **Best For**
  Developers who want full control
  Static or small dynamic sites

🏁 Final Thought##

If you love tweaking servers and want to run multiple apps (Next.js, PHP, WordPress) — go with a VPS + CloudPanel.

But if you want peace of mind, no bills, and pure speed for your portfolio or blog — use Hugo + Cloudflare Pages. That’s my personal choice, and I don’t see myself going back soon.

Stack summary: Hugo + Tailwind CSS + Alpine.js + Wrangler CLI + Cloudflare Pages = Perfect combo 💪