Google's cloud team announces products and explains infrastructure such as Spanner, TPUs, and security hardening.
Commenters call it a mixed bag of product and PR posts, with valuable gems like SRE lessons, and criticize some customer posts as ads.
[Disclaimers: I worked on Borg and Omega, and currently work on Kubernetes/GKE. Everything here is my personal opinion.]
There's a lot to unpack here, but I'll do my best.
I don't see Kubernetes locking people into GKE. There's an extensive conformance program (https://github.com/cncf/k8s-conformance) administered by the CNCF. AWS and Azure both have certified hosted Kubernetes offerings. Portability is in Google's best interest.
Go, Docker, and etcd were the best open-source technologies for the job at the time Kubernetes was created (and arguably still are). Open-sourcing Borg would have been impossible, due to its use of many Google-specific libraries (though a number of those have been open-sourced since then), and its close coupling to the Google production environment. Commenting more specifically on each of the pieces you mentioned:
* Go was chosen over C++ because, like C++, it is a systems language, but is much more accessible for building an open-source community.
* Docker was (and still is) by far the most popular container runtime, and the slimmer containerd makes it even more appropriate to serve as the container runtime for a system like Kubernetes. While it's true that in Borg the container runtime and "package" (container image) management systems are separate, the tradeoffs between packaging more in the image vs. pre-installing dependencies on the host are exactly the same as with Docker images. In any event, it's very feasible to build very slim Docker…
San Francisco - Streak (https://www.streak.com/careers) | Profitable and growing | Tech Leads (Backend, Mobile and Front-End) | ONSITE | H1-B Transfers welcome
Here are the hard problems you'll work on here at Streak:
Sales Autopilot
We want to do for salespeople what autopilot did for pilots. We will suggest to sales professionals the actions they need to take next to close deals. They'll instead need to monitor our "autopilot" system and manually override only when needed. Unlike most AI startups, we can actually build this - we have 100M+ datapoints of sales professionals manually closing deals to make the training actually possible.
Email Graphs
We're building systems to better understand how organizations communicate with one another. Email is currently siloed into individual user inboxes, we're building a graph database containing every email message in our users' inboxes to give them insights into how their company communicates with their customers.
Reverse Engineer Gmail
We strive for deep integration with Gmail, because that's where our users live. Our integration has to be seamless, deep, performant, resilient and secure. It's such a hard problem, even our competitors use our tech (InboxSDK). We're doing it next for Inbox, Calendar, and more.
Outside of the hard problems you'll also have a very large impact, not just on our organization but on our customers. We have the best of both worlds: we're small (6 eng) so no meetings and other big company BS, but…
San Francisco - Streak (https://www.streak.com/careers) | Profitable and growing | Tech Leads (Backend, Mobile and Front-End) | ONSITE | H1-B Transfers welcome
Here are the hard problems you'll work on here at Streak:
Sales Autopilot
We want to do for salespeople what autopilot did for pilots. We will suggest to sales professionals the actions they need to take next to close deals. They'll instead need to monitor our "autopilot" system and manually override only when needed. Unlike most AI startups, we can actually build this - we have 100M+ datapoints of sales professionals manually closing deals to make the training actually possible.
Email Graphs
We're building systems to better understand how organizations communicate with one another. Email is currently siloed into individual user inboxes, we're building a graph database containing every email message in our users' inboxes to give them insights into how their company communicates with their customers.
Reverse Engineer Gmail
We strive for deep integration with Gmail, because that's where our users live. Our integration has to be seamless, deep, performant, resilient and secure. It's such a hard problem, even our competitors use our tech (InboxSDK). We're doing it next for Inbox, Calendar, and more.
Outside of the hard problems you'll also have a very large impact, not just on our organization but on our customers. We have the best of both worlds: we're small (6 eng) so no meetings and other big company BS, but…
I'm not with GCP but I'm fairly closely connected to its technical staff and user community and a heavy consumer and have been so for about 4 years.
It gives me a somewhat unique perspective where I'm happy to give them lip when they need it and they have at times and they also ask for my input fairly frequently. In my opinion they are all in on GCP and it's definitely going nowhere but up. They've been on massive hiring sprees and it's to the point that when I visited them at the Googleplex a few months ago a bunch of their campus buildings were now labeled as Google Cloud buildings.
Obviously logos can be removed and maybe it will say Android/Allo/whatever in 3 years but the team is incredible and they seem laser focused on growing the platform. You can go through their blog https://cloudplatform.googleblog.com/ and the improvements they're making and the pace at which they're making them is pretty great.
I've used them for ~4 years so I've definitely had frustrations, especially prior to them reorganizing their Support/Account Management structure about 6-12 mo ago (I do k8s so I interact with this side of things as infrequently as possible).
This is a huge money maker for them and I think they're doing a great job albeit they still need to focus on their soft skills (support, billing pains, etc).
I have migrated a few companies from AWS to GCP and they've all been happy. If the day ever comes to leave GCP I have no problem making that call; I'm not handcuffed to…
Publish those results? It'd be very interesting to see. And, it sounds like you think there are benchmarks missing from the existing common set of things people are measuring -- what's a very specific network you'd like to see added to the mix? VGG16 doesn't fall into my radar of "modern and applicable" in the days of ResNet.
Using NCCL is great; TF now supports it, as of about a month and a half ago (though I don't know how tightly integrated it is): https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/nccl/python/ops/nccl_ops.py
From the benchmarks available, and not knowing what your in-house experiments show, I don't believe that the "internal network stack" is key to scaling. The scalability numbers shown on tensorflow.org/performance are very reasonable: From 902 images/sec to 1783 (1.97x) going from 32->64 K80 GPUs on Amazon for Inception v3, and 565->981 (1.7x) for ResNet-512. I'd love to be proved wrong.
That 1.7x scaling on ResNet-512 would be a great point of comparison, for example. From my student Hyeontaek's results, I actually suspect that there are scheduling improvements that could make up some of that difference, not networking improvements.
As I'm sure you know, of course, and are just fishing for, the reason that code links against gRPC externally is because trying to extract Google's internal networking code from the full internal software codebase would be ridiculous. I think it's far more likely to see the other…
I'm still rooting for KVM because it has the best hardware compatibility, it in mainline and its performance is the best. However the security situation with QEMU is not as rosy as some of you portray it (and its not as bad as it looks either). The average customer/user is going to look at the number of QEMU CVEs on cvedetails and compare them to the number of Xen's and go with the latter. However most of the QEMU bugs only affect legacy emulated hardware or components not enabled in a KVM guest, most won't think that far.
It would clear things up if you have a table on your site showing which QEMU vulnerabilties affect a specified default configuration of a RHEL/Debian guest out of the box in libvirt. See this for example: https://www.qubes-os.org/security/xsa/
What I want to see:
* Adoption of QEMU-lite as the default mode for Linux guests. There's no point to running Linux in almost any emulated hardware.
* A builtin monitoring solution like Google has that detects excessive DRAM bitflips [1] and cache misses [2] and terminates the guests to foil rowhammer and covert channel attacks.
* A re-design of KSM thats not prone to rowhammer abuse [3]
*
[1] https://cloudplatform.googleblog.com/2017/01/7-ways-we-harden-our-KVM-hypervisor-at-Google-Cloud-security-in-plaintext.html
[2] https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_pessl.pdf
[3] http://www.cs.vu.nl/~kaveh/pubs/pdf/ffs-usenixsec16.pdf