Our Company
Hamilton Robson is a technology company, specialising in audio visual and software development.
We create unforgettable experiences and solutions for ultramodern spaces.
Building robust and scalable products requires thorough testing, especially when dealing with large datasets. At Hamilton Robson, we’re no strangers to this challenge, particularly with BeaconiQ, our office occupancy product that processes over 1.6 million data requests per day, spanning 4 continents and over 7 time zones.
BeaconiQ is developed and maintained by our AV and software departments in collaboration. It is used to monitor occupancy within our clients offices. Our solution utilises various LoRaWAN IoT devices to obtain and report occupancy data for an office – which is made available to our clients through our bespoke dashboard. The dashboard has been developed by the software team to visualise the data with tools such as heatmaps, charts, and detailed views of meetings – providing insights that help our clients effectively manage their workspaces.
Leveraging AWS tools for our cloud infrastructure, BeaconiQ uses AWS DynamoDB for managing our high volumes of sensor data and AWS Lambda for processing, ensuring scalability and performance as we continue to expand our product globally. To put its scale into perspective: over the summer, the team celebrated BeaconiQ handling over 50 million IoT data requests in just one month, averaging around 1.6 million requests per day!
With such a massive influx of data, ensuring that BeaconiQ performs as expected is super important. However, replicating real-world conditions in QA is easier said than done. Accurate testing requires realistic datasets, meaning that connecting directly to a production database for development is too big a risk – as it could lead to accidental database reads or writes – impacting the live systems. Instead, we need to clone a section of the data in production, anonymise it, and then pull it into our QA environment to make it safe and easy to test.
To address these challenges, we’ve developed a secure and scalable solution for replicating production data into QA. Here’s how it works:
2. Data Extraction via AWS Lambda: Our Lambda function set up in QA will read the required data from production, and thanks to our policies and permissions that have been configured it will have the access rights to do so. These permissions have also been locked down to only allow us to read the production data to avoid any accidental edits, inserts, or deletes! Our Lambda uses a DynamoDB client to read the data and store it in an S3 bucket in our QA account, to be later loaded into our QA DynamoDB table.
3. Storage in S3: As discussed above, we are storing the data from production in an S3 bucket that has been created in our QA account. This is where the dummy data is held before being loaded into our database table.
Our cross-account access roles ensure read-only access to production data, preventing accidental modifications or deletions. Although the data we handle isn’t highly sensitive, we still wanted to ensure both security and integrity of the data we are replicating.
By using replicated production data in QA, we can:
The efforts of replicating production data into QA has allowed us to really fine tune this product in its testing phases, ensuring the final product is optimised for performance and scalability before it is deployed to production.
For any team working with high-scale IoT or cloud solutions, investing in production data replication for QA is invaluable. It enables realistic testing, reduces risk, and ensures a smoother production deployment process. At Hamilton Robson, this approach has been crucial in refining BeaconiQ’s ability to handle millions of daily data requests while delivering insights quickly and efficiently.
BeaconiQ’s success is a testament to the importance of rigorous testing, thoughtful data replication, and leveraging cloud tools like AWS. For any team tackling similar challenges, we recommend taking the time to replicate production data securely in QA. It might take a little extra effort upfront, but it’s a game changer for catching issues before they reach production.
Want to find out how the subject of this blog could help your business?
Our blended team of experts go over and above with our services to our customers, no matter what the challenge. Get in touch to find out how we can work together.
Hamilton Robson is a technology company, specialising in audio visual and software development.
We create unforgettable experiences and solutions for ultramodern spaces.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |