Good points man! You really covered the topic well. And chat and conversation is a nice building block to not only get stuff accessible in places that are low bandwidth and low-tech but also prepare for future developments in voice interaction as what you learn and cover in text you can easily move to voice once voice is good enough.
I also like the approach of Viv here to build complex queries dynamically over different hooks. These kinds of technologies will be key to enabling more complex use cases with bots.
ManagedVMs don't use k8s under the covers afaik. However there's GKE (Google Container Engine), which goes on top of (at least 3) MVMs and that one does use k8s.
While it is true that going with a PaaS(-like) solution like AppEngine or Heroku is easy in the beginning it can get pretty expensive pretty fast and it limits you in the choice of languages, frameworks, and data stores you can use. This can in some instances bring technical debt with it that will pose a hurdle when growing.
Actually, using Docker combined with an orchestration layer like k8s is supposed to give the the ease-of-use of PaaS with the flexibility of IaaS (or MVMs), however, managing sth like k8s by yourself is not that easy and you will need quite a bunch of other tools on top, i.e. for monitoring and stuff, which paves the way for Container-as-a-Service solutions, like RancherOS, tutum, or Giant Swarm (disclaimer, I'm part of the latter company)
I've found Heroku to be about 10x the cost of AppEngine for the same kinds of apps and users. I don't even want to imagine what it would cost to create my own ec2 sprawl to do what AppEngine can do out of the box. As far as languages go, I've gone to production with AppEngine apps written in Python and Clojure. I've diddled with Go. Unless what you want is something like Node.js, which has its own limitations, I don't see this as a big problem. As far as Datastore is concerned, you can substitute the implementation of it using technologies like AppScale: Cassandra, Hypertable, etc. But I've never seen another structured storage solution in a fabric form that works as well as Datastore for 90% of my problems AT SCALE. YMMV.
EB is more like Heroku than it is like AppEngine. As far as I'm concerned, the thing that makes AppEngine amazing is Datastore and how easy it is to do monstrous, sophisticated Map/Reduce over your data. I haven't even started using Spanner/Dataflow yet. It's an amazing platform (that is not without its rough edges, mind you).
Since you're already here, any chance you can talk a little bit more about upcoming plans for managed vms? I hear there is a lot of investment in that area, but what will that mean technically going forward? How are things going to change so we can plan better?
I don't want to hijack the Kubernetes launch thread, but feel free to send me an email at dlorenc@google.com and I'll answer whatever I can. We have a lot of exciting stuff going out soon.
I've worked on what is ostensibly a Heroku competitor (Cloud Foundry).
I don't see where the limits on languages, frameworks or data stores comes in.
Languages are extensible in buildpacks, data stores are ordinary services. Heroku pioneered the 12-factor app model, Cloud Foundry lets people run it themselves.
The "limitation" comes from the notion that you code to a particular implementation with Heroku (or Cloud Foundry). If you want to change implementations, you must code to that new implementation. With a true aPaaS, the implementation can change, but your code goes against the same fabric-like API.
We are looking for a passionate Developer (remote workpossible) who wants to be the voice of our customers, who are using Giant Swarmfor architecting and deploying didtributed systems.
Beware! They will ask you to "test" their infrastructure. This will cost you some days and after that they'll just weed you out. You'll be abused as cheap beta tester!
If it's only about solidity DigitalOcean, AWS, and similar are ok for running single-host instances of your dockerized apps. If you want to get into clusters and scaling or are looking for a way to just take care of your containers and not of the infrastructure anymore, there's not many ready-made solutions, though. Amazon is working on ECS, and Google on GKE, but both are in a very early invite only Alpha stage. Other than those two, there's currently only us at Giant Swarm (http://giantswarm.io/) afaik. If you're interested you can register for an invite and if you contact me directly, I could get you the actual invitation a bit faster.
Also note that there's quite a lot of self-service solutions based on Mesos or Kubernetes, but then you're back at managing your infrastructure yourself again and you still have to book DigitalOcean or Amazon Servers.