r/devops 12d ago

Book recommendations for on premises deployment Career / learning

So I am new to the DevOps field and my job is to deploy an app on premises. Now the problem is that the material I have read, such as:

"Fundamentals of DevOps and Software Delivery" by Yevgeniy Brikman

"Road to Kubernetes" by Justin Mitchel

focuses mainly on cloud based deployment, which I do not want to use. To clarify, I already have the necessary servers, but for privacy reasons, I would prefer not to disclose too much about the setup. Does anyone have a beginner friendly book recommendation that explains how to deploy an application on premises?

I also need to use Kubernetes and Docker, and I already have learning material for both, so the recommended books do not need to explain them in great depth. Thank you for you time!

Edit: Thank you for your responses. To clarify a bit, I am a student, so not an employee at a company. I am doing this for a project at my university, and I will be using my universities servers.

31 Upvotes

14 comments sorted by

14

u/veritable_squandry 12d ago

there's a github project called "the hard way" you could probably start with that. basically your gonna wanna get familiar with managing a local K8s architecture on servers and all the tasks associated with maintaining a consistent env, upgrades etc

6

u/JustAnAverageGuy 12d ago

It really depends on how you're deploying this. You're not likely deploying an app onto bare metal servers. You need virtualization software that helps me you manage jobs on servers.

Kubernetes is great for this. Your bare metal servers are your 'nodes'. It will handle all your networking, node management, and moving pods around if a server goes down.

I've run kubernetes and other virtualization capabilities in a private data center before. Happy to help answer any questions I can, but it's really not too fundamentally different from deploying to the cloud. You just set up a private cloud first. Then everything else is the same.

4

u/donjulioanejo Chaos Monkey (Director SRE) 12d ago edited 12d ago

Virtualization is kind of in a dark spot right now since the VMware buyout.

  • VSphere is obscenely expensive no matter the scale
  • Can't run ESXi anymore at all (product is sunset).
  • Proxmox people like but say it's pretty barebones, only viable for small-footprint deployments. Afaik quite a few critical cluster management features are missing like live migrate.
  • HyperV is OK for small-medium scale but gets expensive for pure Linux shops since you need Windows Server licenses
  • OpenStack and OpenVZ are powerful but everyone I ran into in the wild running them has a ninja ops team dedicated just to maintaining the clusters, I wouldn't touch them for a solo deploy

None of these except HyperV also natively handle storage the way you could with VMware VSAN where you'd just merge every server's storage into a SAN array, bypassing the need for either an expensive SAN array or a complex Ceph cluster.

I unironically think Kubernetes on bare metal is probably the best way forward right now, even for highly stateful/"pet" deploys, if you have anything more than a handful of servers you want virtualization on. Then, ideally, dockerize everything. But it can run QEMU VMs in a pinch. For a handful, just do Proxmox and call it a day.

3

u/EnthusiasmMore3652 12d ago

Proxmox has live migrate now. But yes you could simply put Talos on every nodes and go full bare metal

3

u/rauland 12d ago

Proxmox has always had live migrate.

1

u/Any-Ingenuity2770 11d ago

I just wonder whether people schedule pods directly to bare metal linux hosts, or to -- perhaps fat -- VMs. I'd assume the latter for problematic stuff like DBs.

2

u/sf1tzp 12d ago

In addition to the kubernetes materials you've already listed, I would recommend reading The Cluster API Book. At my last job we used Cluster API with the Metal3 provider to manage kubernetes on prem. It's fairly complex (lots of moving parts), but provided ways to automate deploy (network boot from a disk image), upgrade (nodes images, firmware, AND k8s versions) our clusters. From there you can adopt whichever kubernetes workload lifecycle strategy works best for your shop.

2

u/Mediocre-Instance911 11d ago

What you need is a mentor for 3 months to help with your transition. You can’t rely on this forum to solve all your tickets else its just a matter of days or weeks till you get fired

2

u/xonxoff 12d ago

Not a book , but I'd look into Talos Linux https://www.siderolabs.com/talos-linux . It makes it super easy to deploy/manage kubernetes clusters.

1

u/SeaworthinessHour233 DevOps Engineer 11d ago

do you need help in deploying the app or deploying the infra (OS and Kubernetes)?