If you’re interested in this topic (agree or disagree), we’d love to have you join the community.
Redefining On-prem Software
Onprem.org seeks to redefine "on-prem" software for the Kubernetes age, from Commercial Off-The-Shelf (COTS) software to Kubernetes Off-The-Shelf (KOTS) software. On-prem software is no longer the old-school, client-server based software that was installed into a server racked in a closet or data center. Modern approaches to on-prem software leverage cloud-native architectures and security best practices to streamline the management and distribution of software. Soon, "on-prem" will be synomyous with the "Modern On-prem" approach to software that this guide outlines.
What is "Modern On-prem"?
Modern On-prem is a method of 3rd-party enterprise software distribution and management focused on enabling large organizations (enterprises) to leverage the vast ecosystem of 3rd-party applications (software vendors) with reduced data security risks and incremental operational ease for both enterprises and vendors (thanks largely to a Kubernetes-based implementation).
Modern On-prem is best understood from the independent perspectives of both enterprises and software vendors.
The Enterprise Perspective
Modern On-prem management seeks to blend the data security of traditional on-prem software with the operational ease of using multi-tenant SaaS software.
Instead of enterprises sending data out to thousands of vendor-hosted applications, applications are delivered to servers controlled by the companies where the data already resides. Stop sending your data to apps. Start bringing apps to your data.
Unlike traditional on-prem software, Modern On-prem software leverages reliability primitives and 1st-party software deployment pipelines to consolidate processes and reduce the ongoing effort of operating the application.
The Software Vendor Perspective
Modern On-prem leverages existing work to move application architectures to Kubernetes. Once using Kubernetes, most vendors recognize that they are able to distribute their application images and manifests to enterprises. These manifests contain the operational knowledge of the application and can be used to automate the operations of deploying a private instance.
Instead of software vendors assuming significant liability by processing the data of thousands of enterprise customers, Modern On-prem distribution allows the vendor to provide the software without ever taking possession of data. Data is recognized as equal parts asset and liability.
Currently, the best implementations of Modern On-prem put Kubernetes at the center. The application vendor creates a Kubernetes based application (aka Kubernetes Off-The-Shelf Sofware or KOTS) and distributes it to an enterprise to deploy into their existing Kubernetes cluster. Kubernetes is a natural choice for this--it is becoming the industry standard for the patterns and primitives for creating truly reliable applications at scale. With Kubernetes as the common substrate of reliability, vendors are able to provide highly automated versions of their applications that require no manual operations.
What is onprem.org?
This guide is an open source work in progress with the goal of establishing the context for why Modern On-prem is important, exploring examples of how it can be implemented, and fostering a community of vendors and enterprises interested in refining and promoting modern approaches to software delivery. The goal of onprem.org is not to discredit SaaS as a viable part of the solution, rather to highlight that like all complex systems, there is more nuance to the problem than a single black and white answer to the SaaS vs. On-prem debate. The real world requires embracing shades of gray across a broad spectrum of delivery models.
Additionally, the evolution of Modern On-prem is still underway, there are several areas of imperfect solutions and deep technical rigor that are required to participate in the ecosystem as either an enterprise or a software vendor. The primary company behind Modern On-prem, Replicated, is a commercial entity working on a combination of open source and proprietary tools to advance the future of Modern On-prem. Together we've developed, operated, and delivered software into thousands of on-prem environments ranging from bare-metal appliances to Kubenetes-native private clouds. While we intend to benefit substantially from the success of this movement, we have also obsessed over this for 5+ years and have gone deep into the idea and execution maze.
Much like the EnterpriseReady guide that we produced 3 years ago, Modern On-prem is designed to create a common vernacular for enterprises and software vendors in order to facilitate conversations about the requirements and implementation details that this transition will require. Most of what is published here are not net-new thoughts, rather the details have been selected from a comprehensive survey and analysis of existing and emerging technologies and processes.