Google Cloud is a cloud computing platform that allows users to run hosted services and services in a cloud maintained by Google. The goal of this project is to provide an easy way to create and manage &os; installations running on Google Cloud.
The good news:
FreeBSD 10.1 runs fine. You can create an image and start it
up and login via standard ssh, via the gcloud command or via the
web console (ssh in a web browser window). More detail on how to do
all this can be found in the links. Basically, you should be
able to:
Additionally, I've brought back the firstboot-growfs port so that new instances will grow their root filesystem. (Thanks to Colin Percival for having created that port initially.)
There is also a firstboot-freebsd-update port which can be used to update a system on first boot but is currently disabled. See below. Similarly, the firstboot-pkgs port/scripts will install specified packages on first boot.
Overall, Google Cloud Compute is quite nice; instances spin up in about 60 seconds and it is very reasonably priced with automatic discounts for longer term usage. There is a $300 credit for first time users that also makes it free to try out. That credit covers quite a lot of time, and the instances are pretty fast, as well, even the ones without SSDs.
The bad news:
Google doesn't make sharing non-official images as easy as AWS, so you have to create your own using my public tar file. The tar was created using the script in the links section. That script can be used to produce customized images, even though there are no official image (nor will there be any time soon).
There are some issues running FreeBSD on Google Cloud, listed in the tasks section.
The 8 and 16 cpu instances seem to reboot randomly.
Repeated UFS panics that Google folks have reported, but I don't think those are particular to Google Cloud. The panic message is "ffs_valloc dup alloc".
Running freebsd-update causes the system to become unbootable, so updates don't work. (Reboots work fine otherwise.)
There is no gcimagebundle command in the Ports Collectiong so you can't easily create an image from a running machine.
There are a few minor issue with the startup script that is supposed to regenerate ssh keys (for when you create an image from an existing system).
10.1 works, but 10.0 won't boot; other versions remain untested.
The kern.vm_guest sysctl node does not detect that it is in a guest.
The vtnet driver needs wq disabled on 16 cpu boxes, but is just disabled everywhere for now since that is easier.
There is a work needed for the Google safe_format_and_mount command which formats and mounts newly attached disks, but this is just a nicety really.
I need to look into irq affinity for vtnet.
We need to support virtualized clocks; bryanv@ is working on this. In fact, all his ongoing work in the virt area would probably make things work better.
It would be nice if there as the ability to disable the spinner before the loader, which clutters up the console log. The ability to disable it is in HEAD; hopefully it will be MFCd to 10-STABLE before 10.2.