InfoQ Homepage Architecture & Design Content on InfoQ
-
How to Have More Effective Conversations with Business Stakeholders About Software Architecture
Technical leaders must be able to communicate with business stakeholders to effectively design software solutions that meet the business needs and stay within an established cost threshold. Making architectural decisions requires understanding the desired quality attributes that will affect trade-off discussions between technical and non-technical stakeholders.
-
The Future of Service Mesh is Networking
On this journey, we will discover that, to quote David Mooter, “The future of service mesh is as a networking feature, not a product category, as far out of sight and mind from developers as possible—and that is a good thing.”
-
The Process of Creating Decentralized Apps (dApps)
A decentralized application has a different architectural approach; they are working on distributed ledger technology called blockchain, where there is no central point of failure nor third parties involved. A revolutionary and attractive technology for new opportunities. This article covers creating such applications and why they are needed, as well as challenges during implementation.
-
The Unit in Unit Testing
In this article, we will focus on how developers should consider using fake objects instead of mock objects, as fake objects offer similar isolation benefits while driving high confidence, clear documentation, and loose coupling between implementation and test code.
-
Environment-as-a-Service (EaaS) as a Technique to Raise Productivity in Teams
In essence, EaaS addresses developer productivity issues by providing settings that make it simple for developers to test and mimic real-world uses of their system. This article discusses the benefits of EaaS.
-
Building Functional .NET Applications: a Guide for Choosing between F# vs C#
C# and F# are languages, each with growing user bases, that approach functional programming in fundamentally different ways. C# relies on object-oriented, imperative principles, and F# relies on functional principles. Some developers are using F# as a complement to C#, rather than relying on the functional capabilities that exist natively in C#.
-
Containers and Serverless—Rivals or Cohorts?
This article will try to decode these technologies and explore how developers should consider containers or serverless functions within their tech stack. For example, if your application has a longer startup time, then a container would suit the need better. Highly efficient stateless functions that need to scale up and down massively would benefit from running serverless functions.
-
Lambda Throttling - How to Avoid It?
This article aims to explain best practices if you have throttled your application and services and suggestions for how to handle these cases. We performed an in-house experiment at Jit (a SaaS-based DevSecOps platform) built on serverless to learn how our application behaves.
-
Accessing .NET gRPC Endpoints from Anywhere via JSON Transcoding
JSON transcoding is a feature that has been added to gRPC in .NET 7. It allows gRPC endpoints to be accessible via a REST API, and it's much easier to set up than any alternative technology available at the time of writing, such as gRPC-Gateway and gRPC-Web.
-
Proven Solutions to Five Test Automation Issues
Automated testing is often blocked due to some well-known issues, especially in a microservices architecture. API and service simulators can eliminate five common issues that block test automation.
-
InfoQ Software Trends Report: Major Trends in 2022 and What to Watch for in 2023
2022 was another year of significant technological innovations and trends in the software industry and communities. The InfoQ podcast co-hosts met last month to discuss the major trends from 2022, and what to watch for in 2023. This article is a summary of the 2022 software trends podcast.
-
A Skeptic’s Guide to Software Architecture Decisions
Skepticism is an architectural superpower that helps you to see through false assumptions before you have followed them too far before they have cost you too much time and created so much work that you’ll never completely recover.