Large enterprise clients, having millions of devices, wanted an IoT platform that would be cloud service provider agnostic as well as scalable. The broad business requirements were as follows:
- To create a Cloud Independent Platform to support multiple clients
- To build a solution to support billions of devices data with Data Backup & Retention Policies
- To automate Device Authentication/Renewal Support
We developed a solution over spring boot micro-services based platform, using a spring cloud set of technologies. The project needed two teams. One for the base of the Product development and the other for the APIs & UI development.
1) IOT Technologies (IoT enabled devices interaction Point)
2) Analytics Engine – Apache Sparks, Apache Hadoop System
3) Device Provisioning Service – Device authentication token/renewal
4) Advance Scheduling/Timer for different actions
5) Notification Service – Cross-Platform Push Notification implementation
6) User Management, Entitlement – Action/Data/View
7) Cache Service – Redis Cache, Activity Audit Log
8) Spring Cloud Stack – Zuul Server, Eureka Server, Sleuth & Zipkin, Feign Client –
9) Service to Service calls, Ribbon – Load Balancing, Circuit Breakers –Hystrix
10) Database – Mongo DB Cluster
1) Branding Service – Supports multiple clients’ own look & feel the support
3) Task Runner, Bower – Package Manager
4) Fully responsive UI development
Flushing out requirement ambiguities | Agile methodology | Sync with client’s existing IT/Infra team.
- A requirement of a detailed document after discussion with the business stakeholders
- Complete design, development & delivery of the features using Open Source Technologies, Sparks, Hadoop System, spring cloud stacks – Zuul, Eureka, Ribbon, Hystrix, Sleuth/Zipkin, Redis, Spring REST, Spring Mongo Templates, etc.
- REST APIs for controlling devices remotely when devices are working in cloud mode.
- REST APIs can be consumed either by Mobile App or Tablet/iPad or Web Apps, etc.
Impact of Implementation
Enterprise-level production platform developed on a microservices-based architecture
- Fully automated IoT Solutions
- Amazon Alexa / Google Smart Home integration supported Platform
- Multi-tenant supported
- Seamless information flow among applications
- User Action Auditing
- Data Backup in the DR region
- Sensitive information is encrypted
- The database is secured & in a private network
- Secured communication HTTS or MQTT over TLS 1.2
- Cloud independent platform. IoT Platform can be hosted either in Azure or AWS etc.
Key Success Factors
- Deployment of engineers with prior knowledge about the domains
- A comprehensive evaluation of business as well as technical requirements
- Tracking the milestones with constant inputs from the client