InfoQ Homepage Development Content on InfoQ
-
Virtual Threads: New Foundations for High-Scale Java Applications
Virtual threads are a lightweight implementation of Java threads, delivered as a preview feature in Java 19. They dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. Virtual threads breathe new life into the familiar thread-per-request style of programming, allowing it to scale with near-optimal hardware utilization.
-
How to Migrate an Oracle Database to MySQL Using AWS Database Migration Service
Data migration efforts are typically taken up for database consolidation, cost considerations, or migrating on-prem databases to a cloud platform. In this article, author Deepak Vohra discusses the details of migrating a local database to MySQL database on the cloud, using AWS Database Migration Service.
-
Choosing the Right Cloud Infrastructure for Your SaaS Start-up
As a solutions architect, I have been designing SaaS applications for years and I have seen start-ups struggle to find the right cloud infrastructure and improve their product offering. These experiences prompted me to write this article as a tool to help companies make a pragmatic fact and data-driven decision.
-
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.
-
How to Speed up Large Collections Processing in Java
A review on Java performance for many objects using Java Collections or alternative collections, with the impact of serial vs. parallel streams. For some streaming data sets, parallel processing can be slower than the default.
-
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.
-
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.
-
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.
-
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.
-
How Open Source is Contributing to Your Team’s Development: What Leaders Should Know
Today’s open source landscape plays a critical role in the developer journey and in business as well. This piece examines common barriers to contribution, how businesses benefit from open source, and what it may look like for businesses to help prioritize open source contribution among their employees.