Posted on 13 Dec 22 by Aiden Sobey
Find out how we helped move a cutting-edge digital technology company to a state of the art, fully serverless SaaS digital twin product on AWS.
RemSense Technologies is an ASX-listed technology company that developed virtualplant, a photogrammetric asset visualisation platform that fulfills the promise of VR/AI technology as a digital representation of plant assets (digital twin) providing the capability to remotely view and interact with any facility via an intuitive, immersive experience. Virtualplant integrates with existing business operations and asset management systems to deliver greater productivity, increased safety, and reduced cost.
Built originally as a proof-of-concept on Amazon Lightsail, virtualplant was presented through managed EC2 instances running Wordpress. Whilst it was acceptable for small or non-production sites, RemSense recognised the opportunity to upgrade the product to represent the cutting-edge in terms of technology, reliability and scalability.
Due to imminent commercial demand and future growth plans, RemSense identified a need to be able to quickly deploy new instances of their product to new customers, and for the product to scale massively and reliably without any additional overhead or maintenance costs.
Additionally, RemSense acknowledged there was a huge benefit to adopt the best workflow practices to work in an Agile and productive manner, building out the core skills and efficiency of the Software Development Lifecycle (SDLC).
To achieve this, RemSense engaged with KZN Group, who provide specialty experience in designing and building cutting-edge software in the cloud.
The two core goals of this engagement were to build a best-of-breed SaaS platform, and to up-skill the team in working as effectively and collaboratively as possible.
Technical scope was:
Core skill development was:
“The brand-new and improved version of virtualplant introduces a range of development and architecture best practices that have allowed us to transform our offering into a highly replicable and secure SaaS (Software as a Service) product.”
– Rory O’Connor - Manager, Visual Technology at RemSense.
KZN prides itself on our specialty in building serverless cloud-native solutions in AWS. While we often work in the Data space, this engagement provided an excellent opportunity to demonstrate our ability to build a best-of-breed SaaS product from the ground up. From using modern-day frameworks like React through to implementing bespoke server-side session validation using purely serverless resources, KZN demonstrated their ability to provide creative, effective solutions in a variety of software areas.
Furthermore, there is a lot more to a successful engagement than a developer just handing over pieces of code to a customer. The customer must be keen to develop their knowledge, skills and capability, to continue developing the product in an effective and scalable means, to ensure long-term success.
One of KZN’s operating principles, which was used effectively in this engagement, is our commitment to improving the customer’s skills and abilities, enabling a great software solution.
We worked closely with the virtualplant team (and saw an incredible amount of engagement and buy-in) to iterate on their work process and bring them to a place where they now comfortably and confidently plan, estimate, execute and reflect on their work.
Having a solid product is great, but the cloud infrastructure that it is built on is essential to the operation, security and governance of an organisation’s maturity. RemSense followed our guidance on a best-practices AWS structure. This involved CodePipeline for a reliable and automated CI/CD process, Route53 for redundant DNS, then a range of security and access tooling like; AWS SSO to administer access to the AWS console via SSO, CloudTrail for audit and security logging, SecurityHub and GuardDuty for maintaining awareness and security posture.
AWS Control Tower was used to provision the account while following best practices for structure and security. This was paired with AWS Organizations to logically group accounts together and apply a range of security guard rails that maximise the security of their cloud environment.
Each customer has their own AWS account which ensures they are completely logically isolated from other customers. There is no way for data to leak between customers, or for one compromised customer to gain access to the system of another.
For the actual application we deployed a serverless stack that uses highly reliable AWS services. React applications can be compiled into very fast static websites, in this case stored in the Simple Storage Service (S3). CloudFront is a global Content Delivery Network that ensures our data is held as close to the customer as possible. This service alone provides massive performance benefits when it comes to serving web pages to customers anywhere on the globe. Cognito manages access to the React website through integration to the customer’s Identity Provider, which, as in most cases is Azure Active Directory. This allows customers to securely sign into the application without having to store a password, they can use their standard company email. API Gateway is a scalable and fully managed interface for invoking Lambda functions from your web application- that is, providing a back-end to your app without needing to provision any servers. Finally, the Lambda itself is a workhorse that reads/writes data to DynamoDB or reaches out to external integrations. Using Lambda like this allows us to build a fully-featured website with server-side capability, but stick to our serverless architecture.
The React web application itself utilised common frameworks to accelerate development and increase consistency/maintainability of the code. One way in which this was done was through use of MaterialUI - a UI framework that provides reusable and responsive React components for a wide range of use cases, from buttons to autocomplete search boxes. The RemSense team picked up on this very quickly, modifying and defining their own components that then got re-used throughout the application.
To achieve the coveted status of “AWS Qualified Software” KZN worked very closely with RemSense and their Compliance Officer to produce and document effective procedures around a variety of governance aspects including backups, encryption and disaster recovery. Not only does this give RemSense the prestige of certified quality software, but they are highly prepared in the future should disaster ever strike. While these aspects of software are often overlooked because they are needed so infrequently, they are extremely vital when you eventually do need them. If or when that happens, the RemSense team is well prepared and practiced to handle whatever is thrown at them.
After only a few months of very successful, collaborative work, RemSense went live to production with their brand new virtualplant platform. This revolutionised version of the product provided:
Development of core skills within the team allowed for:
After the successful collaboration to produce this cutting-edge SaaS product, RemSense and KZN are committed to further product development together as they move forward increasing the feature set and value-add of their software. Some of the critical pieces we will be helping to deliver includes:
KZN is proud to continue working with RemSense into the future, and we are sure the future is very bright for them and their world-first photogrammetric industrial digital twin product.
DevOps is Agile. By building and supporting cross-functional teams with the right tooling, you can empower teams to spend their time on value-creating activity that helps you identify and deliver what your customers need most.
Your DevOps journey is unique, and as cloud experts we will partner with you to help you identify any gaps and use your project to start building out DevOps culture and practices.
Learn more about how KZN can assist you with your DevOps ambitions here.