Can I run Algolia on-premises (on my own servers)?
We do not offer an on-premise solution. Algolia is only an SaaS offering. On-premise is a complete change of focus - to do both is unsustainable for us.
SaaS has changed software during the last 20 years. Building SaaS is radically different from on-premise.
As SaaS providers, we know the precise needs of our search engine - data loads, performance, redundancy (3-server cluster, DNS). We build this on strong monitoring techniques that help us improve the entirety of our services.
Owning our own hardware lets us hand pick SSD, RAM, kernel changes and handle the whole journey from the front-end to our servers, including DNS and such. By providing the hardware and centralizing the software, we have more control over the service we offer.
On a practical level, we would need to divide our time between managing our own servers and supporting our clients’ unique infrastructures, which could number into the 1000s. This is not scaleable. Additionally, we would not be able to devote as much time to the below activities (security, monitoring, deployments, support, troubleshooting, software upgrades), without compromising the quality of our SaaS services.
Monitoring our API
Here is how monitoring API usage benefits our clients:
- Better performance (our engineers manually investigate slow API calls, as part of our monitoring probes which are built into the software)
- Discover new engine optimizations
- Help us focus on the most used API calls
- Create new / better API methods
- Helps us think about better UI choices. This is about us correlating UI/UX considerations with API usage.
- Overall, to ensure best front-to-back service
Monitoring our Infrastructure
- Constant review
- Error checking that lead to improvements that are transparent to our clients
- Easier troubleshooting and testing
Support is clearly easier with direct access to our own servers, as we can be immediately reactive, able to track, find, and solve service-related problems on the spot.
More control over Security
Security and privacy are major concerns for our clients and often why they request an on-premise solution. We understand this. We discuss security throughout our documentation (API Keys, Vault, encryption, SOC 2 compliance) to ensure that Algolia’s services are secure. Please refer to our security page for more detail.
To ensure a high-level of security, we perform a number of regular operations:
- We constantly monitor our servers - both with automated tools that perform real-time detections and checks (24/7, every few seconds), and with manual procedures and analytics.
- Secondly, we perform penetration tests every 6 months, and regularly use the bug bounty program on HackerOne, encouraging controlled-hacking.
- Thirdly, we have regular external auditing.
All this is done in compliance with SOC2 certification.
None of this would be possible if we did not own the servers.
Protecting your Privacy
If we need to look at your data, it is only within the context and limited time-frame of a support event. We ask explicitly for temporary and targeted access when troubleshooting a data-related issue. Support-related access is limited to the person handling the support and it expires as soon as the problem is solved.
- No sharing of data between customers. If a single machine contains more than one customer, we have secure boundaries between customers that it is not possible for data to be misdirected.
- No sharing data with external organizations.
- SOC 2 compliance requires us to follow very clear guidelines to ensure the privacy of your data.
- All monitoring is generic - we monitor usage and services, not specific data.
Finally, when choosing our ENTERPRISE plan, we setup your account on a dedicated cluster instead of a shared one. This ensures that no other customer will be hosted on the cluster hosting your service, and that your cluster is secure and optimized for your specific needs.
Easy deployments and software upgrades
We can control when and what is installed on our own servers. Our focus is on only one thing, to improve our service. Deployments and software upgrades are done across the board, with very little variation - this is possible because of the general homogeneity of our clusters.
Cloud deployments allow project teams to focus less on infrastructure and more on the quality of the services. Implementation teams can focus on business priorities and provide insight into the data, an aspect of in-house enterprise solutions that is too often overlooked.
If you have any questions, please contact us.