InfoQ Homepage Architecture & Design Content on InfoQ
-
Building Workflows with AWS Step Functions
AWS Step Functions use a state machine to represent the workflow. A workflow consists of a set of tasks, each of which represents a discrete activity to be performed. Each task is defined by a state of the state machine. In this article, we will learn about the main concepts of AWS Step Functions and apply those to build a workflow for a sample business process: Order Fulfillment.
-
Java Champion James Ward on the State of Java and JVM Languages
James Ward is a Java Champion and Google’s Kotlin product manager. In a podcast, Ward agreed that “people are still trapped in the Java world” and called default mutability in Java the “trillion-dollar mistake”. In this interview, he speaks about the state of Java, JVM languages, mutability, and functional programming.
-
Business Systems Integration is about to Get a Whole Lot Easier
A new breed of integration software is arising that syncs business data into a simplified data hub and then syncs that data to the destination system. The benefit of this integration pattern is that it reduces the number of manual transformations required (often to zero) and makes it easier to write manual transformations when you have to.
-
Chipping Away at the Monolith: Applying MVPs and MVAs to Legacy Applications
Legacy applications actually benefit the most from concepts like a Minimum Viable Product (MVP) and its related Minimum Viable Architecture (MVA). Once you realize that every release is an experiment in value in which the release either improves the value that customers experience or doesn’t, you realize that every release, even one of a legacy application, can be thought of in terms of an MVP.
-
Cloud Native Network Functions Are Here
Compute elasticity, for instance, is reasonably allocated with virtual machines, containers, and orchestrators and managed with CI/CD pipelines. Network elasticity seems to be lacking in implementation. In this article, we show that cloud native network functions are an attempt to bring network applications into the cloud native world.
-
Creating a Secure Distributed Database Cluster Leveraging Your Existing Database Management System
The emergence of Big Data and data lakes doesn't necessarily mean the disappearance of the trusted relational database. The two can coexist, relational databases just need to adjust. For the transition we propose Database Plus, a new technology & concept applicable to any database, that answers these challenges and eliminates switching costs and vendor lock-in.
-
Debezium and Quarkus: Change Data Capture Patterns to Avoid Dual-Writes Problems
It’s common in microservices to write data in two places, a database and then send the content to another microservice. One approach to tackle this problem is dual writes, but you may lose data because of concurrent writes. Debezium is an open-source project for change data capture using the log scanner approach to avoid dual writes and communicate persisted data correctly between services.
-
Data Manipulation with Functional Programming and Queries in Ballerina
Ballerina has been designed as a data-oriented programming language and supports a functional programming coding style. The Ballerina query language is similar to SQL in the sense that a query expression is made up of clauses. The Ballerina “Table” data structure can be more effective than maps in representing indexed data collections.
-
Rules of Thumb & Traps When Approaching Tech Stack Decisions
At the MVP stage - do only the stuff you would do in a hackathon. Scalability and processes will become important once we have predictable revenue streams. Where are you generating your unique value proposition? Outsource all aspects of the tech solution which are not in a relationship with your competitive advantage. Follow a general tech directive but balance it with the team's autonomy.
-
Infrastructure as a Code—Why Drift Management Is Not Enough
The reality is that configuration drift will remain unavoidable for the foreseeable future. An EaaS solution, coupled with an IaC platform and good change management policies will help you prevent drift and shorten your development cycles.
-
AI, ML, and Data Engineering InfoQ Trends Report—August 2022
In this annual report, the InfoQ editors discuss the current state of AI, ML, and data engineering and what emerging trends you as a software engineer, architect, or data scientist should watch. We curate our discussions into a technology adoption curve with supporting commentary to help you understand how things are evolving.
-
Managing Kubernetes Secrets with the External Secrets Operator
Kubernetes doesn’t yet have the capabilities to manage the lifecycle of secrets, so sometimes we need external systems to manage this sensitive information. Once the amount of secret information we need to manage increases, we may need additional tools to simplify and better manage the process. In this article, we’ll take a detailed look at one of these tools, the External Secrets Operator.