InfoQ Homepage Architecture Content on InfoQ
-
Obscuring Complexity
One of the most important things that software architects do is manage the complexity of their systems in order to mitigate release disruption while maintaining sufficient feature velocity. When we cannot reduce complexity, we try to hide or shift it. Software architects tend to manage that complexity with the time-honored strategies covered in this article.
-
Using OpenAPI to Build Smart APIs for Dumb Machines
This article discusses how to build, manage and maintain APIs with OpenAPI, including some of the most notable features in v. 3.0.
-
Five Android and iOS UI Design Guidelines for React Native
This article will explain why UI designers should follow platform specific guidelines while designing for multiple platforms. This can be quite a complex task, due to the variety of constraints and guidelines there are to consider. We propose five easy guidelines to design for multiple platforms focusing on React Native and without missing key usability concerns.
-
Q&A on the Book Internal Tech Conferences
The book Internal Tech Conferences by Victoria Morgan-Smith and Matthew Skelton is a practical guide on how to prepare, organise, and follow-up on internal tech conferences. It shows how to run internal events that enable sharing and learning across teams and departments, and explores the benefits that such events can bring.
-
How Do We Think about Transactions in (Cloud) Messaging Systems? An Interview with Udi Dahan.
Do today's cloud-based messaging services have different transactional support than those that preceded it? If so, what are the implications? In this interview with distributed systems expert Udi Dahan, we explores the question.
-
Correctness vs Change: Which Matters More?
In ongoing software development, our core work is changing code. Jessica Kerr argues that by building changeable software on top of existing, well-understood components, and by improving delivery automations, teams will get better at their core work of delivering value and "changing reality".
-
Towards a Unified, Standard API for Consolidating Service Meshes
Service mesh architectures enable a control and observability loop. At the moment, service mesh implementations vary in regard to API and technology, and this shows no signs of slowing down. Building on top of volatile APIs can be hazardous. Here we suggest to use a simplified, workflow-friendly API to shield organization platform code from specific service-mesh implementation details.
-
Application Integration for Microservices Architectures: A Service Mesh Is Not an ESB
A service mesh is only meant to be used as infrastructure for communication between services, and developers should not be building any business logic inside the service mesh. Other frameworks and libraries can be used to implement cloud native enterprise application integration patterns.
-
Agile Anti-Patterns: A Systems Thinking Approach
Agile anti-patterns can disguise themselves as "solutions" or "workarounds". This article discusses the importance of recognising and classifying a new generation of agile anti-pattern with a systems thinking approach. It shows how to create and promote a shared language using value streams as an effective means of creating a systems thinking culture amongst agile teams and the wider business.
-
Architecture with 800 of My Closest Friends: The Evolution of Comcast’s Architecture Guild
Comcast has cultivated an Architecture Guild, with the goal of "threading the needle" between obtaining advantageous critical mass around certain common technologies without undermining individual teams' agency. The Architecture Guild is a grassroots framework that has been used to cut across organizational boundaries to identify solid, workable, default recommendations.
-
The Potential for Using a Service Mesh for Event-Driven Messaging
In this article, we discuss one of the most challenging and unexplored areas in service mesh architecture; supporting event-driven messaging. There are two main architectural patterns that we discuss here: the protocol proxy sidecar, and the HTTP bridge sidecar. Regardless of the pattern that is used, the sidecar can facilitate features such as observability, throttling, tracing etc.
-
API Gateways and Service Meshes: Opening the Door to Application Modernisation
Modernising applications by decoupling them from the underlying infrastructure on which they are running can enable innovation, reduce costs, and improve security. An API Gateway can decouple applications from external consumers, and a service mesh decouples applications from internal consumers.