Image for post
Image for post

Extending Kubernetes is a series of articles that explore different options available to extend the Kubernetes system’s functionality. The series discusses some of the methods to extend the functionality of Kubernetes.

In this part 2 of the series, we will discuss how to develop a Mutating Webhook.

Admission Controllers

Kubernetes Admission Controllers are component that intercepts API requests and can accept or reject the API requests. Admission controllers can modify, approve, or deny the incoming API requests. There are many admission controllers are there in the Kubernetes system. …


Image for post
Image for post

Kubernetes is an open-source container orchestration project and is one of the most successful projects in the Cloud Native era. Kubernetes started as an internal project at Google. Google open-sourced Kubernetes in 2014. Since then, it has emerged as the most popular application platform in the cloud and an integral part of Cloud Native development.

Extending Kubernetes is a series of articles that explore how to extend the Kubernetes system. Starting with Operators, we will explore many other ways to extend the functionalities of the Kubernetes system.

Extending Kubernetes

Many features make Kubernetes great. Some of them are, the ability to automate…


Image for post
Image for post

In my previous article, we looked into how to auto-scale an Azure Function with RabbitMQ trigger using KEDA. In this article, we will explore how to develop a custom external scaler for KEDA. In this article, we will create an external scaler for Apache Pulsar.

What is KEDA?

KEDA is Kubernetes Event-Driven Autoscaling. KEDA is a lightweight component that determines when a container should be scaled. KEDA works along with Kubernetes’s Horizontal Pod Autoscaler. KEDA can scale any container in Kubernetes from 0 to n based on how many events are waiting to be processed.

KEDA can process Kubernetes Deployments and Jobs. Deployments…


Image for post
Image for post

This article is part two of the two-part series. In my previous article, we looked into how to create a custom trigger. In this article, we will look into how to create a custom binding.

Since this a continuation of my previous article, I highly recommend reading part one before this one so that you get a basic idea of fundamentals of the custom extension and what are going to build.

For the sake of clarity, I will summarize what…


Image for post
Image for post

In my previous article, we have explored how to use Azure Function and RabbitMQ. RabbitMQ Extension is a built-in extension provided by Microsoft. Azure Function also supports writing custom extensions. We can use the WebJobs SDK to write custom extensions.

This article is part one of the two-part series on how to write a custom extension for Azure Function. In this article, we will look into how to create a custom trigger. In part two, we will look into how to create a custom binding. …


Image for post
Image for post

In my previous article, we explored how to use RabbitMQ Extension for Azure Functions. We discussed how to create an Azure Function using RabbitMQ Extension. The function gets triggered when we send a message to a RabbitMQ Queue. We also discussed how to generate a Dockerfile so that we can use it in production environments.

In this article, we will explore how to deploy this function in a Kubernetes cluster and autoscale it using KEDA.

What is KEDA?

KEDA is Kubernetes Event-Driven Autoscaling. KEDA is a lightweight component that determines when a container should be scaled. KEDA works along with Kubernetes’s Horizontal Pod…


Image for post
Image for post

Azure Functions Serverless Compute is a platform that allows you to run functions that are triggered by events. Event Source can be anything like Http Endpoint, Message Queue, etc… There are many events supported by Azure Functions.

Microsoft provides many tools and libraries to make the development of functions that run in Azure convenient and easy. Microsoft has contributed the Azure Functions Runtime to the open-source community. Azure Functions Runtime/Host is a set of libraries for Azure WebJobs SDK. Azure WebJobs SDK is a framework to write background processing jobs that run on Azure. …


Image for post
Image for post

Edge computing is one of the indispensable technology nowadays. Edge computing enables the processing of data physically nearer to the devices that generate the data. Edge computing increases the speed at which data is processed and also reduces the load on the server. There are many commercial edge processing devices out there specifically made for this purpose only.

Edge computing devices process the data at edge locations closer to where it originates. When the data generated is at a lower rate, edge processing applications can process the data very quickly. But when the data generated at a high rate processing…


Recently I got one Sonoff WiFi Switch from Itead.cc. Sonofff WiFi Switch is an ESP8266 based wireless switch and has a 5V Relay with a voltage range of 90–250V. Itead provides a mobile application eWeLinK to operate the switch remotely. The switch also works with Amazon Alexa and Nest which is awesome. You can find more details about how to use the switch here and about Alexa integration here.

The switch comes with default ESP8266 firmware which provides the functionality to operate this remotely using the eWeLinK mobile application. But more advanced users can program theESP8266 chip on it. There…


As you all know Amazon recently release Alexa Smart Home Skill API. Amazon Alexa provides built-in smart home capabilities like turning on/off lights, control air conditioners, etc… Developer can use Alexa Smart Home Skill API to extend the smart home capabilities of Alexa. For Smart Home Skill APIs you don’t need to create a custom voice interaction models. Alexa has built-in standard interaction models for smart home, like:

Alexa, turn on lightsAlexa, set light to 50 percentage,Alexa, set the temperature to 24…

Previously Alexa works with a limited number of smart home devices like Philips Hue, etc… But with this…

Krishnaraj Varma

A Software Architect from Kerala, India, Open Source, Cloud Native enthusiast. Likes Golang, Rust, C/C++, Kubernetes, Kafka, etc.

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