Our challenge: Develop a cloud based monitoring and control of active switches using mobile applications, both for IOS & Android. The constraint was that the switch firmware was not to be modified for this.
Lamungan is a lite weight element management system. Volktek manufactures a revolutionary and cost-effective Lite Managed (LM) switches to meet the demands of industrial automation and surveillance systems. LM switches include basic but powerful features with a space-saving design for factory and surveillance applications. LM Switches are intended for easy network management through network graph (topology map). Volktek’s Element Management System ‘LAMUNGAN’ can be used together with LM switches to manage networks using web interface and Mobile APP. It is secured and easy to use.
The solution developed for Volktek consisted of on premise hubs, cloud based microservices , web based dashboards & native mobile applications.
The cloud based microservices backend uses Amazon AWS. The different services are based on technologies best suited for their usecases. Most of services were developed using python and twistedmatrix. The bus is powered by RabbitMQ. Security & multitenancy is taken care of by Cognito & using middleware partitioning approaches. Scalability and extensibility is managed using lambdas and autoscaling from Amazon.
An on premise hub software takes care of relaying data collected from the switches in the local network to the cloud. This takes care of discovery and introduces buffering capacity in the event of network delays.
A dashboard web app was developed to provide general administration functionality. This app provides automated provisioning for new tenants and user management features. It was developed using ReactJS and deployed using Amazon’s Cloudfront service. It interfaces with Amazon’s AWS Management APIs functioning serverless.
We also developed native applications on Android and IOS that helped Volktek provide their clients customized branding experience along with all the functionality to remotely manage their infrastructure in a secure and reliable manner.
Our engineering approach
Some of the main challenges for this kind of a problem statement is to deal with latency for mobile experiences because of adhoc availability and distributed nature of devices. Anoother problem statement is to ensure distributed transaction support across the services and clients. We solved both these problems using queues and RPCs.
At the core of our engineering is building for regression and scale. Regression enables true agility to add new features while not breaking existing software. Our approach uses the best of class opensource and cloud solutions to build the right solution which is robust at the same time cost optimized.
We use Atlassian JIRA to run our sprints(scrums) while using kanban for incremental updates.