Let’s face it–in 2018, it’s very uncool for any new hip tech startup to ship an on-premises version of their product. It’s a bit like Justin Bieber selling CDs or vinyl for his millennial following.

Enterprises Still Require On-Prem Software

The truth is, a large chunk of the CI/CD market demands on-premises software. Of the hundreds of meetings we’ve had since May 1st, last year around 25% of customers said on-premises was a show stopper for any evaluation.
Yes, 80% of that 25% list were financial and telco enterprises, but there were a few exceptions. Four of the largest SaaS companies in the world demanded on-premises software. Let me say that again: 4 of the largest SaaS poster children demanded on-premises software. You can’t make this **** up.
A few weeks ago I posted a blog on DevOps unicorns. Below is a quick visual showing how deployment options vary across these DevOps vendors:
DevOps Unicorns
25% of the market demanding on-premises software may seem like a small amount. But from a revenue perspective, we believe it’s at least 50% of the addressable market for Harness. And we’re talking billions, not millions

Building On-Premises Enterprise Software Is Hard

It’s super easy to build on-premises software to manage one or two applications; it’s really difficult to make it scale and manageable for hundreds or thousands of apps in a typical enterprise environment. No customer is going to spend more time administering a product than actually using it to solve problems in their business.

Some VC last week posted an article highlighting why professional services are so critical for enterprise software startups. Bollocks, I say. The more software relies on professional services (non-support/education) to setup/configure/maintain/scale, the less likely customers will achieve ROI.

Real automation is where software takes care of all of the boring deployment and maintenance tasks and lets the customer focus on managing their business.

The Challenges Harness Wanted To Solve

Besides delivering feature parity with our SaaS platform, here is the shortlist of things we wanted to get right:

  • First Time Setup & Experience
  • Security & Data Privacy
  • Upgrades & Maintenance
  • High Scalability & Availability
  • Monitoring, Troubleshooting & Customer Support

As a SaaS vendor, you abstract/hide most of the above for the customer. With on-premises software, you expose them, so each can become challenging in their own right. With most vendors, you get 2 or 3 of the above; with Harness, we wanted to solve all 5 from the get-go. This is how we did it.

Introducing “Connected” On-Premises

Sounds like an obvious solution right? As always, the devil is in the details.
Needless to say, we’ve worked with several enterprise customers over the past six months to ensure the Harness on-prem architecture met their needs.
When you sell Continuous Delivery software, it’s important you practice what you preach. Harness can’t Continuously Deliver for customers through quarterly or bi-quarterly updates. This just isn’t acceptable for any business to rapidly grow, lead and succeed in 2018.

Security & Data Privacy

Let’s address the first elephant in the room.
A common challenge with enterprise on-premises software (specifically the master/management/controller/server) is that it may store or transmit sensitive data from the organization’s apps or infrastructure. Connecting these entities directly to the outside world can, therefore, expose various security and data privacy challenges.
It’s therefore important to silo the management of Harness with the management of customer applications and infrastructure.
To comply with this, Harness introduced an Ambassador/Delegate/Server architecture so all communication from customer apps/infra is one-way and handled by delegate communication to the on-prem Harness Server, and an Ambassador handles one-way communication to the staging-devharnessio.kinsta.cloud SaaS.
For reference see this architecture diagram:
Connected On-Prem
There’s no information leakage – the Ambassador associated with the Harness on-premises Server does not contain any customer data; rather, it makes outbound HTTPS calls to staging-devharnessio.kinsta.cloud SaaS only for updates and to send anonymized aggregated metadata and metrics.
Corporate Data remains behind the corporate firewall, thus complies with corporate privacy and governance.
We actually have one heavily regulated FS customer who loves this setup because nothing is exposed and no corporate data leaves the data center.
Win:  At no point is customer data exposed or transmitted outside of the corporate data center. All customer data resides within the corporate firewall.

First Time Setup & Experience

You sign up on staging-devharnessio.kinsta.cloud, proceed to our setup screen, and provide some basic details like account name, primary admin name, etc. in addition to the physical machines on which you would like to deploy the Harness platform.
Next, you download and install an ambassador which acts as a proxy between your data center and staging-devharnessio.kinsta.cloud. This ambassador makes one-way outbound HTTPS calls to staging-devharnessio.kinsta.cloud, and from there on it initiates the on-prem installation across your physical machines and automates the Harness on-prem installation process for you.
The Harness platform comprises 5 microservices:

  • Proxy/Load Balancer
  • User Interface
  • Machine Learning Engine
  • Manager
  • Database

Each microservice is containerized and is deployed on every physical machine.
Win: Harness On-Premises Server Installation is automated and takes minutes.

Highly Scalable and Available

As you can see from our architecture (above), Harness on-premises has been designed to be highly available, fault-tolerant, and horizontally scalable.
The Harness architecture supports multiple physical servers (replicas) with containerized and load balanced microservices on each. Internal communication among microservices is transparently handled. Only one port is required – proxy is exposed to the customer’s load balancer.
As your number of Harness users and deployments grow over time, you simply add more physical machines (replicas) and the Harness Server architecture will auto-adapt to scale and meet your growth. It’s also incredibly scalable and fault tolerant.
Win: Scalability and fault tolerance is automatically handled at both application and database layers ensuring high availability and zero-downtime for upgrades.

Seamless Upgrades & Continuous Delivery

At Harness, we practice Continuous Delivery through daily deployments. The core challenge we face as a vendor is getting our enterprise customers to accept our daily dose of innovation, with zero downtime and impact.
Like your Mac, customers can select “auto-update” or “schedule update” for their on-premises Server. From this point, Harness will manage the upgrade process, upgrading one physical machine at a time to avoid any downtime or impact.
Win: Upgrades are frequent and seamless, customers are always running the latest version with zero-downtime.

Monitoring, Troubleshooting & Customer Support

As a vendor, a huge amount of time (and cost) is spent troubleshooting on-premises Servers. With SaaS, it’s relatively simple because you’re hosting all the infrastructure and have access to logs, etc. With on-premises software, you don’t so you have to schedule things like webexes, VPN access, blah, blah, blah which results in the customer wasting their time and you the vendor burning lots of internal resources. This is a bad place to be for everyone concerned.
One innovative thing is to make the customers Harness Server on-prem logs and monitoring data available through the delegate when our support team needs access. So if we need to troubleshoot any on-prem deployment, we can do it without bothering the customer. What’s interesting about this is that no customer or application data is being communicated or exposed. Again, the data in transit is 100% Harness data with no customer app/infra data exposed.
Again, using our architecture, customers can now get bug fixes asap through our auto-update capability. Even better, our customer success team can now be more proactive.
Win: Faster troubleshooting and resolution time of tickets

Connected On-Premises – The Best Of Both Worlds

With our On-Premises offering, Harness gives you complete control, ownership and privacy of your corporate data with all the manageability benefits of SaaS.
Whether you chose Harness SaaS or on-premises, you get Continuous Delivery As-A-Service. Your teams can focus 100% on deploying apps faster instead of building deployment automation for your apps. Focus on business innovation vs. tools innovation.
With Harness “Connected On-Premises” Harness can deliver world-class innovation and support without burdening our customers with manual updates, configuration and troubleshooting. It’s a win-win for everyone.
As always, feedback is welcome and no doubt we’ll be adding plenty more capabilities very soon so watch this space. You can sign up for your Harness trial here.