EMQ Published MQTT Cloud
Recently, the leading IoT message middleware vendor EMQ, has published its new cloud product — EMQ X MQTT Cloud. Currently this service is hosted on AWS and targets the users outside of China. Users can choose one of the following Data Center to host their service: North Virginia (NA), Oregon (NA) or Irland (EU).
Use Cases of MQTT Cloud Service
MQTT is an open protocol, it is light-weighted and optimized for low energy consumption. Nowadays, MQTT is widely used by organizations and considered as the de-facto standard for IoT application. MQTT service based on cloud interconnects IoT devices and applications, such as uploading the real-time CAN BUS data of a vehicle to the cloud, controlling home appliances remotely on a smartphone, or providing a bi-direction transmit pipeline between merchandisers and payment services.
Challenge of Building an MQTT Cloud
EMQ X, as one of the most mature MQTT message broker, is deployed by more than 5000 enterprises and serves in both public cloud and private environment. Our experiences told us, that the users may run into difficulties when they were building their own cloud:
1. The first thing could be resource planning, to make the perfect match of resources and the requirement of user’s application. There are many things to be considered: the number of devices, the message throughput, the server capacity planning, the bandwidth, the LB policy and many more.
2. Lacking of experiences and skills of building a high-available MQTT cloud service. To achieve this, following skills are usually required:
a) Run MQTT service in cluster. An IoT application can be very large scaled, to guarantee the stability and high availability of service, users shall have a deep understanding about clustering.
b) Security challenge. IoT connects devices, how to make sure the connections are well secured? User shall understand the configuration of secured interconnection on the cluster.
c) Deep understanding about Load Balancing. To build a secure MQTT cluster with HA, a load balancer is necessary to off-load the SSL, balance the load among nodes, thus make the cluster run more efficiently.
d) Configuration of authentication and ACL database. An enterprise level MQTT service comes always with user authentication and ACL to control the access and the message pub/sub privilege at a fine-grained level. This authentication and ACL DB shall also run stably with HA.
e) Configuration of data persistence. In many cases, user shall configure the MQTT cluster to store messages in backend DBs, include SQL and NoSQL DBs.
f) Data streaming. When an MQTT cluster is handling massive connection and messages, it will often be integrated with data streaming systems, such as Kafka cluster and Pulsar cluster.
3. Lacking of experiences of operating an MQTT cloud. A well running system requires not only a good product, but also the high operation and maintenance capability, including the early warning and fast recovery from failures.
a) Real-time monitoring at system wide to achieve early warning. It includes monitoring of CPU, memory, disk and bandwidth usage; monitoring the status of MQTT broker, the LB, the authentication and ACL DB, the backend data storage and steaming service.
b) When the system run into failures or issues, it is critical to locate problem and recover from failure as early as possible. Thus, users shall be very experiences on LB, MQTT Broker, DB and other related technologies.
4. Flexible charging. Generally speaking, the scale of an IoT application grows with the business, more and more devices will be connected over time. This requires a pricing model which adapts the real use of the system.
Therefore, it requires a skilled team and resources and effort to build and operate a stable and high available MQTT service on cloud.
Reliable MQTT Cloud Service
To resolve the difficulties mentioned above, EMQ published a service called EMQ X Cloud, which is based on the EMQ X Enterprise MQTT broker. To provide this service, EMQ brought together the knowledge and skills of its R&D and support teams. What the users need to do is simply input the expected service scale, such as a number of connections, the message throughput and etc. With a few clicks, a mature and reliable enterprise-level MQTT cloud service is ready, the whole process takes only minutes:
· Calculate the suitable computational resources and create them for the user
· Configure the load balancer, off-load the SSL traffic for user, guarantee the efficient communication between LB and EMQ X cluster.
· Configure the integrated authentication and ACL DB: The cloud service deployment creates PostgreSQL DB cluster in HA, deploys LB for the DB cluster. The PostgreSQL Cluster is managed using etcd and configured with automatic failover, which makes the authentication and ACL is served in HA too.
· Security: Stand-alone EMQ X Enterprise cluster ensures the users’ data is isolated in its own zone. Users can upload their own certificate (bind to its own domain) to secure the client connection.
· Managed hosting: EMQ’s operation team monitors the system 7/24. It solves issue timely. The channels for user issue or inquiry include ticket system, slack, voice message and email.
· Flexible payment: Users are billed by usage, they only pay for what they used. The computation resource is scalable according usage. Payment is done monthly.
· A Data Center close to user: User can choose a Data Center close to business to deploy the service. Currently the AWS Virginia, Oregon and Ireland are ready, more DCs will be added.
· Consulting service: User can get consulted about the EMQ X Cloud through the ticket system, Slack, message, or email.
An Introduction about EMQ X
· Input the number of connections and the estimation of the message throughput
· With a few clicks, your deployment of EMQ X Cloud is ready to use.
EMQ X Cloud is suitable for enterprises which want a dedicate MQTT cloud platform for its application, these enterprises may grow very quick and be short of knowledge reservation or technical teams.
By choosing EMQ X Cloud service, users are liberated from take care of very technical details about MQTT (device interconnection, data persistence, scalability, resource management, and etc.) and can focus on their core business.
- Kafka integration: the next feature will be the integration of Kafka. It bridges data to Kafka cluster. Stream data processing software can consume and analyze the data stored in Kafka.
- More Data Center support: in the future, more AWS data center will be supported. Also, we will bring EMQ X Cloud to other public cloud infrastructure, such as Microsoft Azure, Google Cloud.
- More EMQ IoT services, such as device shadow, edge computing and so on.
Start to Use EMQ X Cloud
Currently EMQ Provide a 25-day free trial for users who are interested in EMQ X Cloud. You can start your trial by visiting this address: https://cloud.emqx.io