"DuneFront worked with Connected Digital to migrate our PackPro desktop software to the cloud. The Connected Digital team took the time and effort to fully understand how PackPro is used and the unique requirements for cloud software operating in the oil and gas industry. They have designed the right system architecture to meet our needs and, more importantly, the needs of our customers who are working on the engineering design and execution of some of the world’s most complex oil and gas projects. Connected Digital has consistently delivered innovative, high quality software development with great attention to the accuracy and detail required for an engineering application. It has been a pleasure working together and we look forward to collaborating on more projects in the future."
DuneFront is an independent sand control consultancy working globally with oil and gas operators and service companies. Its PackPro engineering software integrates advanced modelling and data analysis techniques, providing the tools needed to simulate, evaluate and optimise sand control treatments. PackPro had been developed as a Windows desktop application over nearly 10 years before DuneFront decided to make the move to cloud computing in order to offer its clients a more powerful, cross-platform solution with a choice of running PackPro in either a web based or desktop environment.
We were initially commissioned to produce a proof-of-concept application which solved some of the challenges specific to an engineering application running in a cloud-based environment. These included allowing users to enter numeric data to a specified accuracy in a range of different unit systems, managing large data files and handling scalable server instances to run physics based computational models. The POC was also required to generate a desktop application for both Windows and Mac from the same application source code and computational engine as used in the cloud application.
Following the success of the initial project, we were then commissioned to design the architecture for the complete solution and provide development resources to work alongside DuneFront’s internal team to develop the product.
Cloud app designed for use by engineers.
PackPro is used in client offices where engineers expect to collaborate on projects and share data, and also on rigs during the well completion where the internet connection may be slow or unreliable. Consequently, DuneFront required a software architecture that allows it to offer its clients the option of migrating to a cloud version of the software where appropriate, but also continuing to run PackPro as a standalone desktop application.
Additionally, security restrictions on data management and sharing mean that DuneFront requires the ability to offer its customers the choice of running the cloud version of PackPro as either a hosted or an on-premise solution. Consequently, the cloud software must be installable on industry standard cloud computing architectures and be easily configured for both single and multi-tenant use.
Oil and gas engineers are used to working in a variety of different unit systems with preferences for specific units varying between companies and regions. Since numeric accuracy is vital to the successful simulation of the well completion, a solution was needed that allowed engineers to choose and customise their unit system while retaining the ability to pass files to other engineers who may be working in a different unit system.
PackPro is based on a commercially sensitive calculation engine which is protected by Sentinel licensing, a solution that DuneFront wished to retain in the cloud solution. Further, some calculations can be time and resource intensive, taking several minutes to complete and transferring large amounts of data, so the cloud computational engine needs to scale on demand in order to provide timely results for many users that may be active at any one time while also minimising the hosting cost.
Well data in oil and gas is extremely commercially sensitive, so a high level of data security is required along with an expectation that the system will be subjected to a penetration test before live deployment.
Finally, an upgrade path was required to allow customers to seamlessly migrate project files from the previous Windows desktop application and continue working with them in the cloud application.
Before starting any planning, we listened to DuneFront’s specific requirements for the PackPro cloud transformation. Particular emphasis was given to allowing the input and display of numeric data in a variety of switchable units systems, the management of large data files, and the requirement to offer both cloud and desktop versions.
We proposed a software stack where the primary software development is based around an Angular Web App with a node.js back-end. Desktop applications for Windows and Mac are built from the same source using Electron.
In order to ensure that the application can be simply hosted in both public and private cloud environments, the web application is hosted in Kubernetes. Additional, scalable worker pods run the proprietary PackPro calculation engine which allows the application to scale on demand while avoiding unnecessary hosting costs.
Previous versions of PackPro store project data within a custom .ppf file which is based on a SQLite database. While we initially considered moving to a non-embedded database such as Postgres, we quickly realised that retaining the SQLite based files made development of the hybrid cloud and desktop application possible without the need to run an additional database process within the desktop application or create significantly different data access code for the two versions.
We solved the requirement to allow changeable unit systems by creating custom Angular controls which automatically convert data between the user’s selected unit system and the SI units that are used internally to standardise data storage and calculations.
In order to ensure a high degree of security and ensure compatibility with different client specific on-premise requirements, we manage user access using Okta authentication.
Over a period of two months, we completed an initial proof of concept application to demonstrate that this approach would work before moving on to the development of the full application working alongside DuneFront’s internal team.
There were particular concerns around finding a way to enable the software to switch seamlessly between a multitude of unit systems. We were able to combine software engineering experience with the team’s scientific background to suggest a successful solution.
We were also able to design software components in such a way that the same building blocks of web app, server and calculation engine workers can work together in both cloud and desktop environments.