Interest in the adoption of Kubernetes (K8s) has certainly explodedover the past 3-5 years, but as with any next wave technology, there’sstill a lot of confusion in the market about how to best leverage it toaccelerate your business goals. In this post, we’ll break down thedifferences between K8s infrastructure delivery and management, and K8sapplication delivery and management, and highlight key business concernsto consider as you select the right suite of tools to get your softwareinto the hands of your customers.
Delivering customer value, and continuing to grow your product adoption,requires being able to get your product in the hands of your targetcustomers and allowing them to recognize that value quickly.
According to the Synergy Research Group,while the enterprise SaaS market has matured, it still only accountsfor 20% of total enterprise software spend. Capturing a large enterpriseas a customer means getting your product added to a larger softwareecosystem, made up of various types of infrastructure and deploymentmodel preferences, and subject to various regulatory and complianceconcerns. For multi-tenancy SaaS software vendors this can mean needingto tackle private cloud (VPC) or on-premise installations for the firsttime.
Getting yoursoftware successfully delivered into these environments is slow, andoften requires product developers to shift focus from building productfeatures to building custom installation wrapping for key customeracquisitions; typically not a viable or scalable business model.
Applicationcontainerization and Kubernetes has made it more feasible for softwareproducers to embrace delivery models beyond multi-tenancy SaaS. As anopen-source orchestration engine specializing in the deployment, scalingand automated life-cycle management of containerized applications,Kubernetes has significantly eased the packaging and management burdenfor deploying software products. With Kubernetes, you can meaningfullydeliver products into large enterprise and hybrid IT-style environments,which typically include deployment targets across some mix of(multi-prem) environments such as on-premise, hybrid cloud, privatecloud, public cloud and edge.
When you deploy Kubernetes for your infrastructure layer, you are creating a ‘cluster’, so called because you are creating a cluster of working machines (called nodes) that can run your containerized application.
Kubernetes is extremely versatile. Clusters can be created DIY on a local machine, via a cloud provider, or provisioned from a Kubernetes distribution provider. Once Kubernetes is deployed, it has to be managed andmaintained, so a critical decision point for businesses embracing Kubernetes is to determine what aspects of cluster management they wantto self-manage vs shift to a third-party provider.
There are a large number of third-party Kubernetes infrastructure providers. Some of the bigger players targeting large enterprise adoption includeRed Hat OpenShift, Rancher, and VMware Tanzu. Each of these providerspackages a supported, often highly opinionated collection of Kubernetes add-on components to get you started, including cluster management toolsfor cluster operations concerns such as upgrading, scaling and additional cluster provisioning.
While Replicated’s application distribution and management platform is notconsidered a traditional Kubernetes infrastructure provider, our productis capable of provisioning Kubernetes clusters for enterprise customersthat want to consume a third-party Kubernetes-based application butdon’t yet have their own Kubernetes infrastructure. We do this via apackaged experience around kURL, an open source project from Replicated that allows anyone to create acustom Kubernetes distro, adding your preferred Kubernetes add-ons, tocreate what we call an “embedded cluster” application deployment. Inthis capacity, kURL creates a modern, multi-node software appliance thatcan be installed onto a single Linux VM (or scaled out to many nodes), even in a fully airgapped network.
Creating Kubernetes clusters withoutdeploying software isn’t inherently valuable. You want applicationssuccessfully running on those clusters. More importantly, as a softwarevendor you want the entire lifecycle experience of your product todelight your customers. While Kubernetes does a great job of automatingaway many concerns of keeping production grade applications deployed and running, it does not inherently provide the tools necessary for application building, distribution, troubleshooting and on-going maintenance and management. For these concerns you need to focus on tooling aimed at the application delivery and management layer.
Replicatedis the industry’s most complete vendor platform for delivering andmanaging Kubernetes-based applications. We package commercial and open source tools to streamline the distribution and management ofthird-party applications into complex, multi-prem enterpriseenvironments.
Streamlining your ability to deliver your existing application(s) into multi-premenvironments allows you to meet potential customers where they are intheir cloud and Kubernetes adoption journeys, significantly increasingyour product’s total addressable market (TAM).
Out of the box, Replicated provideseverything software vendors need to start shipping an installableversion of their application securely and quickly into a customer’sexisting Kubernetes cluster, or into a new cluster created via kURL.Vendors are provided a suite of tools that enable product distributionand support, and end customers are provided tooling for applicationadministration and automation.
Productslike Rancher, OpenShift and VMware Tanzu Kubernetes Grid are primarilyfocused on infrastructure delivery and management, notapplication delivery and management. Some of these Kubernetesinfrastructure providers do offer platform additive products and/orentitlements to add application management capabilities. There are evensome open source projects targeting this need, such as KubeApps.The vast majority of these offerings however, are aimed at theenterprise technology use case of controlled distribution, and not atthe use cases of a third-party software creator.
Whileseveral of the larger Kubernetes distribution providers have partnerISV programs, most are focused on integrating the software vendor intothat given distribution platform. Software vendors are left largely ontheir own to address business concerns such as:
Addressing these types of softwarevendor concerns are at the heart of Replicated’s application deliveryand management platform.
Replicated enables software vendorsand teams of all sizes to successfully deliver applications to theircustomers across a variety of deployment models without the vendor team,or the end customer, needing to become experts in infrastructure.Replicated uses the powerful reliability patterns and primitives ofKubernetes to enable consistent delivery and day to day operation ofeven highly complex, distributed applications. From the Day 0 ‘out ofthe box’ UX that enables rapid PoCs for Pre-Sales teams, to streamliningDay 2 Ops & Support – Replicated enables and streamlines themanagement of the entire customer lifecycle, letting software vendorsspend more time focusing on their core product competencies.