Coke and Pepsi, Gimbels and Macy's, Apple and Microsoft -- these were all great business rivals. Today, we have Lyft and Uber fighting tooth and nail over the new ride-sharing market. While they may be bitter rivals on the highways, the pair can agree on one thing: Open source is the best way to develop software.
At The Linux Foundation's Open Source Summit in Los Angeles, both companies appeared -- but not at the same time -- to announce they were launching two new cloud-native, open-source software projects with the Cloud Native Computing Foundation (CNCF).
Lyft's project, Envoy, is a high-performance, open-source edge and service proxy that makes the network transparent to applications. It's designed to abstract most networking complexities from the application developer. Written in C++ for performance reasons, the Envoy out of process architecture can be used with any application, in any language or runtime, including HTTP/2 gRPC proxying, MongoDB filtering, rate limiting, and more.
"One of the key components of cloud native computing are microservices backed by a resilient service mesh," said Chris Aniszczyk, COO of CNCF. "Service meshes provide a dedicated infrastructure layer for making service-to-service communication safe, fast, and reliable. Envoy helps provide this needed layer and integrates nicely with Kubernetes, Prometheus, and OpenTracing."
As for Uber, its project is Jaeger. This is an open-source, distributed tracing system inspired by Google Dapper paper on a large-scale distributed tracing infrastructure and OpenZipkin, a distributed tracing system. It can be used for tracing microservice-based architectures.
"High velocity companies like Uber need scalable and performant distributed tracing systems to monitor and understand their architectures composed of thousands of microservices. Building Jaeger as an open-source project allows us to align with industry best practices and evolving standards like OpenTracing. It also has many great outside contributing companies like Red Hat," explained Yuri Shkuro, Uber Staff Engineer and Jaeger's creator.
Aniszczyk added, "Distributed tracing allows developers the ability to understand what's happening inside the flow of an application, which is why it's a must-have for organizations monitoring their cloud native architectures. Jaeger fits nicely in the software stack, as it already integrates with OpenTracing, Envoy, and deploys on Kubernetes; we are looking forward to helping the Jaeger community grow and achieve deeper integration with other CNCF projects."
After Lyft and Uber's presentations, Jim Zemlin, executive director of The Linux Foundation, said, "We somehow got Uber and Lyft to share the same stage." What's even more telling about the power of open-source development is that it could get Lyft and Uber to share their code.