I was recently watching Matt Ranney’s 2016 talk from GOTO conference. He’s an excellent speaker, not least because of his formidable experience at the helm of Uber.
Join 35,000 others and follow Sean Hull on twitter @hullsean.
Jump to 11:45 to start out…
1. What’s the cost of many languages
As they embraced microservices, they discovered surprising problems around having so many languages.
For example it became hard to share code and furthermore it became hard to move between teems.
The upshot is that the fragmentation of languages siloed teams, and built up tribes around those languages, and expertise or interest in them.
2. What’s the cost of using RPC for everything
In the microservices world, everything becomes a remote procedure call. For starters there are problems with HTTP and related semantics.
Also there are challenges with JSON. Since there aren’t any types, you don’t have a schema to lock you into formats. So you get weird behaviors down the line.
The upshot: Servers are not browsers. Indeed. Function calls are wayyyy better *within* a datacenter. That’s because you control both servers, so you can tune accordingingly.
3. Tuning across languages can be very challenging
Different languages have different tools available. Can your favorite tool work across all the languages you’ve decided to support in your microservices?
Even though you’re going to go with microservices, think about standardizing across those services. Use tools that work on all of them. And when building your services, make sure it outputs the same dashboard metrics.