InfoQ Homepage Design Content on InfoQ
-
Design Patterns for Serverless Systems
After shortly introducing design patterns at different levels of abstractions, this article will present a few patterns specifically suited to serverless systems, including the Pipes and Filters pattern and show a POC implementation using AWS EventBridge.
-
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’.
-
Turning Microservices Inside-Out
Turning microservices inside-out means moving past a single, request/response API to designing microservices with an inbound API for queries and commands, an outbound APIs to emit events, and a meta API to describe them both. A database can be supplemented with Apache Kafka via a connecting tissue such as Debezium.
-
Keeping Technology Change Human
When we are at the forefront of so much change, it's easy to forget that other people around us find change more challenging. This article is a reminder to look beyond the code and processes, to consider how tech team actions can affect our users in emotional ways. It seeks to establish a few ways of thinking to help bring others along with us when working through technology change.
-
Compiled, Typed, Ruby-Inspired Crystal Language is Ready for Production - Q&A with Beta Ziliani
The Crystal language is ready for production, 12 years after inception. Crystal is compiled for performance, typed for safety, and Ruby-like for productivity. Due to the strong type inference, developers need only sparse type annotations. We interviewed the head of the Crystal team on the language tradeoffs, the present features and the language roadmap.
-
Information Relativity
To build great software, we need to account for perspective and relativity. Perspective is something's meaning depending on where it's observed from. Relativity refers to a distortion due to the location of the observer.
-
Cut Your Design Sprints in Half with These Key Tips
Cut your next design sprint in half with these tips at your side. With this approach, you’ll be able to turn 2.5 days into ~4 hours and the whole sprint to 2.5 days. Make collaborative design thinking easier, more fun, and exciting. With up-front preparation, a clear challenge to tackle, and attention to the clock, you can get to the essentials and turn innovative ideas into testable prototypes.
-
AI Applied in Enterprises: Information Architecture, Decision Optimization, and Operationalization
The book Deploying AI in the Enterprise by Eberhard Hechler, Martin Oberhofer, and Thomas Schaeck gives insight into the current state of AI related to themes like change management, DevOps, risk management, blockchain, and information governance. It discusses the possibilities, limitations, and challenges of AI and provides cases that show how AI is being applied.
-
The Kollected Kode Vicious Review and Author Q&A
Addison Wesley Professional The Kollected Kode Vicious by George V. Neville-Neil aims to provide thoughtful and pragmatic insight into programming to both experienced and younger software professionals on a variety of different topics related to programming. InfoQ has taken the chance to speak with author Neville-Neil about his book.
-
PHP 7 — Classes and Interfaces Improvements
In the second instalment of this article series dedicated to PHP 7, we continue our exploration of PHP 7 new features focusing on object-oriented programming support, classes, and interfaces.
-
Learning Progressive Web Apps - Book Review and Q&A
The book *Learning Progressive Web Apps* presents a gentle but thorough introduction to PWAs through the implementation of three PWAs. The book focuses on web manifests and service workers. The reader needs only know HTML, JavaScript and CSS to follow through the examples.
-
Using a DDD Approach for Validating Business Rules
If the goal is to create software applications that emulate the behavior of domain experts, then the challenge is in capturing and implementing the business rules. This is more a factor of good knowledge management than it is raw coding ability. Following techniques from Domain-Driven Design can provide a structure for effectively validating and implementing business rules in a system.