Docker is a powerful tool that allows developers to package applications into containers. These containers can run on any system that has Docker installed, making it easier to deploy and run applications consistently across different environments. Containers are like lightweight, portable packages for your application, including everything it needs to run: code, runtime, libraries, and settings. I assume that you have already know what Docker is and also you have .NET and Docker installed on your machine. Don't worry, just download and then next + next. For more details and official documentation, you can visit Docker's official website and for…
On Azure Functions and Serverless
There's no shortage of tools and technologies to make developers' lives easier In the world of cloud computing, and one such offering comes from Microsoft which is Azure Functions. Here, we'll unravel the magic behind Azure Functions and explore why it's becoming a favourite for certain architectures. At its core, Azure Functions is a serverless compute service. "Serverless" might sound misleading, as there definitely are servers involved; however, the idea is that the responsibility of server management, scaling, and infrastructure concerns are taken away from the developer. This allows us to focus on writing and deploying our code. Azure Functions…
Architectural Design Patterns 5 – Monolithic
I am aware that in our present day world, it is a sin to talk about monolith and not to curse it. However, I am will neither hallelujah nor curse it. I will just try to explain it as an architectural design pattern and try to expose both positive and negative sides of it. The Monolithic architecture stands as a testament to the earlier days of software development. A monolithic architecture is like a single, tightly packed unit where all the software components are bundled together. Think of it as a large factory where every product stage, from raw materials…
Architectural Design Patterns 3 – Microservices
In this article, we will be talking about Microservices, a design pattern that has gained attraction for its approach to building large and complex software applications. At its core, Microservices is about breaking down an app into smaller parts where each part doing its own job. Instead of one big chunk of software that does everything, you have multiple little services working together. Each microservice is responsible for its own task but collaborating with others to function properly. This approach shines in many situations, especially in cloud-based systems. The cloud is like massive land ready for construction. Microservices allow developers…