WisDM

A SaaS device management platform that simplifies setup and maintenance of large IoT networks
Period of collaboration

April 2020 – present

Client’s location

Shenzhen, China

About the client

RAKwireless is a manufacturer of all classes of IoT devices, from gateways to various sensors, smart modules, and IoT accessories. The company also offers software solutions to manage and maintain networks of IoT devices. RAKwireless has customers worldwide in industries including warehousing, transportation, manufacturing, and agriculture.

In April 2021, RAKwireless announced the successful closing of a US$10 million Series A funding round. The deal was led by Creo Capital, a leading Chinese private investment firm. RAKwireless will spend this investment on producing cutting-edge IoT infrastructure and devices and simplifying their use.

Business context

Before approaching us, RAKwireless successfully served small and midsize companies. A toolset provided by RAKwireless required IoT users to set up each gateway manually, one by one, via a local management interface. This approach was efficient for a network with a few gateways.

But when RAKwireless decided to enter the enterprise segment, the company needed to ensure better customer support. This required creating a new scalable and easy-to-use solution for remote gateway management. Our client needed to make three crucial changes to their provision of services:

01
Automate gateway setup and maintenance

Enterprises tend to manage multiple large-scale IoT networks in different locations. Setting up even a dozen gateways to work together was a time-consuming task, while setting up a hundred was a serious issue. RAKwireless needed to ensure automated network setup of hundreds of gateways for thousands of devices.

02
Enable remote gateway management

Previously, users had to be in close physical proximity to equipment for setup and maintenance. But with enterprise customers, gateways are often installed in hard-to-access locations (such as in fields). The OpenVPN solution provided by RAKwireless was complicated to use, as it required customers to make certificates, run servers, ensure data security, etc. RAKwireless needed to enable customers to easily and securely manage their gateways remotely.

03
Transition to the SaaS model

To adjust its offering to the expectations of the target market, the client needed to implement a centralized and mainly self-service solution. The system now provides users with benefits such as:

Full accessibility
Customers can easily and quickly manage their IoT networks and devices via a cloud-based web application
Self-service management
Customers can update network configurations, monitor device statuses, resolve issues, and replace hardware
Quality customer support
The RAKwireless customer support team can promptly find and fix inconsistencies in customers’ IoT networks
Learn more about our client's experience working with us
See our client’s review regarding the project results, the quality of our services, and our expert knowledge.
Roy
Roy
Partner At RAKwireless
logo

Software product overview

RAKwireless provides customers with an IoT management ecosystem for remote and automated setup and maintenance of IoT device networks. RAK customers use the SaaS web application built upon the AWS IoT Core message broker, which helps to synchronize the app with physical devices via RAK APIs.

New gateways that come online auto-provision to AWS IoT Core and provide technical characteristics that help app users onboard, locate, and configure them. By using the web app, users can remotely update gateways and receive near-real-time alerts if their equipment goes offline.

Self-service capabilities for enterprises
Creating an organization.

Each customer can create an organization — a logical entity representing the customer’s physical organization. User permissions can be managed within an organization.

Creating a location.

Users with corresponding permissions can create a separate gateway network called “location”. A location can be an enterprise campus or a business run by a managed service provider who resells admin services.

Performing maintenance at different scales.

Device maintenance tasks may be performed at different scales. The most common scale is a single location. To update the network configuration means updating all gateways in a given location by sending the same configuration settings to all of them.

Monitoring and troubleshooting.

Users receive details on their equipment: online/offline statuses, number of connected sensors, quality of data and system packets exchanged between devices, etc. There are also troubleshooting tools like an embedded web SSH terminal.

Yalantis’ approach to developing a technical solution for RAKwireless
Our tech-savvy client sought a software solution partner with IoT expertise. The project required a technically oriented business analyst and a mature developer team. Also, the distributed team approach required us to work smoothly with engineering, AWS, and other teams from the client’s side throughout development.

Discovering complex functional and non-functional requirements

RAKwireless provided us with a high-level vision describing expected functionality of several product releases. The RAKwireless engineering team shared specifications explaining how to interact with the hardware the product would support. They also prepared a set of APIs implementing the main hardware interaction scenarios. We had to ensure that the web platform we developed used these scenarios when developing new business flows.
But first, we needed to help the client determine the needed functionality. We took the following steps to prepare for the solution architecture stage:
01.

Researched the client’s current technical process and infrastructure along with corresponding limitations and rules in order to select the most suitable technology stack.

02.

Discussed benefits for the target audience with the client and their business team. The need for providing these benefits affected non-functional product requirements and helped us identify the scale of deployment.

03.

