The system is running on high availability infrastructure = 5 servers + load balancer in Amazon AWS. Since going to production in September 2018, there was no downtime. Last week we have experienced regular memory alerts coming from our DB server. We have reached the limits of solution we had designed one year ago. 12 bytes seemed nothing at that time. While working with 10 device manufactures world-wide, we’ve learned that 12 bytes can easily contain more than 20 attributes and when you have 50k+ messages from one device, it is something to process.
Until yesterday, we had processed more than 730.000 messages from 1.201 devices used by 667 users. All these devices send about 500 messages every hour.
So the last week we were super busy with redesigning data structure and improving the system in such a way that it can handle more devices, more users, and more messages. It was necessary to switch the server to maintenance mode for about 10 minutes on Sunday midnight. You may have experienced some rejected messages and alerts from backend. We apologise for that but it enabled us to upgrade the system tremendously.
Is it the end? No, never. We are committed to build even better IoT platform in the future. Regarding infrastructure, we plan to replicate our DB servers and employ sharding techniques to cope with unlimited number of devices and messages.
Thank you for your support!