Why You Should Package the Replicated SDK with Your App

Amber Alston
Jun 12, 2024

What is the Replicated SDK? 

The Replicated SDK is a Helm chart that can be installed as a small service alongside your application, providing access to valuable Replicated Platform functionality such as:

Who can use the Replicated SDK?

Any Replicated customer can use this capability. While the Replicated SDK started with the goal of bringing instance insights and other Replicated functionality to environments such as Helm CLI installers where KOTS isn’t leveraged, we’ve since begun expanding the scope and function of the SDK to include things like custom metrics and programmatic instance tagging that are useful regardless of installation method. As a result, Replicated now recommends that all vendors include the SDK with their application, regardless of how their application is packaged or delivered. 

Why should I include the Replicated SDK with my application?

Much like the rug in The Big Lebowski, the Replicated SDK really ties the whole Replicated Platform together to best help Vendors manage their product through the Commercial Software Distribution Life Cycle (Develop, Test, Release, License, Install, Report, Support). 

As software product companies ship into customer-controlled environments, we need better insights into that software - Has the customer upgraded to my latest software version yet? What Kubernetes version and provider is the software running on? Have they leveraged our newest in-product feature yet? 

By including the Replicated SDK alongside your application, you unlock access to insights and operational telemetry along with the ability to easily collect custom metrics. Replicated can even help unlock these insights for your air gap environments using our air gap telemetry collection mechanism

These Reporting insights then power Development, Testing, Support and more: 

  • Product Development teams gain better awareness and feedback that feeds back into Development prioritization.
  • Development and QA teams can query customer instance data to determine the specific environments to spin up in Compatibility Matrix. This ensures truly "customer-representative testing" of new releases. (Great blog on how to do just that.)
  • Support teams see relevant Instance Insights Data from the point a Support Bundle was collected during an Incident.

In addition to unlocking telemetry capabilities, the Replicated SDK unlocks an in-cluster API that your product Development team can use to embed Replicated features directly into your own application interface. This is particularly useful for Helm CLI based installs, where there is not already an out-of-the-box Admin Console GUI as with Replicated’s KOTS and Embedded Cluster installer products. 

One of the most powerful reasons to include the SDK is that it enhances the variety of distribution and Installation options available to you via the Replicated Platform. By including the SDK as part of the deployed app, you can offer your end customer three distribution options via a singular application release, allowing you to best meet your enterprise customers' environment installation needs, while also unlocking the power of consistent customer insights across these distribution methods:

In our vast experience working with Commercial Software Vendors, we’ve seen a substantial uptick in enterprises that expect or require applications in their environments to be installed with Helm, often via automation like a GitOps pipeline. At the same time there’s still a large segment of the enterprise market that lacks sufficient Kubernetes expertise in-house. 

With the Replicated SDK, it’s now easier than ever to maintain a singular application Release that can be successfully Licensed and distributed to your end-customers. Your application can be installed by Helm in a GitOps pipeline and by KOTS on a VM, all without needing to fork your packaging or maintain separate releases for each installation method.

And finally, many exciting Replicated Platform features such as custom metrics, granular resource status details, programmatic tagging, and more, are only available via the Replicated SDK. When the SDK is packaged alongside your application, these features become available to you upon your next release, without having to worry about requiring your customers to perform a KOTS upgrade. 

How do I package the Replicated SDK? 

Packaging the SDK with your application is quite easy. If you already package your application as a Helm chart, you can add the SDK as a subchart with as little as three lines of YAML. If you package your application as Kubernetes manifests, you can still easily include the SDK Helm chart in your application and have KOTS deploy it along with your app.

If you’d like to learn even more about the Replicated SDK, don’t hesitate to reach out to your account manager.