Getting Started With Kubernetes Operators (Golang Based) - Part 3

Getting Started With Kubernetes Operators (Golang Based) - Part 3

Introduction:

In the first, getting started with Kubernetes operators (Helm based), and the second part, getting started with Kubernetes operators (Ansible based), of this Introduction to Kubernetes operators blog series we learned various concepts related to Kubernetes operators and created a Helm based operator and an Ansible based operator respectively. In this final part, we will build a Golang based operator. In case of Helm based operators, we were executing a helm chart when changes were made to the custom object type of our application, similarly in the case of an Ansible based operator we executed an Ansible role. In case of Golang based operator we write the code for the action we need to perform (reconcile logic) whenever the state of our custom object change, this makes the Golang based operators quite powerful and flexible, at the same time making them the most complex to build out of the 3 types.

Getting Started With Kubernetes Operators (Ansible Based) - Part 2

Getting Started With Kubernetes Operators (Ansible Based) - Part 2

Introduction:

In the first part of this blog series, getting started with Kubernetes operators (Helm based), we learned the basics of operators and build a Helm based operator. In this blog post, we will try out an ansible based operator. Ansible is a very popular tool used by organizations across the globe for configuration management, deployment, and automation of other operational tasks, this makes Ansible an ideal tool to build operators as with operators also we intend to eliminate/minimize the manual interventions required while running/managing our applications on kubernetes. Ansible based operators allow us to use Ansible playbooks and roles to manage our application on kubernetes. 

Getting Started With Kubernetes Operators (Helm Based) - Part 1

Getting Started With Kubernetes Operators (Helm Based) - Part 1

Introduction

The concept of operators was introduced by CoreOs in the last quarter of  2016 and post the introduction of operator framework last year, operators are rapidly becoming the standard way of managing applications on kubernetes especially the ones which are stateful in nature. In this blog post, we will learn what an operator is. Why they are needed and what problems do they solve. We will also create a helm based operator as an example.

How to Write Jenkinsfile for Angular and .Net Based Applications

How to Write Jenkinsfile for Angular and .Net Based Applications

If you landed here directly and want to know how to setup Jenkins master-slave architecture? than please visit this blog Setup Jenkins Master-Slave Architecture

The source code that we are using here is also a continuation of the code that was written in this GitHub Packer-Terraform-Jenkins repository.

Creating Jenkinsfile

We will create some Jenkinsfile to execute a job from our Jenkins master.

Here I will create two Jenkinsfile ideally, it is expected that your Jenkinsfile is present in source code repo but it can be passed directly in the job as well.

There are 2 ways of writing Jenkinsfile - Scripted and Declarative. You can find numerous points online giving their difference. We will be creating both of them to do a build so that we can get a hang of both of them.

Idiot-proof Coding with NodeJs and ExpressJs

Idiot-proof Coding with NodeJs and ExpressJs

NodeJs has become the most popular framework for web development surpassing Ruby on Rails and Django in terms of the popularity.The growing popularity of full stack development along with the performance benefits of asynchronous programming has led to the rise of Node’s popularity. ExpressJs is a minimalistic, unopinionated and the most popular web framework built for Node which has become the de-facto framework for many projects.
Note — This article is about building a Restful API server with ExpressJs . I won’t be delving into a templating library like handlebars to manage the views.

Kubernetes CSI in Action: Explained with Features and Use Cases

Kubernetes CSI in Action: Explained with Features and Use Cases

Kubernetes Volume plugins has been a great way for the third-party storage providers to support a block and/or file storage system by extending the Kubernetes volume interface and are “In-Tree” in nature.

In this post we will dig into Kubernetes Container Storage Interface. We will install CSI Driver for Hostpath locally just to get an idea of how it works by understanding its components and see what really happens during pvc/pv/pod lifecycle. Also we will look at some cool features which intends to give some important persistent volume related use case.

The Ultimate Cheat Sheet on Splitting Dynamic Redux Reducers

The Ultimate Cheat Sheet on Splitting Dynamic Redux Reducers

This post is specific to need of code-splitting in React/Redux projects. While exploring the possibility to optimise the application, the common problem occurs with reducers. This article specifically focuses on how do we split reducers to be able to deliver them in chunks.

What are the benefits of splitting reducers in chunks?

1) True code splitting is possible

2) A good architecture can be maintained by keeping page/component level reducers isolated from other parts of application minimising the dependency on other parts of application.

Using Packer and Terraform to Setup Jenkins Master-Slave Architecture

Using Packer and Terraform to Setup Jenkins Master-Slave Architecture

Automation is everywhere and it is better to adopt it as soon as possible. Today in this blog post we are going to discuss creating the infrastructure. For this, we will be using AWS for hosting our deployment pipeline. Packer will be used to create AMI’s and terraform will be used for creating the master/slaves. We will be discussing different ways of connecting the slaves and will also run a sample application with the pipeline.

Please remember the intent of the blog is to accumulate all the different components together, this means some of the code which should be available in development code repo is also included here. Now that we have highlighted the required tools, 10000 ft view and intent of the blog. Let’s begin.

What is Gatsby.Js and What Problems Does it Solve?

What is Gatsby.Js and What Problems Does it Solve?

According to their site, “Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps”. Gatsby allows the developers to make a site using React and work with any data source( CMSs, Markdown, etc ) of their choice and then at the build time it pulls the data from these sources and spits out a bunch of static files that are optimized by Gatsby for performance. Gatsby loads only the critical HTML, CSS and JavaScript so that the site loads as fast as possible. Once loaded, Gatsby prefetches resources for other pages so clicking around the site feels incredibly fast.

A Step Towards Simplified Querying in NodeJS

A Step Towards Simplified Querying in NodeJS

Recently I came across a question on stackoverflow regarding querying the data on relationship table using sequalize and I went into flashback with same situation and hence decided to write a blog over a better alternative Objection.js. When we choose ORM’s without looking into the use case we are tackling we usually end up with mess.

The question on stackoverflow was about converting the below query into sequalize query.

An Innovator’s Guide to Kubernetes Storage Using Ceph

An Innovator’s Guide to Kubernetes Storage Using Ceph

Kubernetes, The awesome Container orchestration tool is changing the way applications are being developed and deployed. You can specify the required resources you want, and have it available without worrying about the underlying infrastructure. Kubernetes is way ahead in terms of high availability, scaling, managing your application, but storage section in the k8s is still evolving. Many storage supports are getting added and are production ready. People are preferring clustered applications to store the data. But, what about the non-clustered applications? Where does these applications store data to make it highly available? Considering these questions, let’s go through the Ceph storage and its integration with kubernetes.

How Much Do You Really Know About Simplified Cloud Deployments?

How Much Do You Really Know About Simplified Cloud Deployments?

In the following article, we will present the typical components of a multi-tier application and how it is setup and deployed.

We shall further go on to see how the same application deployment can be remodeled for scale using any Cloud Infrastructure. (The same software toolchain can be used to deploy the application on your On-Premise Infrastructure as well)

The tools that we propose are Nomad and Consul. We shall focus more on how to use these tools, rather than deep-dive into the specifics of the tools. We will briefly see the features of the software which would help us achieve our goals.