Engineering management stuff I learned in 2017.

3 min read Original article ↗

I’ve been working with Stripe’s infrastructure engineering team for 2017 (SF & remote, SEA), getting to work an increasingly interesting set of problems, at an increasingly large scale, and with an increasingly talented group of folks.

These are some of the things I got to learn over the past year.

  • Most current opportunities gone in 2-3 years: CI usability/speed (active investment area for all clouds), multi-region (GCP attempting “multi-region first”), architectural patterns (new apps gets by default). Security, compliance and language-specific are less susceptible to single solution, remain differentiated for now.

  • The now standard practice of pitch GCP and AWS against each other appears to be one of GCP’s key marketing strategies: they want to win on quality of commodity features.

  • GCP streaming offering seems best-of-breed, but it’s still irresponsible for us as internal infrastructure providers to adopt differentiated cloud offerings, meaning its adoption is now throttled by AWS offering competitive alternative.

  • gRPC/Protobuf ecosystem has captured most mindshare from Thrift/Finagle, AVRO, etc. gRPC,and consequently HTTP/2, are library and protocol of the future.

  • HTTP/2 is still one of the coolest, least utilized new infrastructure primitives out there. We have bi-directional steams now! Let’s use these more.

  • CloudFlare, Akamai, etc seem deeply in danger of becoming undifferentiated from cloud offerings. Fastly’s offering of full power of VCL remains interesting and crafty differentiated moat for now.

  • Very interesting and excited to see DDoS mitigation becoming part of the default toolkit for cloud offerings. Less obvious to me how well this offering attaches to existing offering (e.g. can you actually sell DDoS mitigation?), but if clouds already have to provide it anyway, reselling the existing capacity may be nearly free.

  • Kubernetes ecosystem is winning, and amazing, but it seems like orchestration is becoming commoditized by clouds. Container lifecycle still the hard part. Remain sold on k8s as facilitator of cloud-agnosticism. (GCP aims to win on value, so reducing migration cost is a key for their strategy.) (Julia Evans wrote an amazing post on how we rolled out Kuberenetes at Stripe.)

  • Terraform is an excellent tool, but isn’t opinionated or constrained enough to fulfill the dreams of cross-cloud portability it used to inspire within me. I think there is a ripe gap for a tool, potentially even a tool written on TF, to do this. (Relatedly, how has AWS or GCP not acquired Hashicorp yet?)

  • Envoy is the unexpected new technology of 2017 for me, one of the last remaining infrastructure components for Xooglers and ex-Twitter folks looking to relive their tooling dreams. Developer productivity components are still locked behind the walls, feels like one of largest opportunities to high-adoption open-source.

  • Stream computation seems certain to become unified paradigm for data. To the extent that immutable events can gain traction, stream will become unified paradigm for scalable computation. (Alt: streaming is the new NoSQL.)