InfoQ Homepage Microservices Content on InfoQ
-
Managing Technical Debt in a Microservice Architecture
At QCon Plus, Glenn Engstrand described how Optum Digital engineering devised a method for reliably and predictably paying down tech debt for hundreds of microservices, forming relevant communities and identifying high-risk areas. The communities' collective decisions can be compiled into an actionable roadmap and presented to product managers in a systemic and non-confrontational way.
-
Why Change Intelligence is Necessary to Effectively Troubleshoot Modern Applications
Change Intelligence is often a missing component in incident management. Successfully correlating monitoring and observability data to arrive allows engineers to arrive at the root cause more rapidly. Telemetry provides the building blocks that enable change intelligence to identify and map the root cause, based on changes in the system and their broader impact.
-
Java InfoQ Trends Report—December 2021
This article provides a summary of how the InfoQ Java editorial team and various Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2021.
-
Introducing the KivaKit Framework
In this article, we take a brief tour of the KivaKit open source Java microservices application framework. KivaKit is a collection of mini-frameworks designed to work together. Each mini-framework is described in more detail at https://www.kivakit.org as well as on Jonathan Locke’s blog State of the Art.
-
Microservices — the Letter and the Spirit
Microservices to be a pattern of ‘decoupled services’ managed to get the best out of it (the underlying understanding of the pattern (‘small’ vs ‘decoupled’) forces developers to take certain design decisions that are consistent with these objectives. In this article discuss we will discuss well and poor implementations: ‘small-services’ vs ‘decoupled-services’ or ‘Letter’ vs the ‘Spirit’.
-
Building Tech at Presidential Scale
Dan Woods discusses the unique challenges of building and running tech for a presidential cycle. Woods also describes how ML was applied at foundational points to reduce operating costs and some of the architectural choices made.
-
How Unnecessary Complexity Gave the Service Mesh a Bad Name
There is immense value in adopting a service mesh, but it must be done in a lightweight manner to avoid unnecessary complexity. Take a pragmatic approach when implementing a service mesh by aligning with the core features of the technology, such as standardized monitoring and smart routing, and watching out for distractions.
-
Ballerina Swan Lake: 10 Compelling Language Characteristics for Cloud Native Programming
The Ballerina language has come a long way with significant improvements since the 1.0 release in 2019. The latest Swan Lake release further simplifies building and deploying cloud native apps.
-
Service Mesh Ultimate Guide 2021 - Second Edition: Next Generation Microservices Development
Get up to speed on the adoption of service mesh. Learn how to deploy service mesh solutions in heterogeneous infrastructures and application/service connectivity.
-
Adoption of Cloud Native Architecture, Part 3: Service Orchestration and Service Mesh
This part 3 article in Cloud Native Architecture Adoption series, explores service interaction in a microservices based architecture, typical challenges we experience in distributed systems without proper governance, and how patterns like service orchestration and service mesh can help address those challenges.
-
Pitfalls and Patterns in Microservice Dependency Management
Silvia Esparrachiari shares stories on how a small change can impact a system, discussing the importance of having a broad view of a system to better understand how a change can impact a system. She presents three different scenarios that changed related to dependency management in an environment of microservices, all based on situations that she encountered while working at Google.
-
Consistency, Coupling, and Complexity at the Edge
Successful use of a microservices architecture requires maintaining a clear separation of concerns in the various layers and by employing design principles best suited to each layer. While RESTful API design has become the standard for microservices, it can cause problems at the UI layer. Alternatives such as the Backend-for-Frontend pattern using GraphQL can provide better separation of concerns.