InfoQ Homepage Architecture & Design Content on InfoQ
-
Boosting WebAssembly Performance with SIMD and Multi-Threading
Early implementations of WebAssembly's SIMD and multi-threading proposals show that WebAssembly is narrowing the gap with native performance, by using SIMD instructions and multicore CPUs. Significant performance improvements have been observed in compute-intensive tasks (machine-learning, bio-informatics, scientific computing).
-
The Future of Data Engineering
Chris Riccomini examines the current and future states of the art in data pipelines, data streaming, and data warehousing. He presents a six-stage evolution that data ecosystems follow, from a simple monolith to a complex data-microwarehouse architecture as the data engineers who manage them solve problems and clarify their roles as infrastructure engineers, rather than data stewards.
-
Microservices from the Trenches: Lessons, Benefits, Challenges, and Mistakes
Nicky Wrightson, from Skyscanner, hosted a panel at QCon London with participants who have moved from the monolith to microservices and in some cases back again. They share their experience with microservices on production, and also strong opinions on monorepos, on operating distributed systems, and on the best way to structure an organization to make a success of this architecture.
-
Testing Quarkus Web Applications: Component & Integration Tests
Quarkus is a full-stack, Kubernetes-native Java framework made for Java virtual machines (JVMs) and native compilation. Instead of reinventing the wheel, Quarkus uses well-known enterprise-grade frameworks backed by standards/specifications and makes them compilable to a binary using Graal VM. This article focuses on using some of the Quarkus testing facilities.
-
Migrating Monoliths to Microservices with Decomposition and Incremental Changes
Microservices migrations are not a trivial change. You have to think carefully about whether or they're right for you. Maybe a monolith would be enough for your context and business needs. In this article, Sam Newman shares some decomposition and incremental changes patterns that can help you to evaluate and migrate to a microservices architecture.
-
How DSLs Withstand the Test of Time
Domain-specific languages let domain experts participate in the software development process. Few DSLs however withstand the test of time. Key success factors for longstanding DSLs seem to be user-centered design and adhering to the open–closed principle. Markdown, TeX, and CSS, have remained popular and relevant for two decades, even as their original target audience evolved.
-
Virtual Panel: the MicroProfile Influence on Microservices Frameworks
In mid-2016, the MicroProfile initiative was created as a collaboration of vendors to deliver microservices for enterprise Java. InfoQ recently asked the opinion of expert practitioners on how MicroProfile has influenced how developers today are building microservices-based applications, the emergence of new microservices frameworks and reverting back to monolith-based applications development.
-
Low-Code Platforms and the Rise of the Community Developer: Lots of Solutions, or Lots of Problems?
Low-code platforms are the hottest enterprise software category right now. With the current level of investment, it is hard to imagine a future that doesn’t feature lots of bespoke business apps being built by non-IT staff for use by their teams. Visibility of low code solutions is the key to managing risk.
-
AI No Silver Bullet for Cloud Security, But Here’s How It Can Help
In this article, the author looks at the real role of artificial intelligence in cloud security – the hype, the reality, and how we can resolve the gap between them. He encourages the reader to focus on making cloud security platforms that allow humans to provide truly intelligent threat responses, rather than relying on the machines to do it for us.
-
The Brain is Neither a Neural Network Nor a Computer: Book Review of The Biological Mind
Underlying much of artificial intelligence research is the idea that the essence of an individual resides in the brain. This is contrary to neuroscience which has discovered that a brain cannot work independently from the body and its environment. Understanding this enables us see what is reasonable to expect from artificial intelligence, as well as technology designed to improve human life.
-
Enhanced Streams Processing with Kotlin’s Sequence Interface
Data structures are an intrinsic part of every programming language, yet Java’s Stream interface lacks vital operations and its complex approach to extensibility gave rise to alternative libraries such as jOOλ and Guava. This article provides an alternative approach that can be easily integrated in any Java project using Kotlin's Sequence interface.
-
Performance Analysis for Arm vs x86 CPUs in the Cloud
In this article, the author uses AWS’s Arm (Graviton2) and x86_64 (Intel) EC2 instances to evaluate computational performance across different software runtimes, including Docker, Node.js, and WebAssembly. Our conclusion is that Arm is more cost effective in the cloud, especially with lightweight runtimes that are close to the underlying operating system.