Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.
This article explores integrating a Supergraph with federated microservices, focusing on scalable and maintainable applications. It covers the benefits of using a Supergraph, such as improved performance, centralized API management, and enhanced security.
The Software Development Life Cycle (SDLC) is a structured approach to delivering reliable software on time and within budget. Evolving since the 1960s from the waterfall model to Agile and DevOps, SDLC ensures systematic development, managing costs, and mitigating risks.
The Software Testing Life Cycle (STLC) involves sequential activities ensuring software quality, from requirement gathering to closure. Emerging in the 1950s, STLC's structured approach includes phases like requirement analysis, test planning, and execution.
Agile methodology is a collaborative, flexible approach to project management, emphasizing iterative progress, customer feedback, and team collaboration. Originating from the Agile Manifesto in 2001, it counters rigid traditional methods by fostering adaptability, quick delivery, and continuous improvement.
At its core, a vertical slice represents a self-contained unit of functionality. It's a slice through the entire application stack. It encapsulates all the code and components necessary to fulfill a specific feature.
Learn the principles, benefits, challenges, and core components of microservices architecture, including API gateways, service discovery, messaging, monitoring, and CI/CD.
Scaling with .NET: How to Build High-Performance Applications" explores strategies for optimizing .NET applications. Microservices, cloud computing, asynchronous programming, and performance testing offer insights into load balancing, caching, and database optimization to ensure scalable, efficient solutions.
In the ever-evolving landscape of technology, the role of software architecture and engineering continues to be pivotal in shaping the digital future. As we look ahead, several key trends and advancements are poised to redefine the future roadmap of software architecture and engineering.
Explore Azure Cosmos DB's consistency levels through a shopping cart application to understand how different settings impact data integrity, availability, and latency. Learn the trade-offs between strong, bounded staleness, session, and eventual consistency, and how to choose the right level for your needs.
Discover the key differences between CAP Theorem and ACID Properties in our comprehensive guide. Understand how CAP's focus on Consistency, Availability, and Partition Tolerance contrasts with ACID's principles of Atomicity, Consistency, Isolation, and Durability.
Explore the fundamentals of Domain Driven Design (DDD) in this overview, focusing on principles like domain modeling, ubiquitous language, and bounded contexts.
SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols establish encrypted connections between clients and servers, ensuring secure online communication by encrypting data and verifying server identities.
Load balancers are pivotal in modern application architectures, distributing incoming network traffic across multiple servers to ensure high availability. This article elucidates load balancer types, benefits, use cases, and Azure's offerings.
Discover essential design patterns such as Singleton, Factory, Abstract Factory, Unit of Work, Repository, and Command Query Responsibility Segregation (CQRS). Learn their applications and implementations, and see how they synergize to enhance software architecture and development.
Explore the power of the Factory Pattern in software design, a creational pattern enhancing flexibility. Delve into a real-world example using .NET Core for a car manufacturing system.
This article explores the significance of caching in software development, emphasizing its role in enhancing data retrieval efficiency. It covers caching principles, trade-offs, cache hierarchy, hits and misses, and cache eviction policies. Database caching and CDN acceleration, are discussed, along with scenarios where caching may not be beneficial.
Certainly! This article delves into the critical aspect of system design known as scalability, exploring two primary approaches: Vertical Scaling and Horizontal Scaling. Vertical Scaling involves enhancing the capabilities of a single server by adding more resources, while Horizontal Scaling achieves scalability by distributing the workload across multiple servers.
The Single Responsibility Principle emphasizes that a class should have a single reason to change, focusing on one task. This ensures cleaner, smaller classes with well-defined responsibilities and improved maintainability.
The Interface Segregation Principle advocates breaking down a large interface into smaller, client-specific interfaces. This ensures that no class is compelled to depend on methods it doesn't use, promoting cleaner design.
Learn how to structure a .NET project with Clean Architecture using distinct layers, dependency injection, interfaces, SOLID principles, and unit testing.
In this article, you will learn about event streaming in microservices. Event streaming in microservices is a powerful approach to communication and data processing based on a continuous flow of events. Instead of relying on traditional request-response mechanisms, services publish and subscribe to events, enabling loose coupling and real-time data processing.
This article will help you understand the differences between Microservices and Monoliths and when to use them.
Learn microservice architecture communication methods with detailed explanations
This article would be beneficial for readers seeking to understand the importance of SSL/TLS termination in enhancing API security and performance. It's great that you not only discuss the benefits but also address potential challenges and provide practical recommendations for best practices.
This article explains the overview of API Gateways and their key functionalities are well-structured and informative. It covers the fundamental concepts, roles, and capabilities of API Gateways in a way that is accessible to both beginners and experienced developers.
Here are some of the programming languages that are expected to be in high demand in 2024.
An overview of OpenConnect and OAuth and its usage in the digital world. It introduces a standardized method for verifying user identities, allowing users to authenticate across different sites or applications without the need to create new credentials for each portal.
This comprehensive article delves into the intricacies of software testing, outlining various types and their purposes. From unit testing to compliance testing, the piece provides insights into different testing methodologies and tools used in the software development lifecycle.
The article gives an extensive overview of load balancing, covering its definition, importance, functioning, types of load balancing algorithms, benefits, various types of load balancers, and the different environments where load balancing can be applied. The article effectively explains the challenges and considerations associated with load balancing, emphasizing the need for careful planning and strategic implementation.
In this article, we explore caching's role in enhancing data access performance. Caching involves storing frequently accessed data, reducing latency and database load. Despite its advantages, challenges like cache invalidation, size management, and policy selection need consideration for effective implementation.
Everything on Software Architecture/Engineering, not only its articles: the Software Architecture/Engineering page →
Write an article and earn +1,000 SHARP when it is approved.
Write an article