InfoQ Homepage Architecture & Design Content on InfoQ
-
Agile: Reflective Practice and Application
We explore how successful software development is based on the following three intertwining thought processes: Systems Thinking, Community Context and Reflective Practices. A majority of unsuccessful transformations result from a failure by members of the team to grasp that they are contributing to a larger system, or an unwillingness to learn how to improve, or that software is a team sport.
-
Q&A on the Book "Microservices, a Practical Guide, Principles, Concepts, and Recipes"
The book “Microservices, a Practical Guide, Principles, Concepts and Recipes” by Eberhard Wolff explores technology stacks for microservices-based architectures that can be used on the implementation decisions at the overall system level. Targeted to architects, developers and operations, it provides a set of recipes along with executable samples that can be used to address different needs.
-
PSD2: Blessing or Curse for Banks?
PSD2 will force all European banks to offer three APIs (Accounts, Transactions and Payments) free of charges to all 3rd parties approved by the ECB. This will allow new players to bring new and innovative products to the financial sector. For a successful transformation into a digital company, banks must evolve on three axis: Culture & People, Technology & Skills and Technical debt management.
-
Key Takeaway Points and Lessons Learned from QCon New York 2018
This year, at the seventh annual QCon New York, we had in total 143 speakers across the 117 sessions, workshops, AMAs, Open Spaces and mini-workshops. Topics included containers and orchestration, machine learning, ethics, modern user interfaces, microservices, blockchain, empowered teams, modern Java, DevEX, Serverless, chaos and resilience, Go, Rust, Elixir, and security.
-
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.
-
How Contract Tests Improve the Quality of Your Distributed Systems
Catching bugs at the end of a development cycle is costly, but how do you incrementally test complex distributed systems? In this article, Marcin Grzejszczak looks at an integration testing approach for communication between components. He reviews contract testing, and Spring Cloud Contract, as one solution.
-
Building an API Gateway with the Ballerina Programming Language
An API Gateway is a layer in an architecture pattern that allows the business API to focus on the business functionality while taking care of the request dispatching, policy enforcement, protocol translations and analytics. This article is about how we built an API Gateway in Ballerina for the WSO2 API Manager.
-
Getting to Know Graal, the New Java JIT Compiler
Oracle have released Graal, a new JIT compiler for Java. For Java developers, Graal can be thought of as several separate but connected projects - it is a new JIT compiler for HotSpot, and also a new polyglot virtual machine, GraalVM. The initial release includes support for JVM bytecode and JavaScript with LLVM, Ruby and R in beta.
-
Cats, Qubits, and Teleportation: The Spooky World of Quantum Computation Applications (Part 3)
The same factors which make quantum theory so startling also make quantum computers very difficult to implement in practice: quantum phenomena don't manifest themselves in everyday life. Given the cost, size, and physical delicacy of quantum computers, they're a perfect fit for the 'pay per use' cloud consumption model.
-
How to Adopt a New Technology: Advice from Buoyant on Utilising a Service Mesh
When adding a new technology like a service mesh into your production stack, be mindful of the impact this will have on you and your colleagues. Be clear about what problem you are solving, and define appropriate acceptance criteria. Run experiments that attempt to show how a service mesh can make life better for the various stakeholders.
-
Cats, Qubits, and Teleportation: The Spooky World of Quantum Algorithms (Part 2)
Quantum information theory really took off once people noticed that the computational complexity of quantum systems was actually a computational capacity, which could be applied to other problems, such as factorization, which is used within public key cryptography. This article explores quantum algorithms and their applicability.
-
Data Citizens: Why We All Care about Data Ethics
Data citizens are impacted by the models, methods, and algorithms created by data scientists, but they have limited agency to affect the tools which are acting on them.