Optimizing impact: why I will not start an Envoy platform company
The following are my own views, and not that of my employer, Lyft.
Although almost unbelievable to me, Envoy has gained exceptional traction since it was open sourced about 9 months ago. (If unfamiliar with Envoy see here and here for more information). Very early on I received inbound requests from investors and entrepreneurs who were attracted to a new solution in the burgeoning area of microservice networking and management and who wanted to discuss the potential for commercial opportunities around the software. Over the last few months, especially as excitement for the software has increased (a substantial partnership with Google, the launch of Istio, uptake and excitement of other large companies, etc.), the amount of inbound requests and push by the investment community to figure out a commercial path forward for Envoy with me involved on a day to day basis has reached a fever pitch (read: quit Lyft and start a company). It’s forced me to do a lot of deep thinking about the business opportunities around Envoy as well as what I personally wish to gain from the situation.
After a huge amount of introspection I have decided that I will not start a “service mesh” platform company around Envoy. Since others might find my thought process interesting (and/or contentious!), I decided to write about it.
Making money from OSS
Making money from OSS is not easy. Paul Dix from InfluxData has written a great post about the topic which I largely agree with so I won’t rehash the basic points here.
In my opinion, the best opportunity to commercialize OSS lies with projects that can be easily turned into SaaS products. Ultimately, even if software is completely open, many customers are happy to pay for a turnkey solution that “just works” and has a defined SLA with 24/7 monitoring and support. In some sense, customers pay for the operational expertise that comes from deeply understanding and running the software, versus the software itself. (Even better if the software is not disk/CPU/network intensive which boosts margins a substantial amount, but I digress).
Similar to Docker, Kubernetes, Mesos, NGINX, and others, “service mesh” Envoy is not easily translatable into a SaaS product. Ultimately, to extract full value the customer must run Envoy colocated with their applications. This inextricably links Envoy to the deployment orchestration system in use. Thus, providing a turnkey “service mesh” Envoy solution essentially amounts to offering a full PaaS which includes orchestration and deployment support.
Providing a full PaaS is synonymous with competing directly with the major cloud providers who are attempting to commoditize “plumbing” like Envoy as quickly as possible. Without providing a full PaaS, ultimately the business boils down to providing services and support (packaging, tooling, observability, etc.) around all of the existing PaaS solutions. Either way, it’s a tough road.
Why is Envoy becoming so popular?
Let’s step back for a second and look at why Envoy is becoming so popular. I would argue it is for the following reasons:
- Envoy development was funded by Lyft for 1.5 years before it was open sourced. During that time the team iterated on a ton of features which solve real business problems guided by hundreds of customers (Lyft developers). Before open sourcing, we had run Envoy in production on tens of thousands of machines which processed millions of requests per second. It is literally impossible for a startup to write software and battle test it in the same way. To this day, we continue to deploy the master branch of Envoy at Lyft several times per week to make sure the software the community is producing works well. High quality and robust OSS without corporate backing via an alternate revenue source is incredibly hard to pull off.
- The fact that there is no commercial entity behind Envoy is extremely compelling to many potential users (though certainly not all). There is a general perception, which I think is correct, that we are making technology-first decisions that are not tainted by corporate interest.
- The fact that I personally do not work for one of the “tech giants” puts Envoy and myself in a “Switzerland”-like position of neutrality. Even as Google has taken increasing interest in the software, other large companies have some level of confidence that the project will not be completely subsumed and we will continue to make technology-first decisions that put the overall community first. In fact, Google has been a fantastic partner so far and I’ve been extremely impressed with their commitment to engage heavily with the community in a project that they did not initiate.
Over the last few months I’ve been told by several investors that no OSS has become ubiquitous without having explicit commercial backing. I think this is false and is situation dependent. If anything, I would argue that if I were to leave Lyft now and start a platform company around Envoy, it will decrease the chance of Envoy becoming ubiquitous, primarily because it would negate all of the reasons laid out above.
What does all of the above mean for me?
At the end of the day, a decision to start a company is extremely personal. It’s based on perceived business opportunity, finding the right cofounder(s), and a variety of personal factors.
I’ve already laid out what I think the business opportunities are around an Envoy “service mesh” platform company. Is there no business there? Absolutely not. I think a good team could realistically take Envoy and Kubernetes, build a complete self-contained product, and compete head on with the other PaaS providers. Other options are to build a service/consulting/support company around Envoy and provide licenses to existing PaaS providers. I think these are all risky, but are viable and potentially profitable businesses. And in fact, I think that there will be several business started that attempt to go after these opportunities.
However, none of these businesses are technologically or personally interesting to me.
It took me a lot of time to ultimately understand the previous simple point. Investors are extremely persuasive. They capitalize on “fear of missing out.” However, it’s important to realize that the opportunity cost is hugely mismatched between investor and company. As one particularly honest investor said to me (paraphrasing):
If I invest $5-$10M in your company and you fail, I have 30 other investments. It’s just a footnote in my investment history. You will spend years of your life before producing any kind of result, good or bad.
Ultimately, the satisfaction that I get out of building Envoy and working with the larger community is primarily driven by a desire to have huge industry impact and solve deep computer science problems. It’s not driven by maximizing my monetary income at the expense of all other factors.
As I said before, the near term business opportunities that I think are viable are not particularly interesting to me from a technology perspective. When I sat down and really thought about it, the only compelling reason I could come up with to start a company now was to maximize potential income. This just isn’t a compelling enough reason to do something to offset the industry wide impact I am currently having and the potential to see software that I helped create become truly ubiquitous over the next several years.
Ultimately, on a personal level I’m just having too much fun solving tough computer science problems at large scale at Lyft and building a community around Envoy. The bar to do something different is therefore extremely high, and it took a long time to realize that it’s perfectly OK to accept that and keep going down the existing path that I’m on. On another level, leaving now to start a company would feel very much like not following through on my original goal of open sourcing Envoy; the industry desperately needs a high quality and community-driven solution to microservice networking. Follow-through is something I take very seriously.
The future
I can’t honestly say that I will never start a business around Envoy. I do think that there are interesting closed source products that can be built using Envoy as a base in the areas of edge serving as well as distributed system command and control (system wide observability, analysis, and automated remediation systems primarily). Perhaps one day I will go after one of these areas commercially as a founder.
For now though, I’m extremely happy to help lead the Envoy community forward and help new members join and contribute. We have a great thing going already that I think will only improve over time as the community grows in size and diversity. I’m super excited to see where it leads for the foreseeable future and I am committed to being present for that.
(Plus, my cats need a lot of petting and it’s unclear if I would have enough time for them if I started a company.)