Page 1 of 1

Running in a public datacenter ("cloud") - what do I need?

Posted: Thu Aug 25, 2016 10:00 am
by raindog308
I have a dream of someday booting my own OS in a public datacenter.

I'm not talking about Amazon AWS or Azure - more like DigitalOcean or Vultr or one of the small VPS companies (there are hundreds) that allow you to create a VM, then upload and boot off your own ISO. Typically, you're running on top of KVM, which provides full hardware virtualization.

While these providers do give you a console, to be really useful I think I'd want to be able to access my OS over the net (otherwise, why not just run it at home).

So I started making a list of things I'd need:
  • ISO9660 support. I'm not aware of a public provider that offers floppy support.
  • A tcp/ip stack. I suppose in theory I could just use udp. Either ipv4 or ipv6 - I don't know which is simpler.
  • Support for VIRTIO network drivers.
  • Probably support for VIRTIO disk drivers if I want to use the provided hard drive.
  • If I use the provided disk, a filesystem.
  • Since it's on the network, I'd need an encryption library, otherwise you're talking to the OS in plain text over the public internet. I don't think the entirety of something like OpenSSH is needed - for example, I could use a pre-shared key instead of negotiating public keys.
  • I could live with a single user, but that user would need to have a password or other authentication mechanism.
Honestly, this list looks very daunting, as there are several very complicated areas: TCP/IP, encryption, network drivers, etc.

Am I mad? Did I forget anything?

Re: Running in a public datacenter ("cloud") - what do I nee

Posted: Thu Aug 25, 2016 11:20 am
by Ch4ozz
I have most stuff in this list already working (no encryption etc for now)
So you are definitely not mad, because Im only workin on my hobby OS since ~1 year
If your OS will run on a VM (which is very likely) then you should get a VM which is pretty close to the same hardware specs to test your OS.
At the moment I cant think of anything else you would need.

Re: Running in a public datacenter ("cloud") - what do I nee

Posted: Thu Aug 25, 2016 11:41 am
by Octocontrabass
raindog308 wrote:ISO9660 support. I'm not aware of a public provider that offers floppy support.
Some providers also offer dedicated hardware servers, with no virtualization. The remote management unit for a server like that probably has support for virtual floppy disks. (Of course, in this situation you'll need hardware drivers instead of virtio drivers...)
raindog308 wrote:Since it's on the network, I'd need an encryption library, otherwise you're talking to the OS in plain text over the public internet.
Some providers give you the option of servers with no public internet connection. It's usually intended for things like database servers that shouldn't be accessible from the internet, but it could also be useful in your situation. You can then manage your server over a VPN connection, or through another server with a public internet connection.

Re: Running in a public datacenter ("cloud") - what do I nee

Posted: Thu Aug 25, 2016 11:51 am
by matt11235
raindog308 wrote:DigitalOcean or Vultr or one of the small VPS companies (there are hundreds) that allow you to create a VM, then upload and boot off your own ISO. Typically, you're running on top of KVM, which provides full hardware virtualization.
I don't think DigitalOcean let you boot from your own ISO.