Almost every successful B2B SaaS vendor eventually receives a request to deliver their offering on-premise from a large, security-minded customer. There are several key reasons why customers may require an on-premise installation but these can be generalized into two major categories:
- Security and regulation: Sensitive information can not leave the premise, with only privileged access to that data from within the company or through vetted service providers.
- Data locality and latency: The solution is meant to be run on-premise (e.g., network and security monitors, load balancers and web application firewalls are intended to run in the data center) or it is easier to run the application where the data already is located (data processing and machine learning services).
After several years of deploying and running complex applications in some of the most secure, air-gapped data centers in the world, we put together this survival handbook for our customers (or potential customers) to help them evaluate, prepare and survive going on-prem.
In this guide, we share some of the technical and organizational challenges we have seen when going on-premise. We will also present some of the solutions we have researched, developed and how we have productized some of these solutions through our Telekube platform. We believe that Kubernetes offers a lot of advantages when delivering complex applications on-premise, so many of our solutions will focus on how to leverage Kubernetes to overcome the challenges described.
We have also have a series of workshops that focuses on the more technical aspects of the technologies we use, namely Docker and Kubernetes.
Before we dive in, we should mention an important caveat - you should only offer private installations if customers are ready to pay a large premium for them. It will require a significant investment, so make sure there is significant and repeatable demand for your efforts.
If you are ready to forge ahead, the challenges that you will face can be grouped into the following categories:
- Lifecycle management and operations: installing and upgrading applications.
- Release cycle management: packaging, publishing and versioning releases.
- Production readiness: security, licensing, monitoring and high availability.
Finally, there are also challenges to consider that are not directly related to the technical implementation details. We will touch upon some of these organizational challenges.
Good luck. We hope this handbook helps.
Sasha Klizhentas and Taylor Wakefield