Building resilient systems is no longer a best practice. It as an expectation. Whether you’re running a small internal app or handling millions of transactions a day, the assumption is the same: your service should stay online, even when things go wrong. That includes major failures such as a full region outage on your cloud provider. This is where geo-resilience comes in. Think of it as the modern approach to designing for the worst-case scenario. Your architecture will determine whether users feel the impact of an outage or whether they don’t even know it happened. In this post, we will…
-
-
In 2021, Oracle decided to monetise Java by changing its licensing policy after JDK 17. Previously, businesses had to pay for updates and support, but with JDK 17, Oracle introduced the No-Fee Terms and Conditions (NFTC). This makes Oracle JDK free only for personal, internal business, and testing use. Redistribution is allowed as long as no fees are charged. However, NFTC does not apply if JDK 17 is obtained through other Oracle agreements like the Oracle Master Agreement. While Java seems free under NFTC, Oracle’s history of licensing changes means enterprises should be cautious. In short, JDK is no longer…
-
AWS Secrets Manager is a fully managed service that helps you easily store and retrieve credentials, API keys, and other sensitive data in a secure way. It integrates seamlessly with AWS Identity and Access Management (IAM) to ensure that only authorized users and applications can access your secrets. Beyond simple storage, it also offers basic security practices like automatic rotation of secrets. The main idea of using AWS Secrets Manager is that you no longer need to hardcode sensitive information in your applications or configuration files. Instead, you can reference them securely and fetch them when needed. This practice, sharply…
-
Cloud computing is a concept that every developer and tester should understand within software industry in 2020s. Whether you are just starting or changing your career; or preparing for a job interview, the basic understanding of cloud computing can set you apart from your competitors. In this blog post, I will take you through the basics of cloud computing, how it works, and the key services provided by the two most common cloud platforms. What is Cloud Computing? Cloud computing is a providing computing services (like servers, storage, databases, networking, software, analytics, and all related infrastructure) based on a remote…
-
Containerization became one of the recent trends in software development technology, because of its advantages with deployment and scalability and it is not for the first time I am writing about dockerizing an app. No doubt, Docker practically is the only platform for containerization, and it provides developers a convenient method to bundle applications and their prerequisites into efficient containers. It also guarantees uniformity across very different environments. In this post, I will explore the steps involved in containerizing a React application using Docker, starting from the creation of a fundamental React component and concluding with its execution within a…
-
We often hear the terms “stateful” and “stateless”. Understanding these concepts has a critical importance since it is one of the most essential questions when designing and architecting software applications. In today’s blog post, I wanted to talk about these two very basic concepts. As the simplest definition, stateful application means an application which remembers the past, similarly, stateless application means an application which doesn’t remember the past. The state we have been talking about might be saved in a database, a file on the disk, a cookie in a browser etc. As an example, consider an e-commerce website. When…
-
Keeping things secure is the important part of any application. As entire internet going to cloud, Azure Active Directory (AD) is one of the best possible among one of two popular options. It helps manage who can use your app and what they can do. Let’s see how to set up Azure AD for a C# and Java Spring Boot backend, and a React frontend to make sure only the right people get in. First, go to the Azure portal and make a new Azure AD tenant if you don’t have one yet. Then, register your app in Azure AD.…
-
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…
-
A few weeks ago, we were discussing a problem with my team mates and a colleague raised a question about a very basic distributed remote caching problem which was about an application scaled out across multiple instances, managing how data is cached can become a significant challenge. Let me take the shortcut and directly jump into the problem. Consider a scenario where you have multiple instances doing the same job and you need to cache the result of a function which takes about 30 seconds. This function’s result needs to be cached to avoid redundant executions across different instances. The…