New Generation MiOS Cloud v1.0
A large part of the MiOS cloud was redesigned from a monolithic approach to a distributed microservices solution built around a high speed data pipeline. The microservices are deployed on a large number of nodes distributed across the world, to assure low latency, failover and redundancy.
We switched from server-based approach to a server-less solution which use Docker and Kubernetes to allow faster deployment and be able to scale automatically when needed.
All the components from new MiOS cloud are designed to be fault-tolerant and to run on multiple nodes distributed all around the world.
We are using Apache Kafka as communication pipeline between microservices which is capable of handling high velocity / high volume / high concurrency data while keeping very low latency. The distributed architecture of Kafka makes it scalable using capabilities like replication and partitioning. Kafka is also designed to be fault-tolerant making sure the messages are reaching their destination regardless any hardware malfunction.
We moved the heavy lifting for services discovery from client applications to the new MiOS cloud. Client apps does not need to identify on which server a specific service is located, neither what is the failover server for that service.
We replaced the long polling communication with the controllers with 2-way communication method based on secure web sockets, which assure real time communication between cloud and controllers. The same mechanism replace REST calls which were done in the past. Communication is also heavily secured using industry grade encryption.
We replaced MySQL database with Apache Cassandra, one of the most powerful high scalable / high available / high performance NoSQL database systems. With its proven fault-tolerance and best-in-class replication support across multiple datacenters distributed across the world, it is going to provide low latency for user and will make sure that data is stored safely in the cloud.
At this moment event and notification modules from old MiOS cloud were fully redesigned in the new MiOS cloud. We provide a legacy compatibility layer with previous cloud APIs, which will make sure existing applications will still be able to use new MiOS cloud.