Skip to main content

About Distributing Applications

This topic provides an overview of distributing applications with Replicated. It includes information about the Replicated platform features used to distribute applications, as well as the options for packaging applications to be distributed with Replicated.

About Distributing with Replicated

Replicated is a commercial software distribution platform. Independent software vendors (ISVs) can use features of the Replicated platform to distribute modern enterprise software into complex, customer-controlled environments, including on-prem and air gap.

Distributing software with Replicated refers to using Replicated features to enhance and support each phase of the commercial software distribution life cycle:

  • Develop
  • Test
  • Release
  • License
  • Install
  • Report
  • Support

For more information about how Replicated defines the commercial software distribution life cycle, see Introduction to Replicated.

The following diagram demonstrates the process of distributing an application with Replicated and then installing the application in an enterprise customer environment:

replicated platform features workflow

View a larger version of this image

As shown in the diagram above:

  • The Replicated SDK can be distributed alongside an application to get access to an in-cluster API to more easily integrate key features.
  • The Replicated compatibility matrix can be used to quickly generate Kubernetes clusters for running application tests as part of continuous integration and continuous delivery (CI/CD) workflows.
  • After testing, application releases can be promoted to a channel in the Replicated vendor platform to be shared with customers or internal teams.
  • Customers can be assigned to channels in order to control which application releases they are able to access and install.
  • Customers' unique licenses grant proxy access to private application images through the Replicated proxy service.
  • Before installation, customers can run preflight checks to verify that their environment meets installation requirements.
  • Customers can install using any method, including the Helm CLI, Replicated KOTS, or any proprietary installation method already used by the ISV.
  • Instance data is automatically sent to the vendor platform by the Replicated SDK. If the application was installed using KOTS, then KOTS also sends instance data.
  • If any issues occur during installation or at runtime, customers can generate and send a support bundle. Support bundles can be uploaded in the vendor platform for analysis.

For more information about the Replicated features depicted in this diagram, see:

About Packaging Applications

This section describes the options for packaging an application that is distributed with the Replicated platform.

Helm is a popular open source package manager for Kubernetes applications. Many ISVs use Helm to configure and deploy Kubernetes applications because it provides a consistent, reusable, and sharable packaging format. For more information, see the Helm documentation.

Replicated strongly recommends that all applications are packaged using Helm because many enterprise users expect to be able to install an application with the Helm CLI.

Helm-based applications distributed with Replicated can be installed with the Helm CLI or with the Replicated KOTS installer.

Helm CLI Installations

Helm-based applications distributed with the Replicated platform can be installed with the Helm CLI. This allows you to continue to support Helm CLI installations for your customers, while also having access to Replicated features such as tools for licensing, releasing, and supporting applications.

For more information about installing applications distributed with Replicated using the Helm CLI, see Installing with Helm.

KOTS Installations

Replicated KOTS is a kubectl plugin and an in-cluster admin console that provides highly successful installations of Helm charts and Kubernetes applications into customer-controlled environments, including on-prem and air gap environments. KOTS also supports installations on VMs or bare metal servers through embedded clusters, which are clusters built from a customized Kubernetes distribution embedded with an application and provisioned in the customer environment at the time of installation.

Deploying Helm-based applications with KOTS provides additional functionality not directly available with the Helm CLI, such as the KOTS admin console and support for air gap installations. Additionally, when you package your application using Helm, you can support Helm CLI and KOTS installations from the same release without having to maintain separate sets of Helm charts and application manifests.

For more information about how to distribute and install Helm charts with KOTS, see About Distributing Helm Charts with KOTS.

note

The Replicated KOTS entitlement is required to install applications with KOTS. For more information, see Pricing on the Replicated website.

Packaging with Kubernetes

For ISVs that do not want to use Helm, applications distributed with Replicated can be packaged as standard Kubernetes manifest files. Applications packaged as Kubernetes manifests can be installed using Replicated KOTS or any proprietary installer already used by the ISV.

Replicated KOTS is a kubectl plugin and an in-cluster admin console that provides highly successful installations of Helm charts and Kubernetes applications into customer-controlled environments, including on-prem and air gap environments. KOTS also supports installations on VMs or bare metal servers through embedded clusters, which are clusters built from a customized Kubernetes distribution embedded with an application and provisioned in the customer environment at the time of installation.

For more information about how to distribute and install Kubernetes manifest-based applications with KOTS, see the KOTS documentation.

note

The Replicated KOTS entitlement is required to install applications with KOTS. For more information, see Pricing on the Replicated website.

About Distributing the Replicated SDK with an Application

The Replicated SDK is a Helm chart that can be installed as a small service alongside your application. The SDK can be installed alongside applications packaged as Helm charts or Kubernetes manifests. The SDK can be installed using the Helm CLI or KOTS.

For information about how to distribute and install the SDK with your application, see Installing the Replicated SDK.

Replicated recommends that the SDK is distributed with all applications because it provides access to key Replicated functionality, such as:

For information about the Replicated SDK API endpoints, see Replicated SDK API. For information about developing against the SDK API locally, see Developing Against the SDK API.