InfoQ Homepage Architecture Content on InfoQ
-
Data Gateways in the Cloud Native Era
Data Gateways act like API Gateways but focus on access to the data aspect. A Data Gateway offers abstractions, security, scaling, federation, and contract-driven development features. There are many types of Data Gateways, from the traditional data virtualization technologies, to light GraphQL translators, cloud-hosted services, connection pools, and fully open source alternatives.
-
Software Architecture and Design InfoQ Trends Report—April 2020
An overview of how the InfoQ editorial team sees the Software Architecture and Design topic evolving in 2020, with a focus on fundamental architectural patterns, framework usage, and design skills.
-
Failover Conf Q&A on Building Reliable Systems: People, Process, and Practice
One of the biggest engineering challenges associated with maintaining or increasing the reliability of a system is knowing where to invest time and energy. InfoQ recently sat down with several engineers and technical leaders who are involved with the upcoming Failover Conf virtual event, and asked their opinion on the best practices for building and running reliable systems.
-
Is Edge Computing a Thing?
Edge Computing is definitely a thing, but the computing need not occur at the edge. Instead what is needed is an ability to compute (anywhere) on streaming data from large numbers of dynamically changing devices, in the edge environment. This in turn demands an architectural pattern for stateful, distributed computing.
-
Graph Knowledge Base for Stateful Cloud-Native Applications
The lack of support for stateful cloud-native application behavior is a roadblock to many cloud use-cases. This article looks at graph knowledge-based systems which offer one approach to the design of next-generation platforms.
-
Spring Boot Tutorial: Building Microservices Deployed to Google Cloud
In this tutorial, the reader will get a chance to create a small Spring Boot application, containerize it and deploy it to Google Kubernetes Engine using Skaffold and the Cloud Code IntelliJ plugin.
-
Multi-Runtime Microservices Architecture
Best practices have emerged around “microservice” architecture and “12-factor app” design. As cloud, containers, and container orchestrators (.g. Kubernetes) have become popular, new solutions to address common integration principles have emerged. This article discusses the approach of using "mecha" components to provide enterprise integration pattern functionality for microservices.
-
Functional UI - a Model-Based Approach
Functional UI techniques rely on the functional relation between events processed by the user interface and the actions performed by the interface. If the user interface has discrete modes in which its behavior can be expressed simply, a modelization with state machines is an advantageous functional UI technique. This article explains the technique, its benefits and how it is used in the industry.
-
Software, Aesthetics, and Craft: How Java, Lisp, and Agile Shape and Reflect Their Culture
The software industry styles itself on architecture and construction, but rarely discusses aesthetics.
-
How to Avoid Cascading Failures in Distributed Systems
Cascading failures are failures that involve some kind of feedback mechanism. In distributed software systems they generally involve a feedback loop where some event causes either a reduction in capacity, an increase in latency, or a spike of errors. Laura Nolan explores them using public accounts of real production incidents.
-
Service Mesh Ultimate Guide 2020: Managing Service-to-Service Communications
This online guide aims to answer pertinent questions for software architects and technical leaders, such as: what is a service mesh? Do I need a service mesh? How do I evaluate the different service mesh offerings? In software architecture, a service mesh is a dedicated infrastructure layer for facilitating service-to-service communications between microservices, often using a sidecar proxy.
-
Application Models as Working Software
Discusses using an application model in an iterative time-bounded development approach. Employ user flows to create easily comprehended stories that contain sufficient detail. Get closer involvement from UX design and product owners to create solutions prior to the first coding iteration. Incorporate as-built decisions back into the model to ensure its relevance in an ongoing product lifecycle.