Root Cause Analysis (RCA) is a systematic approach used to identify the fundamental factors that contribute to problems or incidents. It goes beyond addressing symptoms and aims to uncover the underlying causes to prevent their recurrence. By analyzing data, conducting various techniques such as the 5 Whys or Fishbone Diagram, and validating findings, RCA helps... Continue Reading →
TCP/IP Model Introduction: How Data Travels Across Networks
Network communication is part of networking however, Software architects should be familiar with basic networking and the TCP/IP model at least because it forms the foundation of modern networking and internet communication. Understanding the model helps architects design software systems that effectively utilize network protocols and services, ensuring seamless data exchange between devices. Knowledge of... Continue Reading →
Request-Response in Web Applications – How it works?
Almost everyone today uses the internet. be it news, social media, or online shopping everything is on the web today and is accessible through various web applications. These web applications are continuously serving millions of users. These web applications function seamlessly due to a fundamental concept known as "request-response." This mechanism forms the backbone of... Continue Reading →
Deploy and run .NET Core web API locally on docker
Docker revolutionized software development by providing a lightweight, portable, and consistent environment across different operating systems. With Docker, applications and their dependencies are encapsulated within containers, allowing them to run consistently on any machine, from development to production. Containers provide a high degree of isolation, enabling applications to be easily deployed and scaled without interference... Continue Reading →
Software Project Constraints
Software projects operate within certain constraints that can impact their planning, execution, and overall success. Understanding and managing these constraints is crucial for delivering projects that meet stakeholder expectations. Here are some common software project constraints that teams should be aware of Time: Time is a significant constraint in software projects. Projects must adhere to... Continue Reading →
TCP 3-Way Handshake: Establishing a Reliable Connection
The TCP 3-Way Handshake is a fundamental process in the Transmission Control Protocol (TCP) that establishes a reliable connection between two devices over a network. This handshake ensures that both the sender and receiver are ready to exchange data and sets up the necessary parameters for a reliable and error-free transmission. As software engineers and... Continue Reading →
Installing NGINX on Linux and configuring a reverse proxy
NGINX [engine x] is one of the most popular light weight, free and open-source high-performance web server. NGINX can be used as a load balancer, reverse proxy, http cache or mail proxy. However most common use of NGINX is to be used as a reverse proxy to host web api’s and apparently NGINX is the... Continue Reading →