Presentation: Rethinking CodeGen: IDL, Thrift, gRPC, Ohh My
Abstract
At Compass we have seen a dramatic evolution in our API over the last 18 months. We have doubled the number of backend services we use and transitioned from a relative "mess" of different API programming patterns and technologies to a unified API architecture that is used across web and mobile. Along the way we have dramatically improved developer quality of life with improved API discoverability, consistency and maintainability.
In this talk, we will discuss our evolution - both the technology stack and the migration process to get where we are. I will present our extensible code generation framework which is at the heart of our automatically generated REST to gRPC reverse proxy and how we've been able to leverage it to empower our client and service developers. This includes generation of API documentation and client SDKs, Thrift linting, our transition to gRPC from Thrift / Finagle and even a GraphQL prototype.
Similar Talks
Tracks
Monday, 26 June
-
Microservices: Patterns & Practices
Practical experiences and lessons with Microservices.
-
Java - Propelling the Ecosystem Forward
Lessons from Java 8, prepping for Java 9, and looking ahead at Java 10. Innovators in Java.
-
High Velocity Dev Teams
Working Smarter as a team. Improving value delivery of engineers. Lean and Agile principles.
-
Modern Browser-Based Apps
Reactive, cross platform, progressive - webapp tech today.
-
Innovations in Fintech
Technology, tools and techniques supporting modern financial services.
Tuesday, 27 June
-
Architectures You've Always Wondered About
Case studies from the most relevant names in software.
-
Developer Experience: Level up Your Engineering Effectiveness
Trends, tools and projects that we're using to maximally empower your developers.
-
Chaos & Resilience
Failures, edge cases and how we're embracing them.
-
Stream Processing at Large
Rapidly moving data at scale.
-
Building Security Infrastructure
How our industry is being attacked and what you can do about it.
Wednesday, 28 June
-
Next Gen APIs: Designs, Protocols, and Evolution
Practical deep-dives into public and internal API design, tooling and techniques for evolving them, and binary and graph-based protocols.
-
Immutable Infrastructures: Orchestration, Serverless, and More
What's next in infrastructure. How cloud function like lambda are making their way into production.
-
Machine Learning 2.0
Machine Learning 2.0, Deep Learning & Deep Learning Datasets.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS.
-
Optimizing Yourself
Maximizing your impact as an engineer, as a leader, and as a person.
-
Ask Me Anything (AMA)