InfoQ Homepage Architecture & Design Content on InfoQ
-
Spring Security Configuration with Flow Diagrams
In modern Java systems, Spring Security is widely used, offering numerous settings for various scenarios. This diversity can be confusing when more specific configurations beyond the default formLogin(withDefaults()) are needed. This article demonstrates basic configurations with detailed component analysis through diagrams and code examples, providing a starting point for further customization.
-
Being Functionless: How to Develop a Serverless Mindset to Write Less Code!
Dynamic cloud services like AWS Lambda have revolutionized computing, leading to rapid deployment and innovation in serverless technology. However, over-reliance on Functions as a Service (FaaS) can create complex architectures and increase costs. Adopting a functionless mindset and leveraging native service integrations fosters simplicity, enhances sustainability, and optimizes efficiency.
-
Software Architecture and the Art of Experimentation
Run experiments using a Minimum Viable Architecture approach to determine if your architecture decisions are on the right track. MVAs also test the viability of an MVP, allowing stakeholders to validate the business value.
-
Beat the Plan: Probabilistic Strategies for Successful Software Delivery at Scale
Large-scale software delivery demands managing complexity across teams and organizations. Similarly to betting strategies in Vegas, embracing probabilistic thinking helps tackle uncertainty, shifting from rigid plans to adaptive systems. By making informed bets and designing for change, leaders can control volatility, respond to evolving conditions, and drive success in dynamic environments.
-
Architectural Intelligence – the Next AI
Architectural Intelligence is the ability to look beyond AI hype and identify real AI components. Determining how, where, and when to use AI elements comes down to traditional trade-off analysis. Like any technology, AI can be used creatively, but inappropriately. Identify if AI makes sense for your use case, then work to use it effectively to meet your needs.
-
Reactive Real-Time Notifications with SSE, Spring Boot, and Redis Pub/Sub
Explore the power of reactive programming for building scalable real-time notification systems. Using Spring Boot Reactive and Spring WebFlux, leverage non-blocking operations to handle high-volume, asynchronous data flows efficiently. Discover how Redis Pub/Sub enables event-driven messaging and how the SSE protocol provides persistent connections for instant client updates without polling.
-
Transforming Legacy Healthcare Systems: a Journey to Cloud-Native Architecture
Discover how Livi navigated the complexities of transitioning MJog, a legacy healthcare system, to a cloud-native architecture, sharing valuable insights for successful tech modernization. Our experience illustrates that transitioning from legacy systems to cloud-based microservices is not a one-time project, but an ongoing journey.
-
To Dare or Not to Dare: the MVA Dilemma
Teams developing new products must decide between relying on tried-and-true technologies that may not be suitable for new situations or exploring new and unfamiliar technologies that may be a better fit but introduce unforeseen challenges.
-
Cell-Based Architecture Adoption Guidelines
The challenges in building modern, reliable, and understandable distributed systems continue to grow, and cell-based architecture is a valuable way to accept, isolate, and stay reliable in the face of failures. Organizations must ensure that the cell-based architecture is the right fit for them and that the migration will not cause more problems than it solves.
-
Securing Cell-Based Architecture in Modern Applications
Securing cell-based architecture is essential to fully capitalize on its benefits while minimizing risks. To achieve this, comprehensive security measures must be put in place. Organizations can start by isolating and containing cells using sandbox environments and strict access control mechanisms like role-based and attribute-based access control.
-
Taking Advantage of Cell-Based Architectures to Build Resilient and Fault-Tolerant Systems
Cell-based architectures offer a robust approach to building resilient systems. They achieve this through the core principles of isolation, autonomy, and replication. Each cell manages its resources and makes decisions autonomously. Observability for cell-based architecture requires a tailored approach to address the unique challenges and opportunities presented by this distributed system design.
-
Optimizing Wellhub Autocomplete Service Latency: a Multi-Region Architecture
Every company wants fast, reliable, and low-latency services. Achieving these goals requires significant investment and effort. In this article, I will share how Wellhub invested in a multi-region architecture to achieve a low-latency autocomplete service.