Platform architecture
Qlik Cloud is a single-solution modern data stack with capabilities to move enterprise data from on-premises and cloud sources to Qlik's hosted self-service analytics solutions and other analytics environments. The foundation for these solutions is the Qlik Cloud platform Architecture. Qlik Cloud uses a cloud-native approach Based on CNCF's approach and related technologies to provide efficient and highly available services to our customers.
Focus on your needs, not infrastructure
Qlik wants to reduce the cost and effort that customers spend managing infrastructure and increase the time they have for gaining insights from their data. When running on-premise deployments, customers need to factor in several costs which are not directly related to solving business problems, such as:
Infrastructure capital and operational costs
Operating system management and software licensing
Staffing costs for infrastructure administrators
With the Qlik Cloud platform, our customers can focus on solving business problems rather than administering their environment. This reduces both the total cost of ownership and the time it takes to get to actionable insights on your data – what Qlik refers to as minutes to insight.
Zero-downtime deployment for updates
Another significant effort involved with on-premises software deployments, and even many SaaS offerings, is the need for customers to test and certify product implementations, migrations, and upgrades, which can include side-by-side SaaS environments. Instead of requiring such time-intensive efforts, Qlik uses the concept of zero-downtime deployments for our Qlik Cloud platform infrastructure.
Qlik’s zero downtime deployments for the Qlik Cloud platform allow a customer’s tenant to be upgraded or modified without affecting customers’ usage. Qlik’s work on the platform is transparent to customers. For more information on Qlik’s cloud-native architecture and how zero-downtime deployments works, see the Qlik’s cloud-native platform and Kubernetes stack section below.
Internationalization and localization
The Qlik Cloud platform is a Unicode-enabled service that is compatible with data stored in any language. The user interface and supporting documentation are available in English, German, Spanish, French, Italian, Japanese, Dutch, Brazilian Portuguese, Russian, Swedish, Simplified Chinese, Polish, Turkish, Korean, and Traditional Chinese.
Users can define their locale in their profile settings. The user-defined app creation locale enables creators to inherit locale for script variables for formatting such as money format, decimal separators, and month/day names.
Tenants, user roles and entitlements
Tenants
Each customer creates an instance of Qlik Cloud called a tenant. Subscriptions for Qlik Cloud include a single tenant, however, customers who require a multi-tenant environment may add additional tenants to their subscription. A tenant can host Qlik Cloud Analytics and Data Integration, or any combination to which a customer has been entitled.
Roles and entitlements
Access to features and entitlements within a tenant is controlled by the roles assigned to users and groups. Roles, in combination with the user’s assigned entitlement, establish what the user can do.
User entitlements are based on the user types available and they are assigned in the subscription the customer has purchased. This could be analyzer or professional in user-based subscriptions (for example, Company A purchased 1,000 Qlik Sense professional licenses and 5,000 Qlik Sense analyzer licenses), or basic or full in capacity-based subscriptions.
Some roles are specific to the relevant service (such as Analytics) and are not covered here. The platform-wide roles are:
User – The user role is given to anyone who has access to a tenant. It is implied rather than specifically granted. It may be further broken downn by entitlement (for Analytics; professional, analyzer, and so on).
Developer – The developer role is allowed more developer- and creation-type features such as the ability to create API keys. API keys are used for programmatic access to the tenant and for certain Qlik tools such as Qlik DataTransfer.
Tenant admin – The tenant admin role has full access to the management console for the management of all administrative aspects of a customer’s tenant. There is always a minimum of one tenant admin per tenant.
Service account owner - While not a role within the tenant, each tenant has a service account owner who controls initial setup, multi-factor authentication, and billing. The service account owner is the initial tenant admin.
Qlik’s cloud-native platform and Kubernetes stack
To provide customers with a highly scalable, highly available cloud platform and service, Qlik could not simply just shift our on-premise products and move them to the cloud. Qlik Cloud is built upon a micro-services architecture, with the various components of the platform designed from the ground up to build a powerful, enterprise-ready cloud-native solution. Qlik’s container-based micro-services architecture allows each component to scale as needed rather than adding more servers as traditionally done on on-premises solutions.
A key feature of this platform is the ability to horizontally scale up as workloads increase, and scale back down as they decrease; a key component used in the Qlik Cloud platform to ensure consistent performance for our customers, regardless of the number of users on the platform. Automated monitoring and the dynamic adjustment of resources allows all components of the platform to run with optimal resources whenever workloads change.
Another key aspect of cloud-native applications is the concept of zero-downtime deployment. The Qlik Cloud platform has been designed to support zero-downtime deployment due to Qlik being able to upgrade the platform without outages.
Qlik uses Docker and Kubernetes to manage the scaling dependencies of the platform. A reference diagram for our Kubernetes deployment is shown below.
Some of the key technologies used in the Qlik Cloud platform are:
Kubernetes – Kubernetes provides automated container deployment, scaling, and management. For more information, see Kubernetes.
Docker – Docker provides containers where Qlik micro-services run. Containers are a standardized unit of software that allows developers to isolate their code from its environment, solving the “it works on my machine” headache. See Docker.
NGINX Ingress Controller – NGINX Ingress Controller provides the web interface and internal load balancing for Qlik Sense Enterprise SaaS tenants. NGINX is an HTTP and reverse proxy server, a load balancing server, and a generic TCP/UDP proxy server. See NGINX Ingress Controller.
MongoDB - MongoDB is a cross-platform document-oriented database. It is used as the metadata repository within Qlik Sense Enterprise SaaS. See MongoDB.
Predictable performance at scale
To ensure the best possible end user experience, Qlik continuously observes anonymized samples of the performance and scalability across individual tenants. Several different configurations are tested to make sure that the tenants can cope with the expected use cases and loads. Some of the parameters tested include:
User ramp-up (that is, the number of users accessing the tenant per time unit)
User type, such as consumer or creator
Number of concurrent users
Number and size of applications, data alerts, automation tasks, etc.
Number, frequency and size of concurrent application and data loads
In this example, we tested 10,000 users per hour who were accessing 100 (out of 1600 available) different apps with an average data volume of 1.6 million rows. As shown above, response times for opening the Qlik Sense hub, opening spaces, and opening individual apps were all under a second for all users.
A sustainable architecture
Deploying physical hardware for IT systems create a significant carbon footprint for an organization. Data centers account for nearly 1% of global electricity uses (see Data Centers and Data Transmission Networks). Companies moving resources to a public cloud provider will benefit somewhat from the efficiency gains from colocation and resource optimization provided.
A recent survey conducted showed over half of the organizations using public cloud have an average CPU utilization of between 20-40% (see Granulate Issues Findings from State of Cloud Computing Survey Highlighting Underutilization of IT Infrastructure); meaning that 60-80% of the assigned resources are unused but still active. These servers continue to use significant amounts of power to operate. These same inefficiencies are true for on-premises deployed hardware, without the benefits from economies of scale a cloud provider has.
The Qlik Cloud platform provides significant benefits to organizations looking to reduce their carbon footprint further. The benefits come from three main areas:
Shared services. The Qlik Cloud platform makes use of shared resources across a Qlik Cloud region, which would otherwise need to be duplicated for each customer deployment in a traditional client managed environment. We also benefit here from the regional nature of Qlik Cloud supporting multiple time zones. This means that peak times in one area are offset by the other time zones in that region. This significantly reduces resource usage further.
Just-in-time resourcing. Qlik cloud uses intelligent queue management to minimize resources used at peak times. Instead of initiating all jobs at the exact time they are scheduled—at peak times Qlik Cloud may delay starting a job for a moment to avoid the need to provision excessive resources. This significantly reduces resource usage for application reloads, which make up approximately 1/3 of all resource usage in the Qlik Cloud platform.
Kubernetes auto-scaling. The Qlik Associative and Cognitive engines respectively consist of the majority of resource usage in a Qlik deployment. In a client-managed environment, these resources need to be statically assigned, and sized for peak periods of the customer's business cycle. This might mean that for large parts of the month they are significantly under-utilized. Qlik Cloud however is based on a Kubernetes architecture which auto-scales these resources to meet demand as needed, and frees up these resources when demand eases.
While Qlik does not capture detailed resource usage at a customer level, all of these factors combine to lead to a significant reduction in resources used for a client-managed deployment of Qlik software.
Our cloud provider
The majority of services Qlik uses to run the Qlik Cloud platform are provided by Amazon Web Services (AWS). Amazon share Qlik's commitment to reducing their carbon footprint and working towards powering their operations with 100% renewable energy by 2025 (see Sustainability in the Cloud). As of April 2022, Amazon was the world’s leading corporate buyer of renewable energy.
As well as focusing on renewable energy, Amazon is also focused on minimizing the energy it uses. A study conducted by 451 Research show that the AWS infrastructure is 3.6 times more energy efficient than the median of U.S. enterprise data centers surveyed.
Did this page help you?
If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!