Developer led Kubernetes experience
Tags: kubernetes, webdev, tutorial, javascript
Published: 2022-05-04 00:43:42

It’s no secret that Kubernetes is complex, and hence, many organizations rely heavily on building a DevOps team to implement and manage it.

While Kubernetes enables you to build a scalable infrastructure where you can run your applications at scale, it introduces a dependency on the DevOps team, poor developer experience, and an increase in costs. 

These are points that many development-led teams don’t want to deal with, especially in organizations where delivering your application is the top priority, you need a developer self-service model, and you want to make sure both complexity and costs are under control.

You can do that today by implementing an Internal Developer Platform. We will use Shipa as the Developer Platform, and you can create a free account here.

## Requirements

- [A Shipa Cloud account](https://apps.shipa.cloud)

- A Kubernetes cluster

## Getting Started

You can get started by creating a Framework. This is how Shipa will connect to your cluster and allow you to deploy applications without all the complexity Kubernetes introduces.

Create a Framework by clicking on the **Frameworks** option on your left menu, then click on **Create**

![Creating a Framework](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kyud2hiorhh6xrbbuoeu.png)

Although you can use Frameworks to enforce policies, we will keep things simple for this example. Choose the **Deploy applications with reasonable defaults** option and click on **Next**.

> You can later create multiple frameworks to help you isolate applications, which is excellent if you plan to build a multi-tenant environment.

Enter the Framework name and the resource limit plan (you can use the pre-created _shipa-plan_), and choose the default team (_shipa-team_). Click on **Create**

![Creating a Framework](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppcukhr4hsz715m0o99a.png)

With your Framework created, connect it to your Kubernetes cluster. 

Click on the **Clusters** menu option and then on **Create**

![Connecting to a Cluster](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7332a01izn1vio9n4d6.png)

Select the Framework (or Frameworks) you created and enter your Kubernetes API endpoint, which you can get by running the following command from your terminal (assuming you are connected to your cluster):

`kubectl cluster-info | grep 'Kubernetes' | awk '/http/ {print $NF}'`

That’s it! You have a developer platform connected to your Kubernetes cluster without dealing with any Kubernetes complexity. Let’s deploy an application. Click on the **Applications** menu option and then on **Add Application**.

![Deploying an Application](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy4sqwyz1lzhbu3ss7jk.png)

You can quickly test the application process and experience by entering an application name and selecting the default team and framework you just created.

You can use a sample image for the application image by clicking on the _TEST WITH SAMPLE IMAGE_ button.

Clicking on **Deploy** will get the deployment process started, and, in a few seconds, you will see your application available and running.

![Application Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txhac7mx7h29hh56bba2.png)

By clicking on the application name, Shipa will give you complete information about your application, status, metrics, history, and more:

![Application Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e0khxdl9oe9j16c3nod8.png)

Shipa automatically creates a URL endpoint you can use to access your application.

That’s it. In just a few minutes, you can connect to any Kubernetes cluster and start deploying and managing applications without dependency on a large and specialized Kubernetes team!