A cloud-based solution for collections management

A cloud-based solution for collections management

Itransition delivered a cloud version of a collections management solution, optimizing its maintenance costs and improving end user experience.

Context

Our customer is a US-based software company providing a collection management solution. Their main product was a desktop app for museum collection management, and it quickly became popular among its target audience, so the customer added several thousand organizations to their client base. However, over time the customer faced the following limitations of their desktop solution:

  • End user data was bound to one PC, so clients had to work only on certain machines and couldn’t work remotely.
  • New releases brought inconveniences for end users, as they had to download new application builds from the customer's repository and install them manually.

To improve user experience and keep their solution up to date, the customer decided to migrate it to the cloud. They chose Itransition due to our convenient location and experience in data migration and cloud consulting.

Solution

Itransition delivered a cloud version of the customer's app with all the functionality of the desktop one. The cloud solution enables end users to transfer their data with a click, while also allowing museums to create public access websites. The websites are highly customizable, so each museum could choose which category to display and rename them on the go. Using this tool, museums can not only catalogize their items but also present them online.

To prevent copyright violations, we developed the feature labeling website photos with watermarks. Museums can also secure their public sites with passwords and grant visitors access after purchasing museum tickets and scanning the QR code, with the solution generating both passwords and QR codes.

Technologies

The desktop version of the solution was written with Microsoft Visual FoxPro. We suggested ASP.NET Web API for the cloud version to ensure easy data migration. We used Microsoft SQL Server as the database, Knockout to minimize the load on the client part of the solution, and Webpack as a frontend builder tool.

AWS-based infrastructure

Itransition suggested implementing the AWS-based infrastructure since AWS fits the project specifics, ensuring sufficient scalability and security as well as reducing development costs.

We opted for Amazon RDS to build a scalable relational database in the cloud. Itransition moved Microsoft SQL Server to Amazon EC2 virtual machine, reducing the costs twice and bringing the load on the virtual machine’s CPU to the 10% maximum.

After analyzing all of the options, we suggested Amazon S3 Glacier instead of the standard Amazon S3 versioning method. Our team set up an automatic script that migrates all uploaded images to storage with restricted access, thus reducing costs for this cluster ten times.

In the beginning, we used Amazon OpenSearch in the cloud, but search indexation turned out to be a more complex operation than the search itself. So the team suggested going for the native server version of OpenSearch on Amazon EC2, thus achieving easier maintenance and reducing costs by 30%.

Our team used the following AWS services:

  • Amazon EC2 — web server hosting
  • AWS Elastic Beanstalk — build deployment
  • Amazon S3 — client files and deployment data storage and versioning
  • Amazon S3 Glacier — asset backups storage for all end clients
  • Amazon CloudWatch — infrastructure monitoring
  • Amazon SES — sending mail

Itransition's team used Bitbucket as the code repository, despite the infrastructure located on Amazon.

AWS-based infrastructure

The desktop version had a simple search by name, item type, etc., but as time passed, the system accumulated many different items with more than 200 specific description tags. The customer wanted to create a search as detailed as possible, and to meet this requirement, Itransition applied Amazon OpenSearch for a search engine, as it is highly optimized and suitable for complex searches.

Data volume

An average museum has between 40,000 to 80,000 records with connected information. Some museums have several terabytes of data such as video files, high-resolution photos (10000 x 6000px), documents, and more. Such data volume can't be processed all at once, so we focused on optimizing proofreading, data caching, incremental implementation, consistent relinking, and logs. Together with the customer, we developed an API for transferring data from their FTP server to Amazon S3, which allowed us to reduce data import time 15 times for the largest end clients.

Results

Itransition delivered the cloud version of the customer's museum collection management solution. After its release, nearly 5000 museums that used the desktop version started actively moving to the cloud. Shortly after the cloud solution's launch, 500 new clients purchased it, and 440 were using the demo version.

Thanks to the optimization Itransition performed, data import time was reduced eight times, the computing costs were cut by 55%, and the backup cluster costs were lessened ten times.