5 ms·
Hey ho. I worked on this project. The majority of the team is in SF for Google Cloud Next to present this. I'm about to hop into the car to head up myself to w
by cflewis 8y ago
Hey ho.
I worked on this project.
The majority of the team is in SF for Google Cloud Next to present this. I'm about to hop into the car to head up myself to watch, so I can do a little AMA throughout the day. Reply to this to make sure I see your question!
Here's a question I've already seen:
> Is this a Google project or a Go project?
It is a project led by the Go team, and we are very aware of our responsibility to be cloud provider neutral. At the same time, while the project is so new and evolving so rapidly, we need to have working examples that we can change atomically in a single repository (atomic changes necessary for rollbacks and such). We don't want to have cloud provider-specific code in the Go project, so the code is currently sitting under the Google GitHub org. When the interfaces to different products stabilize, the intention is to graduate them up to the Go GitHub org. Then anyone can code implementations to that interface for whatever cloud they like in separate repos, similar to the way `database/sql` is structured. The cloud provider-specific code will always live outside the Go project.
But things are very new, so change is possible.
- gant 8y agoI'm a little bit concerned because the last package that Google seems to have purpose-built for Go+Google (AppEngine?) was context, that gave us things like context.Context, a generic KVS that needs reflection, heavily relies on convention and doesn't work in linear time and "just make every function take a context and use context.TODO if you don't need it". It also seems to be one of the biggest points of controversy for Go 2, with calls from "everything should have a context" to "context should go away".
- ironjunkie 8y agoyeah, that context thing is a huge mess. The libraries that support it have now all their function signature way longer, and it is not well understood if it is a "Request for cancellation" or something else
- atombender 8y agoContext is a pet peeve of mine. It's a design mistake as implemented, even if it serves an important function. It infects everything, forcing every method to pass contexts around, and it conflates multiple separate concerns (cancellation, deadlines, and key/value data). Given that all of a Go program sooner or later will need contexts somewhere, it would be much cleaner to let goroutines have this stuff implicitly. I don't know enough about the intervals to say whether this is feasible with the current runtime, though.
- gant 8y agoPeople really seem to dislike context in the standard library too: https://github.com/golang/go/issues/20280 https://github.com/golang/go/issues/20280
- rajathagasthya 8y agoThis looks great! Are there any beginner friendly issues for contribution? Didn't find a related tag in Github issues.
- JustARandomGuy 8y agoIs this compatible with the Go runtime of Google App Engine[0] currently? I was having difficulty getting the golang Google Cloud Storage client to work on App Engine several months ago. 0: https://cloud.google.com/appengine/docs/go/ https://cloud.google.com/appengine/docs/go/
- mfer 8y ago> we are very aware of our responsibility to be cloud provider neutral Yet, Azure support is listed as unplanned. The language could mean that this is not going to be planned. The fact that y'all have not worked with Azure Go folks to get this moving is something to ponder. A reminder that Go is a Google language and isn't vendor neutral?
- skybrian 8y agoMaybe they're hoping Microsoft will do it?
- jhoechtl 8y agoWhich is not unreasonable thinking
- deleted 8y ago[deleted]
- vsekhar 8y agoPM for Go Cloud here (and poster of the Azure feature request). "Unplanned" on the issue tracker just means we haven't assigned it to a sprint milestone for the team yet. Azure and more clouds are very much in the works. As an open project, there are many approaches and we're open to all of them. One other point: since Go interfaces are implicitly fulfilled, anyone can write and share implementations of Go Cloud for new providers or custom services without asking anyone for permission. If you take a look at the implementations we've provided, you'll find it's actually rather easy. More to come.
- jhabdas 8y agoHi PM guy. If project is to remain independently cloud-gnostic and people file a lot of bugs and pull requests it'll definitely help Google or Alphabet or whatever deliver that k8s abstraction y'all've workin' on. That's great for you. My my question is, what if developers want access to innovations in specific cloud providers, such as reduced redundancy storage on S3? Wire up or own provider? Will there be some sort of community-provided provider registry or will we be grepping awesome lists on GH? Are providers extendable in any way? Thanks and have a sunny day.
- thermodynthrway 8y agoAfter Google threw half of Android into "Google Play Services" I don't believe it. > Then anyone can code implementations to that interface for whatever cloud they like in separate repos, similar to the way `database/sql` is structured Of course they can, but you're working on a Google-centric version first right? Otherwise why would it be at Google Cloud Next? That makes all other cloud providers second tier, and I don't think you should call yourselves "platform neutral". If you were, you would code up multiple platforms from the beginning, like is normally done for support on different operating systems for example
- lazyhacker 8y ago(Eng Manager for Go Cloud) The APIs and HTTP server released today all work on AWS as well as GCP and support for Azure is a top priority but didn't make it for today. Please see the comment from our PM regarding Azure: https://news.ycombinator.com/item?id=17604358 https://news.ycombinator.com/item?id=17604358
- go-question 8y agoIs there a session or talk on this at Cloud Next?
- cube2222 8y agoThere was yesterday.
- deleted 8y ago[deleted]
- lazyhacker 8y agohttps://youtu.be/_2ZwhvIkgek https://youtu.be/_2ZwhvIkgek
- justinclift 8y agoWhy the MySQL support? Seems pretty weird to include support for an Oracle offering from the get-go, especially given the bad blood between Google and Oracle.
- lazyhacker 8y agoIt's more important to us to address what developers want and many developers are using MySQL even on clouds.
- justinclift 8y agoWas there consideration for going with (say) MariaDB instead?
- ptman 8y agoI haven't looked in detail, but aren't they compatible? Wouldn't it work with mariadb as well?