Git Branching strategies

Git Branching strategies

GIT branching strategies are conventions, or a set of rules, that describes when branches are created. Choosing the right branching strategy is key to empower development teams to collaborate effectively.

January 28, 2020 · (updated February 5, 2024) · 11 min · Pradeep Loganathan

DynamoDb - RUNNING locally using docker

DynamoDb from AWS is a major player in the cloud NoSQL database market. It can scale globally and is blazing fast when used appropriately. There are a bunch of reasons to use Dynamodb locally, the primary ones being development cost and integration testing. DynamoDB does not have a desktop install, however thankfully, AWS has created a Docker image to enable running DynamoDb locally. To run DynamoDb locally pull the docker image using the command...

January 27, 2020 · (updated January 16, 2022) · 2 min · Pradeep Loganathan
Configuration in a .Net Core Console application

Configuration in a .Net Core Console application

Adding configuration to a .Net core Console application to read configuration from a json file, or environmental variables or command line arguments.

December 20, 2019 · (updated February 9, 2024) · 3 min · Pradeep Loganathan
What is HTTPS?

What is HTTPS?

HTTPS is a network protocol used to serve up web pages. HTTPS, or HTTP Secure, was designed to secure communications between a client and the HTTP server. It is a protocol that uses a secure connection to transfer data over the internet.

September 27, 2019 · (updated March 1, 2024) · 6 min · Pradeep Loganathan

How do you increment a counter? -

Many moons ago I was working on an online eCommerce platform. The platform used to undergo massive traffic spikes periodically. I was trying to implement a distributed counter. I was using a distributed counter because I wanted to be able to increment the counter on multiple servers. CAP Theorem The CAP theorem was proposed by Eric Brewer. CRDT CRDT stands for conflict-free replicated datatype. Conflict-free replicated datatype describe data-types that can be replicated across multiple computation units or nodes, they can be updated concurrently without any coordination, and then merged to get a consistent state....

September 2, 2019 · (updated March 7, 2022) · 3 min · Pradeep Loganathan

Threat Modeling

Threat modeling is an effective tool used to understand the threat landscape within an enterprise network. Threat modeling is a security practice for the team to identify threats, attacks, and risks based on the existing architecture design, and to mitigate these potential security risks. It is the process of looking at all the significant and likely potential threats to a scoped scenario, ranking their potential damage in a given time period, and figuring cost‐effective mitigations to defeat the highest‐priority threats....

August 21, 2019 · (updated January 16, 2022) · 6 min · Pradeep Loganathan

Chaos Engineering

Introduction “Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the system’s capability to withstand turbulent conditions in production.” Priciples of Chaos Engineering Introduction In modern, rapidly evolving distributed systems, components fail all the time. These failures can be complex as they can cascade across systems. System weaknesses such as latency, race conditions, byzantine failures etc can be exacerbated in the face of large traffic volumes....

August 13, 2019 · (updated January 16, 2022) · 6 min · Pradeep Loganathan

Infrastructure as Code

Infrastructure as code (IaC) is the process of provisioning and managing your infrastructure resources through definition files or code.

July 29, 2019 · (updated February 2, 2024) · 7 min · Pradeep Loganathan

Service Mesh

Imagine a green, sustainable city, meticulously designed for environmental harmony and efficiency. The city has many distinct localities such as neighborhoods, districts, and even villages with their own identity and cultures. This city boasts an intricate public transport system, with buses, trams, and subways efficiently transporting citizens to their destinations from its various localities. Multiple such cities are connected together in a thriving, fast-paced ecosystem. The cities are also similarly connected in an efficient and sustainable design....

July 24, 2019 · (updated November 17, 2023) · 4 min · Pradeep Loganathan

Sidecar container pattern

Sidecar pattern is a single-node pattern made up of two containers. It involves co-locating another container in a node/pod along with the main application container. The application container contains the core logic for the application. The role of the sidecar is to augment and improve the application container, often without the application container’s knowledge. In its simplest form, a sidecar container can be used to add functionality to a container that might otherwise be difficult to add....

July 24, 2019 · (updated November 30, 2023) · 3 min · Pradeep Loganathan