Formalized business, functional, and non-functional requirements based on results of research and requirements elicitation to establish project success criteria.

04.

Prioritized the project scope with the client by providing them with rough project estimates, details of technical risks, and potential dependencies of functional components.

05.

Assisted an independent design team in forming the most suitable UI/UX strategy, as there wasn’t a ready-made solution on the market to use as a benchmark.

06.

Formed the MVP and scope for the next release based on information collected during the previous steps.

07.

Based on the steps above, created a strategy and schedule for development to share with the client’s marketing team and target and focus groups.

Solution
architecture

The client asked us to build a web platform on top of established AWS IoT Core infrastructure. We created an architecture according to the scalability and maintainability strategy discussed with the client’s team. It’s built on serverless Lambda, which provides mechanisms to support long-running operations.

Enabling long-running operations

Operations like adding hundreds of sensors to a gateway with a built-in network server typically require a long time to implement on the hardware side. Such long operations might exceed the existing AWS API gateway timeout. Our development team used job processing and polling mechanisms to meet AWS API timeout requirements.

Asynchronous/synchronous interactions

The developed system supports both asynchronous and synchronous interactions. This enables deployed functional flows and those planned for future project releases.

Asynchronous interactions

We implemented interactions like gateway configuration updates by ensuring continuous bidirectional gateway data synchronization based on AWS IoT Core shadows and events.

Synchronous interactions

For interactions like managing a gateway via an SSH tunnel, we used an AWS proxy server layer and custom services built on top of it. This approach helped us keep the app structure consistent, resolve potential security challenges, and guarantee app flexibility in the event of changing the cloud provider.

Want to see the solution architecture?

Enter your email address and we’ll send a solution architecture diagram straight to your inbox.

Performance
testing

To check the product’s performance, we assigned a team to automatic load testing. The team performed the following activities:

set up a performance testing environment to provide conditions for successful testing

used virtual instead of physical devices in some scenarios to emulate high loads, as this approach is cost-efficient

automated the process of collecting reports to get in-depth logs on test results and quickly identify and fix errors

Ensuring that a cross-functional development team runs like clockwork

The Yalantis team has been responsible for handling the following tasks related to the web platform:

Interacting with users based on their permissions and business entity affiliations

Collecting, validating, preparing, and sending configuration data

Automating large-scale maintenance routines

Catching, aggregating, and delivering status monitoring and troubleshooting data

We also interacted with four off-site teams:

RAKwireless AWS team — responsible for managing the AWS IoT IoT Core and related AWS services and advising on the architecture

RAKwireless gateway engineering team — responsible for gateway firmware engineering and actual interpretation of instructions sent to the gateway

Independent security audit team — responsible for preventing cyber risks

Independent UI/UX team — responsible for ensuring an optimal user experience

To implement each feature, we had to ensure it worked properly in the software we built as well as in all software by other teams. This required close collaboration and identifying all points of convergence.

We suggested to the client that we should:

develop a complex communication plan to optimize interactions

agree with them on the process of getting stakeholders’ feedback

perform point-to-point testing of the entire IoT management system

create the approach to teamwork on processing requirements

formalize the flow of requirements processing (see the schema)

These steps ensured smooth interaction, the exchange of technical expertise, and confidence that all network and gateway settings were implemented as expected.

Results

What’s already been achieved and what’s next

RAKwireless customers are already benefiting from:

Improved RAKwireless ecosystem

The IoT management ecosystem comprises such elements as gateways, sensors, network servers, application servers, and the IoT device provisioning system. WisDM allows RAK customers to remotely manage gateways worldwide and integrate thousands of devices. Customers can check statuses of their gateways, receive data device reports, and see device locations on a map in real time.

RAKwireless support team

The client can support multiple IoT networks to fulfill enterprise customer needs. There is a communication channel in the WisDM app so users can create tickets directly. Also, the client’s customers can provide the RAKwireless support team with access to their accounts to get help in solving gateway-related management problems.

More of WisDM advantages:
Platform as a Service

Customers can offer WisDM as a service themselves by setting up their gateways on-site, with management done remotely by an expert partner.

Multi-level user management

Customers can use a role management system for establishing roles for different activities concerning a network, ranging from operational to observer-only.

Single sign-on

A WisDM user is able to log in with a single RAKwireless ID credential to utilize different available and future RAKwireless services.

WisDM is an agile and fast-growing project. In the near future, the device management system will be enriched by new features to meet growing customer needs. Together with our client, we’ve planned multiple upcoming product releases. We keep working on the product and improving it based on user feedback.

Looking to create a solution for IoT network management?

We have experience building powerful solutions that optimize maintenance, troubleshooting, and operations of your IoT networks.

Contact us