Application Lifecycle Management

Overview

The term "Application Lifecycle Management" refers to managing applications outside of software development, especially after an application has been created, and includes its usage, maintenance, and service. Governance, development, and operations are three closely related aspects of application lifecycle management. The use of application lifecycle management tools promotes communication and collaboration throughout the lifecycle of an application while providing visibility and transparency. Cloud Orbiter is ideal for deploying, managing, and monitoring applications hosted in multiple clouds, clusters, and edge locations. With built-in security policies, Cloud Orbiter manages applications from a single console.

With Cloud Orbiter, you can manage repositories, applications, and application operations. Cloud Orbiter provides you access to both secured and open repositories. For example, a GitHub repository can have multiple helm applications and Cloud Orbiter provide solutions from application creation to application management. The integration with the Git repository helps developers commit the code ready to deploy in a production environment.

  • Cloud Orbiter helps developers with deployment, time, and manual approach for configuration at the time of rollout and rollback.
  • You can clone your application to any cluster and can make several instances out of the applications.
  • Cloud Orbiter enhances scalability because of which a cloud operation team can install and update a large volume of applications across multiple clusters. Cloud Orbiter helps update, deploy, monitor, and scale applications across clusters in a distinct physical location.

Cloud Orbiter provides multiple applications like Apache, Argo CD, Joomla, Kafka, Cassandra, Cert-manager, Drupal, Grafana, and more. You can deploy multiple applications on multiple public cloud-provided target clusters or ISP/ enterprise edge networks.

Application Onboarding

Application onboarding allows you to create or add application to a cluster. You can create, manage, update, delete, and monitor your application. One major functionality Cloud Orbiter offers application onboarding to the target cluster, including application delivery on the remote Kubernetes clusters. The industry has evolved using a variety of different types of application packaging schemes. However, Cloud Orbiter focuses on supporting the following standard application packaging.

  • Helm-Chart bundles
  • Kubernetes Operator bundle

Helm helps you manage Kubernetes applications. Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

Procedure to onboard application
  1. Select Applications from Cloud Orbiter left ribbon menu.
  2. Click on + Add Application button.
  3. Fill details to add an application. App name > Release name > Namespace > select chart parameters (Name, URL, Bundle) select timeout unit > Repository name > Chart name > Version.

  4. Once you select "Chart Name" it will automatically select its Version.

NOTE: You can create application directly from packaged chart file chart.tgz or with URL of the chart file. Also, app name, release name, namespace, repository name, and chart name is mandatory fields.

Helm Repository

The helm repository provides privacy, high availability, massively scalable storage, and access control. It also offers advanced and enterprise-ready repository management for all Helm charts features of Helm repositories. You can learn more about Helm using link.

Cloud Orbiter provides a bundle of Helm repositories, example bitnami. You can select repository name from the drop down while creating application.

Under Application Repositories section from Cloud Orbiter, you can view the details of application repositories and Helm charts.

Application providers using Helm Chart bundles for packaging usually follow one of the following methods for helm chart distribution.

  • Providing charts from a Helm Repository (or Artifactory) to allow version control of the helm charts.
  • Directly providing the Helm Chart bundle for individual applications to deploy.

The Helm repository provides a mechanism to manually update/sync the helm repository catalog based on the updates available in the helm repository. This can be triggered by the sync operation provided for a repository.

Helm Application

Helm is a tool to help you define, install, and upgrade applications running on Kubernetes. At its most basic, Helm is a templating engine that creates Kubernetes manifests. What makes Helm more than that is it can upgrade and scale applications. Cloud Orbiter support three modes in which a helm application context can be created.

  • Name
  • URL
  • Bundle

While creating an application from the helm repository, Cloud Orbiter provides "Add Application" option on the helm chart catalog of the helm repository, choosing which auto-populate the helm repository and chart details in the application create form.

Rest of the details can be filled in as per requirement:

  • Application name – unique name for reference.

  • Release name – helm release name to be used on the target cluster.

  • Namespace – namespace on the target cluster on which the application is expected to be installed.

  • Profile parameters – to override default values of the helm chart.

  • Timeout - timeout is for helm operations. For example, if you specify a 60-second timeout for an application installation, and the installation does not happen by a specified time, it will be marked as a failed installation. If any helm operation takes more than the allotted time, it will be marked as failed.

  • Repository name - the name of a repository from the list, for example, bitnami, grafana, etc.

  • Chart name - the name of the chart from the list depending upon your selected repository name, for example, grafana, loki, etc.

  • Version - version of the chart name. Version, it takes automatically based on what chart name you have selected.

Once the application is created, you can view application details on its card.

  1. To view the details, click on the created application.

  2. You can view the name of application, created by, creation time, repo name, namespace, release name, chart name, and timeout details.

  3. It will also provide you the revision details like, app version, version, creation time, and created by.

  4. Under overview, you can see number of pods, containers, Daemonset pods, Daemonset containers, CPU request, CPU limits, memory request, memory limits, Init CPU request, Init CPU limits, Init memory request, Init memory limits.

  5. Cloud Orbiter also provide you with storage, images, and reports details of your application.

These application details provide the information to accept or reject an application before instantiating it on any target cluster(s).

Application Instance

Cloud Orbiter allows creating application context separately without associating any cluster to it, to allow reviewing the application report before application onboarding and enabling a user to choose the relevant cluster based on the resource requirements. Cloud Orbiter additionally allows mapping more than one instance to the application to extend a seamless life cycle eventually.

Procedure to add application instance

  1. To add application instance, click on the created application where it shows the details dashboard of an application. From left corner ribbon, select instances.
  2. Click on + Add Instance button.
  3. It will take you to a form to fill in details of the new instance. Specify the cluster on which instance is supposed to be created. Additionally, it allows you to override target namespace and release name for a particular instance if you tick the check-box of "keep namespace and release name same". If you uncheck it, then you must provide target namespace and release name.
  4. Click create.

You can select multiple clusters to add instance. Submitting the form will create the application instance in the created state. In the background, Cloud Orbiter will attempt to install an application on the target cluster, changing the instance state accordingly.

  • Installed – on the successful installation.
  • Installation Pending – if the cluster is not currently connected with the controller.
  • Install Failed – if it encounters any error while installing an application.
  • Once installation is complete, it can also be validated on the cluster terminal window of Cloud Orbiter.
  • Similarly, more instances can be added to the same application instance. Once the application instance is no longer required it can be deleted using the delete icon.
  • Upon deletion cluster, the instance will be removed from the target cluster.