Frequently Asked Questions - On-Premise DeploymentEstimated reading time: 14 minutes
- What is Mesibo on-premise?
- Why do I need On-Premise?
- On-Premise vs Cloud offering, Which one is better?
- Do we need to pay extra for on-premise?
- What is the cost for on-premise and how billing is changed compared to Mesibo Cloud solution?
- Can I run Mesibo on a cloud service provider?
- Can we run it along with our Web server or Do we need additional hardware?
- Do I need to change or recompile my apps to run with Mesibo On-Premise ?
- I am currently using Mesibo Cloud services. If I enable on-premise how long will it take to switch connection to my server?
- Can I switch from Mesibo On-Premise hosted on my service back to Mesibo Cloud Service?
- What happens when we have issues in our datacenter?
- Can I keep my database behind a firewall and run Mesibo?
- What is Auto fallback to cloud option ?
- What is 'do not perform network check' option ?
- How can I configure my TLS/SSL setting ?
- What happens if I have enabled on premise and my server is not running?
- What happens if my server disconnects due to a network issue while hosting on premise?
- What happens if I am connected to my server and disable On-Premise from console?
- Does on-premise requires internet?
- Will the backend API URL change when I use on-premise?
- How can we keep our On-premise deployment updated with latest features and technology?
- If I need to run multiple apps, then should I spawn multiple docker containers?
- How to orechestrate mesibo docker containers on Kubernetes
- What is loadable modules and scripting?
- How does a mesibo module work?
- What can I build with Mesibo Modules?
- Do I need to sign-up with mesibo to use mesibo on-premise server?
- I am getting MySQL Connection Failed error.
- I have created a user using the backend API. However, I can not find that user in the on-premise database.
- Can you set up on-premise for us on our server?
- Can I use AWS lambda to run mesibo on-premise
- Can I use mesibo on-premise with MongoDB instead of MySQL?
What is Mesibo on-premise?
Mesibo On-Premise solution allows you to run the entire Mesibo real-time platform in your own premise OR private cloud. All the messages and calls go through your own data center and stay in your own database. All you have to do is download Mesibo On-Premise and run it in your own data center. That’s it!
Why do I need On-Premise?
Security & Data Privacy is becoming a growing concern. As recent as last week, the US has launched an anti-trust probe on some tech giants for data privacy. Mesibo On-Premise solution gives you complete ownership and control of your user data. It also ensures conformance to stringent data compliance and privacy requirements (GDPR, HIPAA, etc.). Besides, On-Premise offers many additional features compared to the Cloud.
On-Premise vs Cloud offering, Which one is better?
You can’t go wrong with either model. Although our cloud services let you start immediately, there are several reasons why you need On-Premise, and one of the key reasons is to have ultimate control over your data. More than ever before, it has become imperative to protect your data and be more sensitive towards your user data, be it personal data, financial data, medical records, GDPR, HIPPA, unauthorized harvesting of your data, companies selling, misusing your data for advertisement, to name a few.
Mesibo On-premise offering puts you in complete control of your data since everything runs on your own servers. If you do not wish to host Mesibo on your own server infrastructure, you have the option of using the Cloud offering by Mesibo. Also, even when running On-Premise, you can always use Mesibo cloud as a backup, which gives you the best of both worlds.
Do we need to pay extra for on-premise?
Absolutely not! You don’t have to pay anything extra to use the Mesibo On-Premise solution, our pricing for on-premise and cloud solutions is the same. In fact, the Mesibo On-Premise solution turns out more economical as you don’t have to pay for bandwidth and storage charges. This alone makes it On-Premise an attractive proposition.
What is the cost for on-premise and how billing is changed compared to Mesibo Cloud solution?
It comes to you at no additional cost - you only pay for the number of active users per month! No monthly commitment, no bandwidth charges, no storage charges, or any other hidden charges. This makes On-premise even more economical and attractive than our Cloud offering.
Can I run Mesibo on a cloud service provider?
Can we run it along with our Web server or Do we need additional hardware?
Indeed, you can run Mesibo On-Premise along with your existing web server without investing in additional hardware. Unlike other solutions that require heavy runtime like Java, Mesibo is entirely written in C++ which makes it a very lightweight (similar to other industry-standard software like Nginx, etc.), and it can easily co-exist with your web-server.
Do I need to change or recompile my apps to run with Mesibo On-Premise ?
Absolutely not! There are NO changes to the way you deploy your application or use our APIs. Mesibo cloud servers use the same software as On-Premise. So whether you use Mesibo Cloud Service or set up a dedicated server running Mesibo On-Premise, there is absolutely no change in the way you use Mesibo APIs or deploy your application. In fact, in case your data center having issues, you can always have the option of falling back to Mesibo Cloud Services, with just the click of a button.
I am currently using Mesibo Cloud services. If I enable on-premise how long will it take to switch connection to my server?
As soon as you enable On-Premise in the console, your users will start getting connected to your On-Premise server. Please ensure that you have made the necessary configuration in the console and the Running Status in the console displays your hostname before you enable On-Premise.
Can I switch from Mesibo On-Premise hosted on my service back to Mesibo Cloud Service?
Yes, if you would like your users to switch from On-Premise server to Mesibo cloud server, first disable On-Premise in the console and then stop your docker container which is running mesibo. Your users will now get connected to Mesibo Cloud
What happens when we have issues in our datacenter?
You can anytime switch to our Cloud services with minimal or no interruption to your services, at a click of a button from the Mesibo Console. Our Cloud services will serve your users till you fix issues in your data-center, and once you resolve them, you can again switch back your On-Premise deployment.
Can I keep my database behind a firewall and run Mesibo?
Absolutely. We do not need to access your database, and hence, you may keep it behind the firewall. However, ensure that your database is accessible to the Mesibo on-premise server. Refer On-Premise documentation for more details.
What is Auto fallback to cloud option ?
In the Mesibo console, if you enable auto fallback in the on-premise settings, Mesibo will automatically connect to cloud service if your data center is having an issue. Note that, some of the offline messages will not be delivered in fallback mode since the Mesibo cloud has no access to your database.
What is 'do not perform network check' option ?
If you enable do not perform network check, Mesibo console will not perform any checks for the correctness of hostname, or any network connectivity. Select this if you are running Mesibo On-Premise in your private network/intranet setup.
How can I configure my TLS/SSL setting ?
You can use any existing certificate which you may be using with your web server, OR purchase it from any provider of your choice, OR use Letsencrypt which is a free service (recommended) to get a secure certificate.
To configure TLS/SSL certificate, refer on-premise documentation.
What happens if I have enabled on premise and my server is not running?
There are two possibilities -
- If Auto Fallback is not enabled and your server is not running and you have enabled On-Premise, your users will not be able to connect and hence will fail to get your service.
- If Auto Fallback is enabled and your server is not running and you have enabled On-Premise, your users will switch to Mesibo cloud after a few retries
What happens if my server disconnects due to a network issue while hosting on premise?
In the case of an issue with your on premise connection, mesibo will try to reconnect to your server for a few times. If that fails and you have fall back to cloud option enabled, your application will be connected to mesibo cloud. Otherwise mesibo will continue to reconnect to your server. Please check your server logs for further troubleshooting.
What happens if I am connected to my server and disable On-Premise from console?
If your server is running, your users will continue to connect to your On-Premise server since they do not know about your disabling On-Premise server.
However, if you also stop your docker container running Mesibo, your users will be redirected to Mesibo cloud after a few retries and will connect there since you have disabled On-Premise.
Does on-premise requires internet?
Yes, on-premise requires internet access for authenticating with the mesibo server and the billing purpose. You should ensure that the on-premise server is able to connect to onp-auth.mesibo.com
Will the backend API URL change when I use on-premise?
No, the backend API URL will remain the same. when running on-premise, you only need to use backend APIs for creating users. For everything else, you can use real-time APIs. Refer to on-premise documentation for more details.
How can we keep our On-premise deployment updated with latest features and technology?
With just one command, your entire deployment will be updated to the latest Mesibo version. Refer to the On-Premise Guide for the details.
If I need to run multiple apps, then should I spawn multiple docker containers?
Yes, you can run the mesibo docker container for each of your applications by configuring the respective app token. You can use a separate or the same database for all your applications.
How to orechestrate mesibo docker containers on Kubernetes
Mesibo docker container is similar to other docker images. Refer to Kubernetes documentation.
What is loadable modules and scripting?
Mesibo On-Premise is designed by developers for developers. Its dynamically loadable module architecture lets you load your own code for deeper integration with your infrastructure, enabling you for unlimited creative possibilities.
With Mesibo Modules you can build powerful chatbots, filters, remotely communicate with hardware for IoT and robotics, integrate with Machine learning and Scientific computing backend such as Tensorflow, Dialogflow, Matlab, etc and much more, all the way keeping your data secure and private in your premises or private cloud.
How does a mesibo module work?
Mesibo Module is essentially a message processor that allows you to intercept each message and decide whether to pass the message as it is to the destination, drop it, or process it before sending it to the destination. For example,
- A profanity filter module can drop messages containing profanity
- A translation module can translate each message before sending it to destination
- A chatbot module can analyze messages using various AI and machine learning tools like Tensorflow, Dialogflow, etc. and send an automatic reply.
A Mesibo module is built as a shared library (.so file) which can be loaded at runtime by the Mesibo server. Mesibo then invokes various callback functions that you have defined in the shared library whenever it receives messages or message status from your users
What can I build with Mesibo Modules?
The functionality of each module is programmed by you and its capability is limited only by your imagination. Mesibo modules make Mesibo a powerful communication platform.
With Mesibo Modules you can build interesting applications such as chatbot, translation service, profanity filter and much more!
Do I need to sign-up with mesibo to use mesibo on-premise server?
Yes, you are required to sign-up with mesibo to use the mesibo on-premise server. You will require to obtain a token from the mesibo to run mesibo on-premise and hence the sign-up is required. This token will be verified by the mesibo on-premise server at the time of running.
I am getting MySQL Connection Failed error.
You need to ensure that your MySQL server is accessible from the docker image. If you are configuring 127.0.0.1 or localhost for MySQL host, it is likely to fail since your MySQL server is outside your docker image and hence you need a real IP address other than the localhost.
The mesibo docker image logs the IP address and samples MySQL commands, try using them.
I have created a user using the backend API. However, I can not find that user in the on-premise database.
The mesibo on-premise synchronizes user information only when a user tries to log in for the first time. On-premise does this to optimize bandwidth and database access (imagine you have millions of users). Once the user logs in for the first time, you will find user information in the database.
However, for some reason you require that information before the user logs in, you can populate the
users table with the
address information which you get when you create a user using the mesibo backend API. Also, set the
active column to 1. Ensure to enter correct information to avoid any unpredictable results.
Can you set up on-premise for us on our server?
If you are a paid user with more than $100 paid credits (excluding any free credits), we can one-time set it up on your Linux server. You need to ensure that your Linux server meets the requirement mentioned in the documentation, MySQL server is running, and Letsencrypt SSL certificates are ready to use. You also need to provide a superuser account for us to set it up.
Can I use AWS lambda to run mesibo on-premise
Instead, you can easily setup mesibo on-premise on an AWS EC2 instance following the the setup instructions provided in the on-premise doc .
Can I use mesibo on-premise with MongoDB instead of MySQL?
Mesibo On-Premise operates as a MySQL client. You may use mongosqld to act as a proxy between mesibo on-premise and MongoDB. The most straightforward way is to use the C authentication plugin. However, this does not support MySQL versions greater than 8.
Therefore, latest version of on-premise, is incompatible with this plugin.