Kubernetes Autoscaling with Custom Metrics (Updated)

In the previous blog post about Kubernetes autoscaling, we looked at different concepts and terminologies related to autoscaling such as HPA, cluster auto-scaler, etc. In this post, we'll do a walkthrough of how Kubernetes autoscaling can be implemented for custom metrics generated by the application.

Why Custom Metrics?

The CPU or RAM consumption of an application may not indicate the right metric for scaling always. For example, if you have a message queue consumer that can handle 500 messages per second without crashing. Once a single instance of this consumer is handling close to 500 messages per second, you may want to scale the application to two instances so that load is distributed across two instances. Measuring CPU or RAM is a fundamentally flawed approach for scaling such an application and you would have to look at a metric that relates more closely to the application's nature. The number of messages that an instance is processing at a given point in time is a better indicator of the actual load on that application. Similarly, there might be applications where other metrics make more sense and these can be defined using custom metrics in Kubernetes.

Using Python for Accounting And Finance Applications

The global FinTech market was valued at $127.66 billion and is expected to reach $309.98 billion at a CAGR of 24.8%, a report by PRNewsWire suggests. The staggering growth is the result of digital payments and transactions. From investors and traders to personal loan customers, everyone is hooked to FinTech.

If you are building FinTech products to cater to this multiplying need, you are on the right track.

Small Peek Into Bash

What is bash? Bash is that black screen that normally appears in Linux as the terminal. Bash is a Unix shell written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. It was released in 1989 and has been distributed as the Linux and macOS default shell for a long time.

Shells and Modes

The user bash shell can work in interactive and non-interactive login shells.

  • Interactive login shell: You log into a remote computer, for example via ssh. Alternatively, you drop to a tty on your local machine (Ctrl+Alt+F1) and log in there.
  • Interactive non-login shell: Open a new terminal.
  • Non-interactive non-login shell: Run a script. All scripts run in their own sub shell and this shell is not interactive. 
  • Non-interactive login shell: This is extremely rare, and you're unlikely to encounter it. One way of launching one is echo command | ssh server. When ssh is launched without a command (so ssh instead of ssh command which will run command on the remote shell) it starts a login shell. If the stdin of the ssh is not a tty, it starts a non-interactive shell. This is why echo command | ssh server will launch a non-interactive login shell. You can also start one with bash -l -c command.

Comments

Scripts may contain comments. Comments are special statements ignored by the shell interpreter. They begin with a # symbol and continue on to the end of the line.

2021 Playbook: Enforcing Zero Trust for All Identities

As we reflect on 2020, we can all agree that COVID-19 heavily impacted office workers and our organizations' security, accelerating digital transformation projects and cloud adoption. Looking ahead, it’s evident that the pandemic, coupled with our current economic climate, will continue to tax the identity and access management (IAM) practices of organizations worldwide. This will challenge us all to minimize access-related risks across traditional data centers, cloud, and multi-cloud IT infrastructures.

With IT administrators, security teams, and regular enterprise users dispersed and relying heavily on remote access to corporate systems, DevOps environments, and applications, threat actors enjoy an expanded threat surface with many more vectors of attack at their disposal. There’s more opportunity to exploit human imperfections with phishing and other social engineering campaigns, compromising credentials to access our IT infrastructure and data.

OSIsoft PI Historian Connector for MuleSoft

Hi there,

In this short tutorial, I will quickly walk you through our brand new OSIsoft PI Historian connector for Mule 4. This connector is developed by IntegrationWorks Australia and you can reach out to us if you want to know more about this connection.

How to Run Apache Kafka on Windows

This blog post was originally published on the Confluent blog.

Is Windows your favorite development environment? Do you want to run Apache Kafka® on Windows? Thanks to the Windows Subsystem for Linux 2 (WSL 2), now you can, and with fewer tears than in the past. Windows still isn’t the recommended platform for running Kafka with production workloads, but for trying out Kafka, it works just fine. Let’s take a look at how it’s done.

Deploying a LoRaWAN Network Server on Azure

There is something oddly fascinating about radio waves, radio communications, and the sheer amount of innovations they've enabled since the end of the 19th century.

What I find even more fascinating is that it is now very easy for anyone to get hands-on experience with radio technologies such as LPWAN (Low-Power Wide Area Network, a technology that allows connecting pieces of equipment over a low-power, long-range, secure radio network) in the context of building connected products.

On Matters of Cloud Success With Ian Moyse [Podcast]

In the year 2020, cloud adoption accelerated within enterprises, as they were forced to find ways to innovate and respond to the challenges associated with COVID-19. The pandemic seemingly validated the value proposition offered up by the cloud, with adoption allowing organizations to enhance their support for remote working setups, optimize IT costs, and ensure that their operational infrastructure is more resilient than ever.

In this episode of cocktails, Technology Sales Leader and Cloud Social Influencer Ian Moyse discusses with David Brown the barriers organizations face with cloud adoption, the impact of emerging technologies such as 5G and edge computing on the cloud, and the increasing security challenges, risks, and opportunities involved in cloud adoption.

IoT Platform Comparison: Six Vendors to Keep Watching in 2021

We compare some of the most exciting IoT platforms on the market right now, the ones that check all the boxes when it comes to innovation: Balena.io, Particle.io, Thingworx, Siemens Mindsphere, Adamos, and Record Evolution.

What Is an IoT Platform?

An IoT platform is the middleware and the infrastructure that enables end-users to interact with smart objects. They function as the software bridge between the hardware and application layers. The IoT platform orchestrates the movement of data between IoT devices and IoT applications, providing application-level capabilities for humans to interact with the IoT system. 

ReactJs Pagination: How Do You Page Your Data With React.js Pagination?

What Is React.js Pagination?

Who doesn’t know what Pagination is? 

Imagine you are reading a book without any page numbers? It wouldn't be weird if there wasn't the concept of paging. So, if your friend asks you how many pages you finished, what will you answer? Or, let us take an even worse case; suppose somehow there is an incident that has happened, and you lost some pages from your book, and the book had really important information. Now, you have no idea which pages or which information you lost! That’s really scary, isn’t it? 

Flip on the Testing Switch for Ops-DevOps Engineers

If you are an operations or infrastructure type engineer, testing may mean traditional “QA”, UAT, or the newer test automation. An alternate way to think about tests is that you are asking a question about the software or infrastructure. The question is open-ended — there is no definitive answer. What will happen when the instance runs out of disk space? It will trigger an alert. Will it? For example, why did the bedroom alarm clock not ring on the day of your important meeting? If the alert is triggered, will the people who are paged know how to respond? If we have a separate operations team, will they understand the application to troubleshoot the alert? What are the different situations for when the instance can run out of space? Let’s call these type of questions tests.

There is another type of question for which we know the outcome. I verify that the new instance of WordPress is working by logging into the application using the username, ‘admin’, and the password, ‘password’. I could use different types of usernames and passwords. I could maybe try different lengths of strings and different characters. When you know the outcome of the question, we can call these checks.