Redefining On-prem Software
Onprem.org seeks to redefine "on-prem" software. No longer the old-school, client-server based software that 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 (i.e. "Modern On-prem"). 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.
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 multi-tenant vendor 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 distribution seeks to simplify traditional on-prem software development and delivery by consolidating application development to portable, cloud-native artifacts and embracing automated operations with standardized reliability primitives.
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 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. Leveraging tools that allow for increased reliability at the application level reduces the operational overhead of managing the application.