[TriLUG] recommendations for on-line Linux VM
John Franklin via TriLUG
trilug at trilug.org
Mon Feb 17 15:32:57 EST 2025
On Feb 12, 2025, at 6:51 AM, Joseph Mack NA3T via TriLUG <trilug at trilug.org> wrote:
>
> Many years ago, Linode just offered VMs. That's what they did. Now their webpage is a blizzard of bullshit (yes I can find their VMs, but you have to search, indicating that VMs aren't really their business any more).
It is, but their business model is also leaning towards a simpler version of AWS. By far, the four most popular AWS services are EC2, ECS, S3, and RDS. So, Linode, seeing an opportunity, created offerings that mimic those services. On the VM side, they break it out into different classes of VMs, each tailored to a particular workload. They created the services tiers and additional services because that’s what the non-hobbyist market demands. And it takes no searching to find a humble VM — the very first thing on their list of products is “Compute”, and the first compute offering listed is the classic Linode, albeit renamed “Shared CPU."
> Then there's paravirtualisation, which I'd never heard of, where the host and the VM talk to each other, which I would have thought is the opposite of what you want.
Yes, paravirtualization is when the VM knows it is a VM and talks to the host hypervisor more efficiently. Think about what happens when you send a packet out a hardware network device. The kernel takes the data, splits it into packets in kernel space and then starts writing to hardware device registers: DMA buffer starting address, DMA buffer length, ready? Write the “go” command to a control register and wait for the interrupt from the hardware indicating the buffer is read and the data is sent. Simulating that hardware interaction requires trapping all memory access in the virtual PCI hardware address space and that is expensive, so hypervisors added “hypercalls”. Hypercalls are a lot like system calls, but between the VM and the host hypervisor. Paravirtualization converts all that DMA and interrupt management to a single function call.
Any serious VM offering is going to include paravirt, even if they don’t advertise it, and the LInux kernel already supports paravirt out of the box. If you’re running your own KVM server, it supports paravirt, and there are very few reasons to not use it. If you do have solid reasons to not use paravirt, you’re probably debugging a hardware device driver or some obscure interaction with a bare metal deployment.
> It would be nice to find a provider like Linode was 10 years ago, who had a webpage that said "here are our VMs" and just left it at that. I expect I'll have to wrestle what I want out of even Linode.
The world has changed and the cloud services offerings have matured. If I were to start a company that only offered simple Linode-like VMs, I’d just resell Linodes at a markup, market it to hobbyists, and wait for Akamai to buy me for the branding. I doubt it would be very successful as people in IT tend to see through that and would complain that I’m just selling overpriced Linodes.
jf
More information about the TriLUG
mailing list