Chapter 7. Polyglot Technology Stacks

Monoliths forced a standardized, often lowest common denominator, technology stack, regardless of the fit to purpose. Microservices give you the freedom to choose the right language or database for the business requirements rather than force a one-size-fits-all solution.

We’re a Java Shop

In the past, companies often tried to standardize on a limited set of technologies. Many development organizations described themselves by their primary technology (i.e., as a Java shop or a .NET team). In the same vein, developers used their favorite language as an adjective, as in “I’m a JavaScript developer.”

In the era of the monolith, these colloquialisms made sense. Companies standardized on one tech stack because they could:

  • Develop deep expertise with a given language and the associated frameworks

  • Shuffle people between teams to balance workloads and cross-pollinate ideas throughout the organization

  • Simplify the hiring and training process

  • Allow operations teams to specialize in a single environment

All was not puppies and rainbows during this era of software development, though. Things are never that simple—trade-offs are unavoidable. Language standardization often exacerbated currency issues. For example, shared servers lead to months-long slogs to move from version N-2 to version N-1.1 In the amount of time it took to complete an upgrade, a major new version of the technology was often released. Eighteen months of freezes, testing, change-review ...

Get Responsible Microservices now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.