In a recent study, we found that independent software vendors (ISVs) that ship to private, customer-controlled environments via Replicated see their customers get their application up and running at a rate of 7X faster than the market average.
While there are several reasons for this result, the one that has the most direct impact is the ability to do Preflight Checks. Preflight Checks allow ISVs to define specific checks for each release to ensure the environment has been appropriately provisioned and all system requirements are met. By doing these checks, the software installation is far more likely to succeed, reducing customer frustration and speeding up the time to value for the newly deployed application.
It’s worth noting that vendors who write their own custom preflights (vs. just using out-of-box examples) are using best practices. You should add, replace, and customize the pre-flight checks to meet your applications’ needs to be even more successful!
First impressions matter, right? The same goes when your customers install your software for the first time. A customer that struggles to get your software up and running becomes a churn risk almost immediately and will demand more help and effort from your customer success teams.
System Requirements – who reads them, right? One of the most common reasons for installation failures is that one or more system requirements are not met. How many times have your POCs gone sideways because the customer didn’t provide the necessary system requirements you specified?
Preflight Checks increase the success rate of first-time installations and upgrades, which means the end user can use the software and get value sooner. Less time is wasted troubleshooting issues caused by under-provisioned or mis-provisioned environments.
Powered by the Troubleshoot.sh open source project (a kubectl plugin that provides a diagnostic tool), Preflight Checks can help verify the customer environment is provisioned and prepared the first time correctly.
Replicated provides two types of Preflight Checks. Let’s take a brief look at each in turn.
These check the Kubernetes environment to ensure the app install will succeed. You can read more about application-level preflight checks in our docs.
An example: Check CPUs - Certain applications require a minimum number and specification of CPUs, and the app will not deploy correctly if these are not provided. You should customize the requirement if your application needs more resources.
These checks run on the Linux host and are powered by our Troubleshoot.sh project and leveraged by kURL, an open source Kubernetes installer. You can read more about host preflight checks in our docs.
An example: Check disk latency (performance) - etcd is known to be I/O hungry, so a common issue is provisioning the wrong type of disk, which can’t meet minimum performance requirements.
Eliminating support tickets caused by unprovisioned environments and error-prone installation methods means your support team can now spend time on what they like to do: dive into interesting technical problems. Your customers will also benefit from getting value out of your software much sooner and come back for more!
If you’d like to see this in action, please see our video on host preflights or reach out to us for a more in-depth demonstration.