Jumpstart modernization using the gopaddle quick start wizard
Tags: kubernetes, cloud, devops, productivity
Published: 2022-07-19 14:15:32

The goal of modernization is to foster innovation by increasing developer productivity without compromising operational efficiency. On the contrary, an application modernization process is often a tedious and time consuming process. Developers spend a huge amount of time figuring out the nuances of the infrastructure and mapping it to their application stack. For instance, deploying a Java based application not only requires an architectural transformation to microservices, it also requires an understanding of the network, storage, performance (CPU/Memory utilization), installation and upgrade configurations before it can be containerized and deployed to Kubernetes. Once those configurations are mapped out, developers have to learn containerization technologies and Kubernetes before the application can be built and deployed to Kubernetes. The transformation does not stop here as the process is not complete without an end-to-end DevOps automation, which includes CI/CD automation, continuous monitoring and alerting capabilities.

**Introducing gopaddle**: gopaddle is a no-code Kubernetes platform that helps the developers, DevOps engineers and SREs to build, deploy and maintain cloud native applications in the fastest, cheapest and simplest way. 

With the recent release v4.2.3, gopaddle platform has introduced a simple, yet a powerful mechanism to modernize and onboard the applications to Kubernetes.

## Meet gopaddle’s Quick Start Wizard

gopaddle uses Quick Start Wizard to collect information about the application, by analyzing the Source code project like the nature of the project (Java, Javascript etc), suggesting some of the pre-built base image images, auto select continuous build and vulnerability scan etc. The quick start wizard helps to connect the end-to-end pipeline configuration like configuring github accounts, onboarding docker registries, onboarding cloud accounts, and auto generating the scripts to generate Dockerfile and the Kubernetes YAML files. The entire process takes only a few minutes and you have the complete end-to-end DevOps pipeline configuration in minutes.

## Steps involved in the Quick Start Wizard 

As soon as you log into the gopaddle platform, you can see the ‘Quick Start Wizard’ button in the top navigation panel. Once you click on that, you will land ion the quick start launch wizard. It has 9 steps. 

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

1. **Access Token** - gopaddle’s Personal Access Token which is used for creating resources in gopaddle. By default, it picks the default API token pre-built into your account. You can choose to use a different access token, especially when you have a distributed team with restricted permissions. 
2. **Cluster** - The k8s cluster to be used for building & deploying your microservice project.
3. **Docker Registry** - Docker registry to be used for pushing and pulling the Docker image.
4. **Allocation Policy** - The CPU & Memory capacity to be used for building & deploying your source code project. 
5. **Source Code** - The source code account where the microservice project exists. If your project is in a public repository then you don’t need to register the source code account at the moment. However, the continuous build (CI) option is not supported for a public repository.
6.  **Repository** - Specifies the source code repository details like: 

 - **Clone URL** - Source Code repository URL.
 - **Branch** - Branch name your source code project. 
 - **Project Type** - Type of the project like NodeJs, Java, Python, etc.
 - **Base Image** - This base image will be used to launch a container inside which the project scripts are run and artifacts are prepared. The base image will also be used to prepare the project-specific docker image to be deployed in Kubernetes.
 - **Build on Commit** - When enabled, it creates a new Docker image as and when a new commit is detected in the source control repository. This capability is available only for a private source control repository.
 - **Vulnerability Scan** - When enabled, it scans for vulnerabilities in the docker image created during the build process.
 - **Override Environment Variables** - When enabled, it overrides any conflicting environment variables found in the base image and the user provided environment variables.

7 . **Environment Variables** - It is an optional step. If an Environment Variable (Env) is required to build or start (run) the application, then add the Env here. 
8 . **Scripts** - Scripts that are required for building & deploying the project .
9 . **Dockerize & Launch** - This is the final step of the Quick Start Wizard. The Quick start wizard generates a Docker command. You can copy & execute the command on your machine.

The docker command does the scaffolding process and automatically builds the application, pushes the docker image to the Docker registry, enables CI, scans for vulnerability and deploys the application to the chosen Kuberentes cluster.

In the entire process, developers do not have to worry about configuring multiple tools or writing Docker or Kubernetes manifests. Developers can now focus on the architectural transformation, while gopaddle Quick start wizard does the end-to-end Docker & Kubernetes transformation. 

gopaddle also provides a set of pre-built pipeline templates that can be customized and reused. For instance the [Azure DevOps pipeline template](https://github.com/gopaddle-io/azure-devops-pipeline) can be configured for customized workflow.

Try out gopaddle for free for 15 days. Subscribe using https://portal.gopaddle.io/signUp

For more information regarding gopaddle, you can reach us at hello@gopaddle.io

<a href='https://www.freepik.com/vectors/press-button'>Image courtesy by freepik - www.freepik.com</a>