No need to use godeps, setup logging, create a deployment system, or manage linux machines with a bunch of scripts. You can even pipe your logs into BigQuery for serious analysis (and copy your database there too, though this might be expensive for large databases).
Main downside of App Engine is that network stuff has to go over urlfetch/socket api unless you use Managed VM, which is not really production ready yet.
As for frameworks, the builtin http package is fine. Just make some http.Handler structs or wrappers and you're basically done.
While our main datastore is postgres we have 3 custom datastores that are starting to take a very active role. We have a lot of time-series data, very little relational, a bit of 'document' style and micro-service traces are living in their own.
Not sure if this answers your question but maybe that gets you going in the right direction.
1. Use Godeps to vendor your deps 2. Use Logrus for logging 3. Figure out a deployment script early one. I have a Rake script that uses chef-api to lookup current production nodes, cross compiles locally and scp's the resulting binary out and restarts the process
mailing list - https://groups.google.com/forum/#!forum/golang-nuts
subreddit - https://www.reddit.com/r/golang
Go with Google App Engine. Works well both with SDK and on AppSpot.
Tradeoffs are made for a microservice architecture patterns but when organisations scale to 100+ people we deem these tradeoffs necessary as what we lose in convenience in monolithic tradition, we gain in speed of execution and a highly availably fault tolerant globally scaling system.
You can learn more about our journey on our blog https://sudo.hailoapp.com/services/2015/03/09/journey-into-a...
And slides from former platform tech lead Matt Heath https://speakerdeck.com/mattheath
Also from current platform automation lead Boyan Dimitrov http://www.slideshare.net/nathariel
Various talks can also be found on youtube.
"Updating dependencies across all services is somewhat of an anti pattern in microservices, this chain of dependencies shouldn't exist."
But what about, say, your tracing library. It seems like that would be shared across all your services, right?
Like I mentioned before. There are definitely tradeoffs to microservices and they don't make sense for every use case but if you look at the companies that adopted this architecture pattern you'll see the common journey they all went on. Monolithic architecture for the first few years, scaled by brute force, money and people. Eventually stalling in development and organisational speed of execution. Taking a step back to reevaluate and then determining a migration path to a new decomposed service oriented architecture.
supervisord: http://supervisord.org/ is working great so far.