Posts

Cloud Computing, Cloud Native & Kubernetes by Rahul

Minimizing Microservices Complexity with Reusable APIs

Sep 27, 2021 · 17 min read

Developers build modern enterprise applications on the orchestration of a complex network of microservices. Over time, as the number of applications and microservices increases, the complexity of the orchestration increases as well. Complexity in typical microservices architecture Reusable APIs address the problem of complexity by allowing multiple applications to rely on a few independent microservices that expose the data and functions of their domain. Why Should We Build Reusable APIs?

#kong#kubernetes

Read more of Minimizing Microservices Complexity with Reusable APIs

Three Fundamental Components of a Reusable .NET Microservices Platform

Sep 26, 2021 · 9 min read

Development teams frequently need to build new microservices to either add new functionality or replace existing microservices. However, microservices must support some standard features such as providing insight into their health through logging, allowing monitoring, and following the organization’s security standards. A reusable microservices platform can help developers jumpstart the development process by providing reusable components that they can use to build new microservices. To implement a reusable microservices platform, you can use the sidecar pattern or build NuGet packages that are installed in every microservice.

#programming

Read more of Three Fundamental Components of a Reusable .NET Microservices Platform

Versatile Events in Event Driven Architecture

Aug 12, 2021 · 10 min read

Simple applications rely on synchronous request-response protocols. It is one of the most common patterns we encounter every day in applications and websites where you press a button and expect a response. As the number of services increases, the number of synchronous interactions between them increases as well. In such a situation, the downtime of a single system also affects the availability of other systems. Synchronous interaction channels between services Google defines a set of principles and practices for attaining a high Service Level Agreement (SLA) by increasing the SLA of individual services.

#azure#architecture

Read more of Versatile Events in Event Driven Architecture

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

🎁Special Giveaway@ManningBooks just launched Data Engineering on #Azure by @vladris. I am giving away 5 eBooks to my Tweeps!! Rules πŸ‘‡πŸ» β™₯ Like πŸ‘‰πŸ» Follow me πŸ”ƒ Retweet and tag your friends in comments who may be interested#contest #giveaways #ebooks pic.twitter.com/hc7jNqCj25 — Rahul Rai (@rahulrai_in) July 12, 2021 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.

#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