We are going to develop our IoT Platform for 3 growing projects in following 3 verticals:
- Asset Tracking and Management
- Fleet Managemt
- Smart Farming
Our customer don't want to use general IoT platform such as AWS, Azure, IBM Watson and etc. and decided to develop our own IoT platform with following specification:
- Support HTTP, XMPP, COAP and MQTT
- Cooperable with general IoT Platform using APIs like AWS, AZURE, WATSON and etc.
- Device Management
- Handle 10K microservice per second at medium level of performance (max: 100K/sec)
- Being scalable to increase the performanece and reliablity
- Dashboarding (createcustomisable dashboards)
- FULL API documentation (cooperating with Android and IOS application)
- User MAnagement
It would be highly appreciated if anyone can help us to make a decision what kind of framework , what kind of server-side programming language (Java, PHP, Python ...) and what kind of DBMS (mysql, nosql, mangodb, ....) would be suitable to use?
Ruby and Golang are great options. Both of these languages are versatile and boast a list of indisputable benefits. Ruby provides good support for data validation, libraries for authentication and user management, and more. Go is quickly changing for the best, providing more and more tools for mobile and web development and remarkably decreasing the time and costs of app development and support. To decide which is more suitable for your project, visit this page.
As for databases, I would opt for PostgreSQL. This database is especially suitable for financial, manufacturing, research, and scientific projects, as PostgreSQL has excellent analytical capabilities and boasts a powerful SQL engine, which makes processing large amounts of data easy and smooth. We used it in several projects and really enjoyed the convenience it brings.
AWS Lambda may be the best option for simple computations, analyzing sensors and sending alerts