Make Kubernetes and Platform Engineering Easier Part 3: Tool Management
Tags: kubernetes, devops, programming, cloud
Published: 2023-09-18 16:21:40

Have you looked at the tool list lately for cloud-native and Kubernetes? How about the vendor list? The truth is, there are a lot of tools available that make your life easier from an engineering perspective. The problem is that there are just too many and engineers don’t know where to focus or how to become an expert in them all (which is impossible).

In parts one and two of the Make Kubernetes and Platform Engineering Easier series, you learned all about AIOps for predictive analysis of how your cluster and applications are performing and how monitoring/observability come into the mix to make your life easier to truly understand how your environment is performing.

In part three, you’ll learn all about one of the absolute hardest things to manage in today’s world, tools.

## Why The Idea Of Platform Engineering Matters

There are a lot of assumptions, guesses, and objective opinions on what Platform Engineering is truly set out to do. Although the true definition is lengthy and could take up an entire blog post in itself, the long and short of it is Platform Engineering gives us the ability to make engineer's and developer's lives easier with more efficient practices.

One of the most efficient practices from a Platform Engineering perspective is the ability to give engineers and developers a portal, or automated method, to use tools without having to become an expert in those tools.

Whether it’s GitOps, cost optimization, resource optimization, declarative workflows, service mesh, or anything else that falls into the tools/add-ons category for Kubernetes have entire configurations in themselves. In fact, literal books are written about these tools/platforms. That’s how much information there truly is about them.

Most engineers and developers can’t dedicate the time to become an expert in all of these tools because they have their day jobs to worry about. It’s a huge load from a cognitive perspective. That’s why Platform Engineering teams are beginning to emerge. The goal is to help separate responsibilities and concerns, but still give all engineers and developers a way to use the tools. 

## Tool Management

If you take a look at the CNCF landscape, there are over 1,000 tools alone. That doesn’t count the hundreds or probably even thousands of tools that aren’t under the CNCF. All of these tools are created by vendors, and all of these vendors set out on a mission to make “something” easier. That “something” could be anything from automated deployments to cluster management to application management and anything else. 90 percent of problems that engineers face, there’s a tool available for it.

Here’s the problem - that’s a lot of tools. It’s a lot of tools that engineers have to manage, learn, understand, and become as close to an expert as possible. It’s too much. It’s too much responsibility for every single developer and engineer to know and understand. The amount of tools available right now is just too much and engineers can’t keep up. They have no idea which direction to go in.

One of the goals of Nethopper is to help mitigate this. As you’ll see in the two upcoming sections, one feature from Nethopper gives you the ability to manage and install tools with a literal click of a checkmark. The idea is that Nethopper manages the tools for you and you just use the tools. Yes, you have to learn and understand the tool, but you don’t have to become an architecture or implementation expert of the tool. That stuff is handled for you by Nethopper.

One thing you’ll notice is that there are a few tools on the list. Because Nethopper is still new, you won’t see every single tool in the landscape available. However, that’s definitely the end goal for Nethopper.

## Installing Tools With Nethopper

With the idea of the “why” something like Nethopper would be beneficial for managing and deploying tools to Kubernetes clusters, let’s learn how to do it.

First things first - you’ll need to start the network creation process. For more information on Nethopper networks, see the link found [here](https://www.nethopper.io/gitops-vs-standard-networks).

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q16w6vm1t0rh1qpcc45c.png)


One of the first options you’ll see when defining the network is the Network Features, and the Network Features are where you’ll see the tool management section.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thmgzzk6g9r0l5wr3mst.png)


Once you click on the Network Features, you’ll see all of the tools available from a management perspective and how you can simply click a check box to install them. Behind the hood, Helm Charts will get kicked off, installed, and managed by Nethopper.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmn5ykwlrasjc4029760.png)

You can also unselect tool options if you choose not to use them within your environment.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eh60c0g4jah8l95qwevx.png)


Once your Kubernetes cluster is up and running, you can see the tools that are available.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nah05261mdcmg9yi1yq1.png)


## Managing Tools With Nethopper

Outside of installing tools with Nethopper, you can also manage the tools and uninstall them. Within your Network, click the Edit button.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2gvogox0e6msuxb6de0.png)


Once you click the edit button, click on the Network Features box.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hkup5ajpc3pusnnfonb.png)


Within the Network Features, you can deselect tools that are installed.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/povdudoqm8i8v7jydi8x.png)


Once you deselect them, the tools will be removed from your Kubernetes cluster. You can re-install them later with Nethopper if you choose to.