ENGINEERING ★ 4 upvotes 2024

Hands on way to learn to deploy applications on bare metal Virtual Machine?

The Founder's Submission

Direct narrative and submission text authored by @shivajikobardan on Hacker News:

I don't want to use docker or kubernetes. I just want to deploy applications on VM using Linux OS.

What kind of applications can I deploy? And can I deploy stuffs without having a deployment guide about it?

My research has led me here:

- awesome selfhosted applications deploy

- deploy varieties of servers in Linux like email,dns,..... just for learning purpose.

- learn ansible

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

In this technical retrospective (2024), @shivajikobardan shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.

Core Principles for Independent Builders:
1
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
2
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
3
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:

HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (7 total discussions):

HI @hiAndrewQuinn Peer Contributor

Hey, I had a post about this a while back: https://hiandrewquinn.github.io/til-site/posts/the-unreasonable-effectiveness-of-vms-in-hacker-pedagogy/

Basically - use Vagrant, to spin up clean, disposable VMs. Use those disposable VMs to try, try, try again at getting whatever you want to work. Finally, write up a tutorial that starts with the Vagrant spin-up and takes you through the steps, as accurately and quickly as possible.

I have a few tutorials where I use this technique for different little things. The most recent one is https://andrew-quinn.me/reposurgeon.

SH @Sheeny96 Peer Contributor

Bare metal virtual machines? Do you mean a virtual machine on bare metal? In which case, it's just a vm - all VMs on some level live on bare metal.

You're on the right track with Ansible - I'd suggest just buying a raspberry pi and deploying whatever you want to it via ansible over your home network. Once you're comfortable with all the basics, spin up a vm on the pi and then deploy to that. You could then even try deploying the whole VM itself as an image! Then try to deploy the same stack to a cloud hosted machine. Even If you don't want to run cloud systems, it'll allow you to deploy to a machine outside your network and you'll get exposure to how that works.

Just start small and build up.

SK @skydhash Peer Contributor

1. Learn about system administration (users, processes, permissions, networking, shell and os utilities)

2. Learn about services management (probably systemd, but there are others like openRC and Runit)

3. Follow the application instructions to install

Once you’ve done a few, you’d probably want to automate provisioning, discovery, resources, and logging, the whole infrastructure orchestration thing. That’s where kubernetes comes in, but the complexity threshold for it is high.

TO @toast0 Peer Contributor

Most linux distributions include a package manager. The simplest way to install applications is to use the package manager.

For applications without a package manager, they usually have some way to install them. Traditionally that's untar; ./configure; make; make install

Do things by hand (write down your steps) and then decide if you need a tool for it.

FA @fabianholzer Peer Contributor

You probably need to learn the configuration basics of some http server, because you will likely want to have a reverse proxy. I think nginx is a safe bet. I have heard positive opinions about Caddy from coworkers as well.

HISTORICAL ERA Post-ZIRP & AI (2023–2026)
COMMUNITY SCORE ★ 4 points
TOTAL DISCUSSIONS 7 comments
TOPICS & TECH STACK: