bigmachine icon indicating copy to clipboard operation
bigmachine copied to clipboard

Backend for GCP

Open mariusae opened this issue 6 years ago • 3 comments

We should have a backend for GCP compute engine.

See package ec2system for inspiration.

mariusae avatar Oct 01 '19 17:10 mariusae

Took a very preliminary look at this today.

I'm likely to become distracted by my other projects quickly but I'd like to contribute something to this, even if only guideposts.

The code creates GCE VMs but that's about it. Once I get a feel for it, I'll refactor the code to cleanly separate bigmachine and Google functionality.

I'm struggling because I've not yet got a working local version to use as a guide (#4).

The flags mechanism in driver.go won't easily scale to supporting multiple backends and will need some work.

Hopefully providing a second implementation will help generalize the code too.

I continue to think that Kubernetes (#3) is a good backend model to consider.

DazWilkin avatar Oct 05 '19 01:10 DazWilkin

Very cool!

About the flag mechanism: yes, this is known. This is one of the reasons we use the config package in Bigslice. Note also that using the driver package is entirely optional; it's easy enough to configure and use Bigmachine in straightforward ways.

Bigmachine already has support for the aforementioned config package; so you can already (with the right imports), do things like:

var b *bigmachine.B
config.Must("bigmachine", &b)

to create bigmachine sessions using the user's configuration.

Bigslice has a tool that is intended to help the user configure the cloud provider (in AWS, this reduces to just creating a security group with the right network ACLs).

mariusae avatar Oct 06 '19 22:10 mariusae

This is at a point where it's functional:

https://github.com/DazWilkin/bigmachine/tree/compute-engine

DazWilkin avatar Nov 18 '19 21:11 DazWilkin