InfoQ Homepage Architecture & Design Content on InfoQ
-
Rewriting an API Gateway Service from Clojure to Golang: AppsFlyer Experience Report
AppsFlyer processes nearly 70+ billion HTTP requests a day, and is built using a microservices architecture style. The entry point to the system that wraps all of the frontend services is a mission-critical (non-micro) service called the API Gateway. This article is an experience reporting of migrating from a Clojure-based gateway to a newly designed Go-based implementation.
-
Virtual Panel: Kubernetes and the Challenges of Multi-Cloud
Kubernetes is eliminating vendor lock-in and enabling cloud portability. In this panel, the panelists talk about what multi-cloud means as more than a common platform on multiple clouds.
-
Developing Microservices with Behavior Driven Development and Interface Oriented Design
These dependencies require well-defined and well-tested services. Behavior Driven Development (BDD) and Interface Oriented Design (IOD) help achieve this. BDD concentrates on the functionality of the services, which are specified with tests. IOD identifies contractual obligations (e.g. failure reporting) of the services.
-
Architecture and Design InfoQ Trends Report - January 2019
An overview of how the InfoQ editorial team sees the “architecture and design” (A&D) topic evolving in 2019, which focuses on fundamental architectural patterns, framework usage, and design skills.
-
Why Do We Need Architectural Diagrams?
Software architecture diagrams, when created well, and sparingly, can greatly improve communication within the development team and with external stakeholders. They require an understanding of the intended audience, and thoughtful restraint on what to include. Resist the temptation to think that diagrams are unnecessary or unhelpful, simply because there have been plenty of cases of bad diagrams.
-
Increasing the Quality of Patient Care through Stream Processing
Today’s healthcare technology landscape is disaggregated and siloed. Physicians analyse patient data streams from different systems without much correlation. Even though health-tech domain is mature and rich with data, the value of it is not directed towards increasing the quality of patient care. This article presents a stream processing solution in which streams are co-related.
-
Q&A on the Book Refactoring - Second Edition
The book Refactoring - Second Edition by Martin Fowler explores how you can improve the design and quality of your code in small steps, without changing external behavior. It consists of around seventy detailed descriptions of refactorings, including a motivation for doing them, the mechanics, and an example.
-
Towards Successful Resilient Software Design
In this article, Uwe Friedrichsen explains the “why” and “what” of resilient software design, discusses the challenges he has met most often in recent years, and shares his thoughts on how to implement resilient software design in your organisation.
-
Article Series - .NET Core - 2nd Series
In this series, we explore some of the benefits .NET Core and how it can help traditional .NET developers and all technologists who need to bring robust, performant and economical solutions to market
-
Conquering the Challenges of Data Preparation for Predictive Maintenance
Predictive maintenance (PdM) applications aim to apply machine learning (ML) on IIoT datasets in order to reduce occupational hazards, machine downtime, and other costs. In this article, the author addresses some of the data preparation challenges faced by the industrial practitioners of ML and the solutions for data ingest and feature engineering related to PdM.
-
Book Review: Optimizing Java
InfoQ reviewed the book Optimizing Java, a comprehensive in-depth look at performance tuning in the Java programming language written by Java industry experts, Ben Evans, James Gough and Chris Newland. InfoQ spoke to the authors for more insights on their experiences, learnings and obstacles in authoring this book.
-
Building a VPC with CloudFormation - Part 2
If you're building separate Virtual Private Cloud (VPC) templates for each infrastructure use case, you can make existing templates more flexible by using Parameters, Conditions, Mappings, and Outputs.