In this article, we will see the features Kubernetes Ingress provides for content-based routing and traffic control inside the cluster.

Image for post
Image for post

What is Kubernetes Ingress?

Kubernetes Ingress provides a rule-based workflow that will setup the routing API objects inside the cluster. The Ingress APIs will facilitate content-based routing for the services with the external endpoints using an HTTP(s) load balancer that connects with the public internet. In some cases, the internal routing technique inside a Virtual Private Cloud.

HTTP(s) Load Balancer

The exposed service requires an HTTP(s) Load Balancer to connect with external traffic in Google Kubernetes Engine and the user receives low latency HTTP(s) connection with the help of Google Points of Presence. So, the service is connected to various Google Load Balancers using the Anycast routing method that determines the low-cost path to reach any closest Load Balancer nodes in the network. …


In this article, I will try to explain building a data caching service with MongoDB and Redis deploying under a minikube environment. The web application is written using the Go programming language.

Image for post
Image for post

Github: https://github.com/Deeptiman/go-cache-kubernetes

Installation

The development environment should have Go as a programming language, MongoDB as persistence storage, and Redis as data caching service.

Note: The following installation of MongoDB, Redis Cache is only supported in the local development environment and the Kubernetes deployment environment for each module follows a different setup.

Go

$ sudo apt-get update
$ sudo apt-get install golang-go

Setup the GOPATH

$ export GOPATH=$HOME/go
$ export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
$ source ~/.profile
$ go version
$ go version go1.15 …


In this article, We will see how we can deploy a MongoDB replica set into the Kubernetes as a StatefulSet. There is a brief understanding of StatefulSet is required before deploying MongoDB into the Kubernetes.

Image for post
Image for post

What is StatefulSet?

In stateful application, the N-replicas of master nodes manages several worker nodes under a cluster. So, if any master node goes down the other ordinal instances will be active to execute the workflow. The master node instances must be identified as a unique ordinal number known as StatefulSet.

StatefulSet design applies to all kinds of stateful applications such as MongoDB, Redis Cache, Kafka, and any other database management system that runs under a cluster. …


In this article, I will try to explain the features that Kubernetes provides to store sensitive data, credentials, auth token as Secret that will run under a Pod. Also, we will see a more robust approach to store Secrets using HashiCorp Vault.

Image for post
Image for post

Kubernetes Secrets

In application development, sensitive data storage is a critical operation. A single key or credential leak can bridge an entire database system in a network. So, Kubernetes provide flexibility where we can store a small size of data in different format like in a file system, environmental variable, and mount them into a volume. …


In this article, I’ll try to explain the significance of OffChain Storage in Hyperledger Fabric and also the offchaindata application that I have built to demonstrate the offchain storage implementation using the Go Programming language for Hyperledger Fabric.

Image for post
Image for post

OnChain and OffChain Transaction

The transaction flow in any blockchain platform is performed in two different layers. The transactions committed to the distributed ledger in the blockchain network is considered to be OnChain transaction and the transactions that are executed outside of blockchain and stored into any collection database such as CouchDB, StateDB are considered to be OffChain.

Blockchain more than just a Storage solution

The concept of blockchain technology is to store a large set of data with the capability of providing the current state for each transaction. The blockchain network will maintain a transaction history log for any changes performed in the distributed ledger data. This kind of technique separates Blockchain from traditional database storage technologies that are only designed to store the data in an organized manner. …


In this article, I’ll try to demonstrate a BlockReader application written Go programming language that extracts the various segments of a block structure in Hyperledger Fabric.

Image for post
Image for post

Introduction

BlockReader application extract and showcase the complete data structure of a Block that contains several transactions. The application will require a transaction id to query the ledger to retrieve the associated block. Then the application will follow the Block data structure to read the content of the Block.

Github:https://github.com/Deeptiman/blockreader

What’s inside the Block

There are three sections of a Block that store transaction information in the ledger.

BlockHeader

The header consist of Block number, copy of the previous block hash and the current block…


In this article, I’ll explain the importance of CouchDB as a State Database in Hyperledger Fabric.

Image for post
Image for post

Introduction

Hyperledger Fabric uses state databases to store the ledger records in the World State. The State Database includes LevelDB and CouchDB to be flexible for the developer to verify the records. LevelDB stores the records in key-value pair whereas CouchDB stores records in JSON format with the rich query to the data collection. …


In this article, I’ll explain the technique used in serializing structured data using Protobuf in Hyperledger Fabric.

Image for post
Image for post

Chaincode and SmartContract

In hyperledger fabric, Chaincode is a specific program that handles the core business logic agreed by the group of participants in a blockchain network. Hyperledger fabric also uses a data format technique called SmartContract defined for a specific set of a data model within a Chaincode. Chaincode can have multiple sets of SmartContract to work as a transaction logic that controls the different data models. In simple words, SmartContract governs the transactions, whereas Chaincode governs how smartcontract are packaged for deployment.

Example: If a few user records need to be stored into the ledger then we need to have a SmartContract defining all required data fields of a single user.


In this article, I will try to give you an overview of Hyperledger Fabric’s specialization in user data confidentiality and providing Private Data architecture for the developers.

Image for post
Image for post

Introduction

In many blockchain platforms such as Ethereum and Bitcoin, data confidentiality is a kind of excluded item in their blockchain framework. In these distributed blockchain platform transactions are executed in every participant node in the network. So, every transaction in the network can be visible to all the peers. The ledger update process through all the endorsed peers and has to reach an agreement among all before it committed successfully to the ledger. …


In this article, I will demonstrate a Multi Organization application that I have developed using Hyperledger Fabric Go SDK. I will provide the complete step by step installation and building process in this article.

Image for post
Image for post

Introduction

MultiOrgLedger is a web application written in Go to demonstrate the Multi Organization setup in a Hyperledger Fabric network. The blockchain network consists of four organizations joined with a single channel. The ledger data created in an organization can be accessible by the other participating organization in the network.

Github : https://github.com/Deeptiman/multiorgledger

First, we need to follow a series of installations in the local PC environment to get the project running.

About

Deeptiman Pattnaik

Working on various software development projects, [Android, Go, Blockchain, Node.js, MongoDB, JavaScript, Kubernetes, Docker]

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store