In working with customers, Christian Posta has found that the desire to modernize an application architecture with things like containers and microservices often gets met with the cruel, harsh reality of the existing technology investments that must come along with any new endeavor. Realities such as: it’s difficult to change the monolith, legacy RPC protocols are used, and certain data protection and compliance regulations get in the way of changing the application architecture following so-called best practices. At the end of the day, the utopian software architecture is not achievable. However, a more pragmatic approach to “deliver business value now” is not as elusive. We should evaluate our technology decisions based on a continuum of “what can we do right now” to “what do we think we’ll be doing in three years.”
Today, we have technology such as service meshes and containers to help us along our journey. But not everything can be containerized. Christian takes a look at some of the nasty realities of bringing microservices and cloud native architectures to the enterprise and how interesting new proxy technology like Envoy Proxy and API frameworks like GraphQL can be used to ease the adoption of new architectures and focus on delivering business value now. He looks at patterns such as forward proxying to new microservices without changing the monolith, reverse proxying client calls to the monolith while enriching it with additional useful behavior to be able to call microservices directly, multiplexing an explosion in backend RPC calls into a single call, redirecting traffic to and from a monolith for testing purposes, and filtering traffic out based on certain security and policy guidelines. He also discusses technologies for helping with these patterns, including EnvoyProxy, GraphQL, gRPC, and HTTP/2.
Christian Posta is field CTO at solo.io, where he helps companies create and deploy large-scale, resilient, distributed architectures—many of what we now call serverless and microservices. Previously, Christian spent time at web-scale companies. He’s well known in the community as an author—of Istio in Action (Manning) and Microservices for Java Developers (O’Reilly)—a frequent blogger, a speaker, an open source enthusiast, and a committer on various open source projects, including Istio and Kubernetes. He enjoys mentoring, training, and leading teams to be successful with distributed systems concepts, microservices, DevOps, and cloud native application design. You can find Christian on Twitter as @christianposta.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org