InfoQ Homepage Architecture & Design Content on InfoQ
-
Safe and Fast Deploys at Planet Scale
At QCon Plus, Mathias Schwarz, a software engineer at Uber, presented safe and fast deploys at planet scale. Uber is a big business and has several different products. They are, in most cases, deployed to dozens or hundreds of markets all over the world.
-
Six Features From Java 12 to 17 to Get Excited About!
Oracle maintains an ambitious release schedule for new versions of Java, having one fixed release every six months. Although frequent, only some versions are considered long-term support, which means they’ll have premium maintenance for three years. In this article, I review some of the language additions between Java 12 and 17, for anyone interested in what’s been happening since Java 11.
-
Getting Started with gRPC and .NET
In this article, the author introduces the core concepts behind gRPC and how it can be used with API development. The basic pros and cons of using gRPC instead of REST are also explained with a scenario analysis. The text is illustrated with a step-by-step tutorial on how to use gRPC to develop streaming services in .NET.
-
SaaS DR/BC: If You Think Cloud Data is Forever, Think Again
SaaS is quickly becoming the default tool for how we build and scale businesses. It’s cheaper and faster than ever before. However, this reliance on SaaS comes with the risk of disaster recovery. The “Shared Responsibility Model” doesn’t just govern your relationship with cloud, it actually impacts all of cloud computing. Even for SaaS, users are on the hook for protecting their own data.
-
Lightweight External Business Rules
Complex enterprise applications usually come with varying business logic. Such conditions and subsequent system actions, known as rules, are ever varying and demand involvement of domain specific knowledge more than technology and programming. The rules must reside outside the codebase, authored by people with core domain expertise with minimal tech knowledge.
-
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.
-
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’.
-
Faster Financial Software Development Using Low Code: Focusing on the Four Key Metrics
Low code/no code can help firms achieve the four key performance metrics described in the State of DevOps Reports and Accelerate, to achieve a faster pace of software development. Financial services especially stand to benefit from the trend of adopting low code/no code to drive digital transformation.
-
Using API-First Development and API Mocking to Break Critical Path Dependencies
Teams are using API mocking to break critical path dependencies and enable what were serial execution sequences into parallel paths. This article looks at where mocks should be used for the greatest impact and provides a model to estimate the effect of implementing API mocking and an API-first approach.
-
Reducing Cloud Infrastructure Complexity
Cloud computing adoption has taken the world by storm, and is accelerating unabated. According to Flexera’s annual State of the Cloud Report for 2020, 93% of respondents used multi or hybrid cloud strategies. This article examines different aspects of cloud infrastructure complexity, and approaches to mitigate it.
-
Overriding Sealed Methods in C#
In this article, the author demonstrates how we can change the behavior of sealed methods in C#. This can be done by understanding Operating System mechanisms and how the .NET platform generates and compiles code. The author illustrates these techniques using real-world scenarios, including the modification of the WinPAI wrapper.