This blog is a revised version of an article first published in June 2020.
At QuickBlox we work with a range of clients using our video and chat SDKs and APIs for real-time communication, who come with a variety of hosting requirements. From large US healthcare organizations wanting to develop HIPAA compliant video chat, GDPR-bound businesses needing to store customer data within the EU, government agencies that require secure instant messaging stored on their own servers, to small start-ups trialing in-app chat while working on a limited budget — we understand that one size does not fit all and that’s why we provide a range of hosting options. QuickBlox offers its customer shared, dedicated, and on-premises installation for a diverse range of use cases & applications. The following provides an overview to help you determine the deployment model best suited for you and how QuickBlox can help.
Hosting the QuickBlox Way
Deciding what kind of hosting environment to run your application and store and process associated customer data requires careful consideration of various factors including reliability and performance, backup and storage, data security and compliance. For a detailed discussion on these factors see How to Choose Hosting for your Chat Application. At QuickBlox, we work with our customers to find optimal solutions based on security and performance needs, as well as budget and resource parameters. We work with several cloud service providers, and offer various deployment options that utilize public cloud, private cloud and hybrid cloud models. Let’s look at these options in more detail.
Shared Server Account (Basic, Starter, Growth Plans)
What is it? – Our multi-tenant shared cloud allows customers to save on costs by running their application in an environment where computing resources such as memory and storage space are shared between multiple applications, but customer data remains isolated and invisible to each other. We use Amazon Web Services (AWS) to host our managed QuickBlox cloud.
Who’s it best for? – Our Basic, Starter and Growth Plans on the shared cloud are designed for individuals and small businesses that have fairly simple requirements around data consumption, scalability, and, oftentimes, limited budgets. This option provides an affordable way to get their app up and running and out to market. Our shared cloud is also ideal for businesses starting with a proof of concept. They can try out their new app in a “sandbox” cloud environment then upgrade as they move into production.
Multi-tenant hosting offers several benefits:
- Cost-effective – There is no need to rent or buy the whole server and maintain it – all the services come out-of-the-box. There is no additional cost for messages or call minutes.
- Ease-of-use – The QuickBlox team provides a complete administration system and takes care of all the features related to the hosting system including updates, security, maintenance, backups, software installation.
- Immediate start – To get started, just create an account – everything you need is already included in its functionality.
- Flexible scalability – You can easily upgrade and downgrade the plan if you need more or less resources.
- Reliability – Our AWS hosting provides continuity of services and AWS provides an uptime guarantee.
Factors to Consider
Since the public cloud is a multi-tenant environment, it is not suitable for all applications, particularly those that have stricter requirements for performance, availability, and security. The main drawbacks of multi-tenant servers are:
- Limits on bandwidth and storage – Because it’s a multi-tenant environment, resources are shared, so there are set limits on usage, bandwidth, and storage space, which means you won’t be able to use resources beyond the maximum allowed.
- Less data control – Shared resources also means you can’t track and control any of the back-end processes of your specific application.
- Potential latency – Delayed connections can occur on the Shared Cloud because hundreds of other applications are being developed and used in the same environment. The activity of other users can impact your application.
- Server location – Our shared servers are located in the USA, which can impact response time. Server location affects the speed of processing API requests. That’s why it is better to host your application close to your target audience.
- Our maintenance schedule, not yours – downtime can occur due to maintenance. Although we will forewarn, we maintain the schedule for hardware and software updates.
- No QuickBlox SLA – By default, a Shared Cloud account does not offer a Service Level Agreement (SLA). Depending on your plan, support levels are provided.
Enterprise Cloud Hosting (Enterprise Plan)
What is it? – With our enterprise cloud hosting plan, customers rent their own dedicated cloud space for their application. This might be on a public or private cloud, but because it’s dedicated software, the customer enjoys dedicated resources reserved for the exclusive use of their application. Furthermore, the customer works with QuickBlox in the management and maintenance of the QuickBlox software and any custom configuration changes the customer needs. It also means that their dedicated software instance is never impacted by the activities of other apps.
Some of our customers opt for a dedicated instance within an AWS public cloud owned and managed by QuickBlox. Most of our customers, however, prefer to set up their own dedicated cloud account oftentimes with AWS, but also with Google Cloud Platform (GCP), Oracle Cloud, Microsoft Azure, and Alibaba Cloud among others. Whatever the preferred cloud service, QuickBlox will deploy and configure the software within the customer’s cloud account (or the QuickBlox dedicated account) and take responsibility for maintenance, upgrades, 24/7 security, and operational functionality.
Who’s it best for? – Our Enterprise Plan is specially created for those who want or need more control over data and security; customer data is stored in your own server space, therefore you enjoy exclusive access and control of your data (even from us if needed). The Enterprise Plan comes with additional optional security enhancements for HIPAA and GDPR compliance making it an ideal choice for Fintech, healthcare, European organizations, state-owned enterprises, or institutions with defined security requirements.
Our Enterprise Plan is the optimal plan for business enterprises who require scalability, reliability, customization, and a predictable workflow because the customer is in control of all planned upgrades and expected downtimes, and has access to quality technical support, and SLA guarantee.
For a more detailed account of our QuickBlox Enterprise Plan see Part-1 and Part-2 of our earlier blog.
- High reliability – A dedicated cloud account provides the best performance and reliability.
- Scalable – The small Enterprise Plan comes with generous limits on number of users, devices, storage, and traffic. It’s easy to upgrade to medium and larger plans as your business scales.
- Full account and data control – Since the dedicated cloud account belongs to your organization, no third parties have access to your chat environment. You have full control over the sensitive data stored on the server.
- Choice of the server location – You are free to choose the best location for your dedicated cloud account. This flexibility allows you to get close to your customer base while adhering to the specific data regulations in a given geographical area.
- Release management and software updates – Since the entire hosting cloud account is at your disposal, you can control software installation, updating, and patching.
- Quick Migration from Shared server – If you are currently using a QuickBlox shared account, our team will help you to quickly migrate to the dedicated Enterprise instance.
- No internal DevOps resources are needed – QuickBlox DevOps team fully manages the installation and maintenance of the infrastructure, so the client doesn’t need to spend resources on hiring their own DevOps team.
- HIPAA / GDPR compliant – We can configure your dedicated instance to meet your specific compliance needs.
- Support under SLA – An SLA ensures the client receives all the services available as agreed by QuickBlox. Using advanced analytics, QuickBlox is able to predict and prevent downtime in chat service delivery.
- Premium support – our Enterprise Plan comes with a personal account manager, web admin panel, and prioritized support.
- Fully customizable – Our chat APIs and SDKs are fully customizable on the Enterprise Plan by your own technical team or with the help of our professional services team.
- Additional resources – With a dedicated instance it is possible to use software add-ons including conference call server, dedicated TURN server, custom identity provider, trust & safety etc.
- Enhanced security – It is also possible to include an extra layer of advanced security and monitoring :
- Virus scanner
- OSSEC – Intrusion Detection System
- Graylog – advanced logging and monitoring
Factors to Consider:
- A dedicated cloud hosting account requires greater enterprise responsibility – The customer is responsible for selecting which cloud provider to use, entering a contract, setting up their account, and maintaining monthly subscription charges separate from their partnership with QuickBlox.
- Since the infrastructure is located in your dedicated Cloud account, it is up to you to approve QuickBlox software releases to your Enterprise installation, and to initiate other other actions such as upscale/downscale and additional security configurations.
On-Premises (Enterprise Plan)
What is it? – On-premises is a solution that involves deployment of the QuickBlox software into the customer’s dedicated servers within the customer’s data center. After on-premises installation, the QuickBlox team has limited access to the software, and the customer is responsible for first-level management and maintenance of server infrastructure.
Who’s it best for? – An on-premises environment guarantees the highest level of security, since no third parties (including the hosting vendors or even QuickBlox) have physical access to your dedicated servers. On-premise installations are mainly used by companies with the strictest security requirements, including fintech and government agencies. Increasingly customers are using a hybrid solution of both on-premises and cloud software.
- Enhanced security – The organization is in full control of the chat and communication data locally, so no third-party provider has access to your data.
- Full server and data control – With an on-premises solution, you control the process of server maintenance and data storage with our 2nd and 3rd level support.
- Choice of data center location – The on-premises solution provides an opportunity to use your own data center that can be located wherever you need.
Factors to Consider
- Full Infrastructure management is needed – with on-premises hosting, you require your own DevOps who will be responsible for 1st level support and related support processes. If any issues occur, QuickBlox can assist but we won’t have direct access to your servers so will work with your team to resolve issues;
- Additional operational costs – On-premises requires investment in infrastructure and staff (e.g. hardware and devops personnel), which can increase operational costs. However many organizations that select this option like banks, governmental organizations, and large enterprises – already have infrastructure and staff in place.
Understanding your business needs and priorities is the key to making the most-informed decision about the best infrastructure for your application. Other service providers offer chat and communication services in their ‘cloud,’ keeping the customer in the dark as to where their data and services are actually being provided. QuickBlox is committed to working with our customers needs and has a variety of hosting solutions to help your company with any type of software deployment to keep your data safe & secure. Contact us to find out more.