Customer-hosted infrastructure overview
This article is part of a multi-part series that discusses hosting of Looker, deployment methodologies, and best practices for the components involved. This article explores the opportunities and considerations of a customer-hosted deployment and provides guidance on how to approach the business requirements of this type of deployment.
This series consists of three parts:
- Customer-hosted infrastructure overview (this article)
- Customer-hosted infrastructure architecture patterns
- Customer-hosted infrastructure component walkthroughs
Looker application introduction
Looker is a Java application that runs in the JVM, which allocates resources from, and resides inside, the host machine. Looker is responsible for managing requests from users, applications, and internal schedules against the database. Services support features and functionality in Looker, such as a Git repository or an SMTP server. Optional additional services can enhance the availability and scalability of your deployment, such as an external database for Looker's metadata and a shared file system for horizontal scaling.
When Looker hosts your environment, we will manage these components on your behalf based on resource utilization and business requirements. Conversely, when you host your own environment, you are responsible for managing the components.
Customer-hosted versus Looker-hosted deployments
The choice between customer-hosted and Looker-hosted depends on the trade-off of convenience for control. Opting for Looker-hosted allows you to focus on integrating Looker into your business workloads without the demands of infrastructure administration. Conversely, committing to customer-hosted gives your complete control over the infrastructure administration at the cost of initial launch and ongoing maintenance overhead. The comparison matrix below shows more granular details.
Benefit | Looker-Hosted | Customer-Hosted |
No hardware setup or maintenance required |
X |
|
Software updates done for you |
X |
|
Scale hardware at no additional cost: |
X |
|
Better and faster customer support |
X |
|
Uptime SLA 99.9% (Advanced & Elite) |
X |
|
S1 Response SLA 1 hour |
X |
|
Use of Looker API |
X |
X |
Multi-instance migrations |
X |
X |
Direct access to servers/logs |
X |
Benefits of Looker-hosted deployments
Active management of Looker instance |
Leave the performance monitoring to the Looker team and focus on making decisions with actionable data insights from Looker. |
Always get the latest features and updates |
You will never have to manually download another update. Your Looker instance is tested, updated, and optimized by the Looker team. |
Consistent performance |
The Looker Ops team will constantly monitor performance and adjust capacity to ensure a great user experience. You don't have to decide how many servers you need to support your users. |
Deployment security |
Looker manages your platform infrastructure. Your Looker deployment is discrete, secure, and monitored continuously to keep your data safe. |
Connected services |
Every Looker deployment includes essential connected services that allow you to access more relevant data, increase insights, simplify and scale data modeling, and integrate with third-party systems, all while Looker provides an industry-leading support experience. |
Secure database connections |
Connect Looker to your database using SSH. |
SAML/LDAP integration |
Looker can integrate with your existing auth methods to make secure access easily manageable. |
Considerations for Looker-hosted deployments
Specific security/compliance requirements |
The Looker-hosted environment infrastructure may not align with your company's individual security/compliance requirements. |
Requirement to have access to logs/monitoring |
Since Looker manages the infrastructure, you won't have access to logs and Looker's team will manage all monitoring. |
Custom SLAs |
Looker updates and maintenance take place during the pre-defined maintenance windows. Some customers may require additional control over when this maintenance occurs. |
Custom JDBC Drivers |
Custom JDBC drivers must be installed to connect to databases with lower levels of support. |
Benefits of customer-hosted deployments
Direct control over infrastructure and scaling decisions |
You are able to implement infrastructure and architecture configurations that may not be offered with a Looker-hosted deployment. |
Access to logging/monitoring |
By managing your own infrastructure, you can directly access Looker application logs and set up instance monitoring that suits your individual requirements. |
Bespoke security model |
Hosting Looker in your own deployment allows you complete control over the security of the application environment, which you can align to your company/industry specific security standards. |
Considerations for customer-hosted deployments
Support limitations |
Troubleshooting issues can be challenging when the Looker support team is unfamiliar with custom deployment architecture. Certain issues may require more involvement from your team. |
Monthly update requirements |
You are responsible for creating and maintaining processes that ensure that users are getting the latest features and security patches from Looker. |
Human capital requirements |
Looker deployments can require significant headcount and DevOps/SRE expertise. Your team will need to manage the various components of a Looker deployment, including Linux VMs, MySQL databases, network file systems, load balancers, log rotation, performance monitoring, alerts, and other integrations. |
Cost |
Time, human capital, and cloud/datacenter costs will be managed by your company. |
Challenges using connected services |
Looker has the benefit of connected services, which allow you to to access relevant industry data, increase insights, simplify and scale data modeling, and integrate with third-party systems, all while Looker provides an industry-leading support experience. In a self-hosted Looker deployment, you may need to deploy ancillary services in your cloud to access these features. |
Disaster recovery and elasticity |
You will be responsible for maintaining a dedicated DevOps team responsible for uptime and service resilience |
Sample customer-hosted use cases
You have bespoke security requirements
Some customers' security policies mandate that they are unable to utilize cloud services. Looker is designed to be multi-cloud, and Looker-hosted deployments reside on various Cloud providers such as GCP, AWS, and Azure. If your security policy is incompatible with using Cloud services with your data, customer-hosting is designed to be the alternative.
You want a fully customizable deployment model
When Looker hosts your environments, we assume that these environments are intended to be stable. Your requirements may not be compatible with this assumption, as seen in the following use cases:
- Your deployment landscape is a large expanse of numerous instances for each of your user groups and/or customers, which may only be required for an ephemeral period.
- You require the ability to frequently build new environments or tear down existing environments.
- You have multiple Looker instances that require custom configurations for the startup flags, model, or connection information for each deployment.
You require further integration and management access
In a Looker-hosted environment the direct access you have to your deployment is limited. Customer-hosted deployments allow for full access to the file system, metadata database, and JVM configurations of your instance. This is conducive to these situations:
- Your LookML models and configurations for each environment are frequently updated via scripts in sync with your development process.
- Your Looker's backend state needs to be deployed using different snapshots for different environments.
- You are unable to use certain core technologies Looker deploys with, such as Git. With full control of Looker's backend you can substitute any core component of Looker with your preferred solution.
Choosing a customer-hosted deployment
One of the advantages of Looker is the robust multi-cloud capability. Looker is packaged as a jar file, and can run on any Linux operating system with appropriate JVM packages installed. This allows you to take complete ownership over the server, application and network that revolve around your data.
There are many ways to host a Looker instance. You can create a deployment that is simple to set up, but contains minimal failover, or a more complex architecture with high availability and resilience. This series of articles are designed to illustrate the best practices around the multiple ways of hosting, as well as how to think about designing the perfect system for your business.
If, after reviewing the benefits and considerations of a customer-hosted deployment, you think self-hosting is a viable option, ask your Looker consultants to review our Hosting Evaluation Questionnaire with you.