InfoQ Homepage Architecture & Design Content on InfoQ
-
Data Oriented Programming in Java
Project Amber has brought a number of new features to Java in recent years. While each of these features are self-contained, they are also designed to work together. Specifically, records, sealed classes, and pattern matching work together to enable easier data-oriented programming in Java.
-
Minimum Viable Architecture in Practice: Creating a Home Insurance Chatbot
Even a simple application, like the one described in this article, needs a minimum viable product (MVP) and a minimum viable architecture (MVA). This is the second article in a series on MVA.
-
Reduce Carbon Dioxide Emissions with Serverless and Kubernetes Native Java
Moving application workloads to multi- and hybrid cloud platforms causes more carbon dioxide emissions, although better scalability and performance. Serverless and Kubernetes Native Java enable developers to solve the global climate changes by reducing carbon dioxide emissions by natively native features with milliseconds first boot time, tiny resident set size memory and scalability.
-
How Do We Utilize Chaos Engineering to Become Better Cloud-Native Engineers?
Engineers these days are closer to the product and the customer needs—there is still a long way to go and companies are still struggling with how to get engineers closer to their customers to understand in-depth what their business impact is: what do they solve, what’s their influence on the customer, and what is their impact on the product?
-
A Minimum Viable Product Needs a Minimum Viable Architecture
Creating a Minimum Viable Architecture as part of an MVP helps teams to evaluate the technical viability and to provide a stable foundation for the product that can be adapted as the product evolves.
-
Adaptability by Agreement: Valuing Outcomes over Imposed Solutions
In the pursuit of agile at scale, the landscape is dominated by process-driven approaches which are broken. This article explores a solution-driven rollout approach, one that puts authentic agreement on outcomes before solutions. The principles on which it is based are also effective as leadership strategies, where frameworks are resources to draw upon as people find fitting solutions.
-
The What and Why of Programmable Proxies
A question which gets often asked is “What is a programmable proxy, and why do I need one?” This article tries to answer this question from different perspectives. We will start with a brief definition of what a proxy is, then discuss how proxies evolved, explaining what needs they responded to and what benefits they offered at each stage. Finally, we discuss several aspects of programmability.
-
Why You Should Care about Software Architecture
Software development teams have resisted "big upfront designs" in favor of architectural designs emerging from self-organizing teams, which can lead to a mindset that software architecture is not really that important. Greater awareness of the implicit decisions they are making, and forcing these decisions to be made explicitly, can help development teams make better, more informed decisions.
-
A Recipe to Migrate and Scale Monoliths in the Cloud
In this article, I want to present a simple cloud architecture that can allow an organization to take monolithic applications to the cloud incrementally without a dramatic change in the architecture. We will discuss the minimal requirements and basic components to take advantage of the scalability of the cloud.
-
Ballerina: a Data-Oriented Programming Language
Ballerina’s flexible type system brings the best of statically typed and dynamically typed languages in terms of safety, clarity, and speed of development. Ballerina treats data as a first-class citizen that can be created without extra ceremony, just like strings and numbers.
-
Getting Started to Quarkus Reactive Messaging with Apache Kafka
How data is processed/consumed nowadays is different from how it was once practiced. In the past, data was stored in a database and it was batch processed for analytics. Apache Kafka is a distributed event store and stream-processing platform for storing, consuming, and processing data streams in real-time. In this post, we’ll learn how to produce and consume data using Apache Kafka and Quarkus.
-
Design-First Approach to API Development: How to Implement and Why It Works
With the rapid growth of the API industry, developers and technology leaders alike need to know how to create a successful and scalable API program that will drive business value. Developers should consider prioritizing a design-first approach to building APIs which will ensure a positive experience for all stakeholders.