Zero-cost automation for Kubernetes developers - A self-hosted DevOps platform
Tags: devops, kubernetes, productivity, cloud
Published: 2022-07-14 05:42:55

Kubernetes containerization and container orchestration are rapidly increasing, according to the [Cloud Native Survey from 2020](https://www.cncf.io/reports/cloud-native-survey-2020/), the usage of containers in production **jumped 300%**. But simultaneously the challenges involved in the onboarding process all increased, as per a report by D2IQ almost all organizations (96%) face challenges and complexities during initial deployments of containerized applications (called Day 2 Operations in DevOps language) and cite Kubernetes as a source of pain. In this blog, I’m going to highlight the challenges in adopting Kubernetes & how gopaddle lite (Community Edition) resolves it.

## Challenges adopting Kubernetes 

- **Deployment Complexities and manual tasks**

Deploying an application into Kubernetes are not effortless as it involves a lot of manual scripting. For instance, to deploy an application to Kubernetes an engineer has to write manifest files in YAML or JSON format and write **kubectl** commands to deploy those manifest files. For a single application, it might be an easy process but to deploy multiple applications by multiple developers across multiple environments (DEV/QA/PROD) across multiple clouds and on-premise environments  - it's an arduous task.

- **Overdependent on experts and burnout**

Lack of Kubernetes knowledge and expertise makes developers and application teams heavily dependent on the DevOps or the Site Reliability Engineering (SRE) teams to continuously help them create K8s manifiests and automate continuous monitoring, alerting, and remediation to keep the applications highly available. The process of follow-up and collaboration across various teams to get the changes deployed takes away a lot of time from all the stakeholders. Furthermore, with shorter deadlines and immense pressure to meet the business objectives, the teams end up spending long hours deploying their changes. 

- **Dealing with security challenges**

Kubernetes does not enforce security policies. Developers have to configure policies to discover vulnerabilities and security issues in their application and in their Kubernetes environments.

## How gopaddle lite simplifies Kubernetes adoption?

**gopaddle lite** Community Edition is an easy-to-manage Kubernetes automation platform for startups, developers, and learners. It is a **no-code** platform to build, deploy and maintain Kubernetes workloads on Kubernetes environments on local desktops, on-premise, and on a cloud. It offers three main capabilities:

1. **Accelerate modernization**  —  With its intelligent scaffolding, gopaddle can transform code into Kubernetes deployments in minutes.

2. **Increase productivity**  —  With its out-of-the-box tools integration and ready-to-use templates (gopaddle marketplace), gopaddle reduces the overhead of tedious maintenance and increases productivity.

3. **Automate CI/CD** —  Automates DevOps processes, like Continuous Integration and Deployments, monitoring, logging, and alerting.

|                     | Traditional Method | gopaddle Lite|
|---------------------|--------------------|--------------|
| Base Image          | Manual Preparation | Intelligent scaffolding discovers the application and suggests best-fit base Images based on the nature of the application        |
| Dockerfile          | Manual             | Auto-Generated        |
| YAML or JSON        | Manual             | Auto-Generated  |
| vulnerability scans | Third-Party Tools  | Native and customizable |
| Complexity          | High               | Low           |
| Time duration for the entire process | Months | Mins to hours based on the nature of the application |
| Continuous Integration | Requires automation effort | Built-in |
| Monitoring/Logging | Requires automation effort | Built-in|
| Alerts and Notifications | Requires automation effort | Built-in & can be integrated with 3rd party tools |

Installing gopaddle lite on your local desktop (or) on-premise (or) cloud-based is just a 2 step process. As a pre-requisite, you need to setup microk8s cluster v 1.24 on an environment with 32GB RAM and 8 vCPU. Once the microk8s cluster is ready, you can add the gopaddle lite repo to microk8s addon and then enable it. This brings up all the gopaddle lite services as Kubernetes services and waits for all the services to move to running state.

```sh
$ sudo microk8s addons repo add gp-lite \
 https://github.com/gopaddle-io/microk8s-community-addons-gplite.git

$ sudo microk8s enable gopaddle-lite
```
For more information, you can check out https://github.com/gopaddle-io/microk8s-community-addons-gplite/tree/4.2.3.

Once the installation is complete, the gopadde lite installer displays an endpoint using which you can access the gopaddle lite dashboard from the browser.

The installation takes about 10 - 15 minutes to complete and you have the self-hosted Kubernetes solution in your local environment. 


For more information regarding gopaddle lite, you can reach us at hello@gopaddle.io or join our [slack](https://gopaddleio.slack.com/archives/C03FL1U983C) channel.