Posts

Cloud Computing, Cloud Native & Kubernetes by Rahul

Persistent Volume Management and Expansion in Kubernetes with Azure Kubernetes Service

Jul 17, 2021 · 9 min read

Applications or databases running out of disk space are a common issue that the Operations team addresses regularly. This problem has existed since the days we used to host applications on bare metal servers and is still present in virtualized and container environments. However, since we have reached a stage where the compute and storage systems are decoupled from each other, granting additional storage to applications rarely requires updating the application or modifying the underlying application host infrastructure.

#azure#kubernetes

Read more of Persistent Volume Management and Expansion in Kubernetes with Azure Kubernetes Service

Bulk Copy Data Sharing Pattern for Applications in Azure with Data Explorer, Data Factory & Cosmos DB

Jul 12, 2021 · 12 min read

In the initial stages of a data platform development, data size is small, and you can easily share it via email or services such as Power BI. However, once the platform grows, and different parts of the business become dependent on it, sharing data between systems becomes a big challenge. In a majority of the data-driven systems, one of the two patterns is used for consuming data. Low volume and high frequency: Consuming small amounts of data (usually one or a few records) at very high frequency.

#azure#analytics

Read more of Bulk Copy Data Sharing Pattern for Applications in Azure with Data Explorer, Data Factory & Cosmos DB

Building Reliable Kafka Producers and Consumers in .NET

Jun 30, 2021 · 9 min read

Sending messages reliably and quickly between services is a core requirement for most distributed systems. Apache Kafka is a popular, durable message broker that enables applications to process, persist and re-process streamed data with low latency, high throughput, and fault tolerance. If you are a beginner in Kafka, please consider reading the articles in my Apache Kafka series to get up to speed in no time. One of my Twitter friends, among others, reached out to me to understand how to implement retries in Kafka.

#integration#programming

Read more of Building Reliable Kafka Producers and Consumers in .NET

Product Lifecycle: Ash Maurya Model

May 23, 2021 · 6 min read

As an engineer, to succeed in product development, you have to change your perspective and move from valuing technology or the product to focusing on the business model. As an entrepreneur or a product manager, you have to understand that you are not developing a product but a business model. A product manager must continually ask themselves the question: What is the minimum experiment I should do next to minimize uncertainty (or learn) the most?

#product-management

Read more of Product Lifecycle: Ash Maurya Model

Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 2 - Project Tye

May 08, 2021 · 10 min read

In this series: Distributed Tracing with Jaeger Simplifying the setup with Tye (this article) Tye is an experimental dotnet tool from Microsoft that aims to make developing, testing, and deploying microservices easier. Tye’s opinionated nature greatly simplifies the lifecycle of development and deployment of .NET Core microservices. To understand the benefits of Tye, let’s enumerate the steps involved in the development and deployment of the DCalculator application to Kubernetes:

#azure#programming#web

Read more of Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 2 - Project Tye

Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 1 - Distributed Tracing

Apr 26, 2021 · 7 min read

In this series: Distributed Tracing with Jaeger (this article) Simplifying the setup with Tye Modern microservices applications consist of many services deployed on various hosts such as Kubernetes, AWS ECS, and Azure App Services or serverless compute services such as AWS Lambda and Azure Functions. One of the key challenges of microservices is the reduced visibility of requests that span multiple services. In distributed systems that perform various operations such as database queries, publish and consume messages, and trigger jobs, how would you quickly find issues and monitor the behavior of services?

#azure#programming#web

Read more of Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 1 - Distributed Tracing

Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs

Apr 11, 2021 · 10 min read

In this series: Development environment and Event producer Event consumer Azure Event Hubs integration (this article) Azure Event Hubs is a horizontally scalable event ingestion service capable of receiving and processing millions of events per second. It supports Apache Kafka Producer and Consumer API that you can use as an alternative to running a self-managed Apache Kafka cluster. Now you can integrate the Kafka ecosystem applications such as Kafdrop and many others with Event Hubs.

#azure#integration#programming

Read more of Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs

Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer

Apr 04, 2021 · 8 min read

In this series: Development environment and Event producer Event consumer (this article) Azure Event Hubs integration Let’s carry our discussion forward and implement a consumer of the events published by the Employee service to the leave-applications Kafka topic. We will extend the application that we developed earlier to add two new services to demonstrate how Kafka consumers work: Manager service and Result reader service. Source Code The complete source code of the application and other artifacts is available in my GitHub repository.

#azure#integration#programming

Read more of Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer

Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer

Mar 29, 2021 · 12 min read

In this series: Development environment and Event producer (this article) Event consumer Azure Event Hubs integration An event-driven architecture utilizes events to trigger and communicate between microservices. An event is a change in the service’s state, such as an item being added to the shopping cart. When an event occurs, the service produces an event notification which is a packet of information about the event. The architecture consists of an event producer, an event router, and an event consumer.

#azure#integration#programming

Read more of Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer

Build a Basic GraphQL Server with ASP.NET Core and Entity Framework in 10 Minutes

Mar 15, 2021 · 11 min read

Since I wrote my first GraphQL post in 2019, much has changed with GraphQL in the .NET space. The ongoing changes have also affected most of the documentation available online. This article will walk you through the steps to create a basic GraphQL API on ASP.NET Core using GraphQL for .NET, Entity Framework Core, Autofac, and the Repository design pattern. I chose the tech stack for the sample application based on the popularity of the frameworks and patterns.

#programming#web

Read more of Build a Basic GraphQL Server with ASP.NET Core and Entity Framework in 10 Minutes