Shipping automation software migration to the cloud

Shipping automation software migration to the cloud

Itransition helped the customer to enter the SaaS market by migrating their legacy shipping automation product to the cloud.

Case study

Shipping automation software migration to the cloud

Challenge

The customer is an international expert in providing shipping software development and support services. Their flagship product for SMBs connects ERP, ecommerce, and business solutions for shipping, finance, and customer service automation. It is also integrated with the international and local parcel and freight carriers, in addition to ecommerce stores.

The on-premises version is installed locally and used in intranets within the customer’s corporate network. The solution covers multiple carrier support; carrier quotes and rating comparisons; labels and documents printing; customized notifications; a dashboard with metrics and reports; and automated invoice generation and dispatch. However, hosting the solution became time- and resource-consuming while impeding growth because of lack of scalability. 

The customer wanted to enter the SaaS market to offer more services and acquire more end users, who could easily sign up, set up, and ship orders right in the browser. Another challenge was implementing a subscription model.

Thanks to our expertise in cloud migration and distributed team management, we became the customer’s partner in carrying out the project.

Solution

The goal of the collaboration was to develop a native multi-tenant solution using the same infrastructure while servicing the original on-premises version.

Cloud migration and development

After gauging different cloud platforms, Itransition’s developers chose the Microsoft Azure Service Fabric platform due to its uncomplicated, cost-effective and fast migration process and stress-free maintenance and support. Our team worked out the number of cloud resources, their capacity to scale up, and cost estimates for a large and growing user base.

We moved away from the legacy client-server architecture to a microservices-based one, featuring multi-tenancy support, availability, scalability, and security. Now, the product consists of a number of interconnected websites and services.

The cloud migration allows for the same codebase to work both on-premises and in the cloud. The developers can build and configure the code automatically to generate on-premises installers or to deploy it to Azure as Azure services, which makes the product easily scalable and appealing to more users.

Automated parcel measurement

Itransition has implemented a new automatic parcel measuring feature where users connect scales to their PCs and the solution weighs and measures their parcel. Both the weight and parcel dimensions automatically appear in the dashboard, helping users navigate freight charges from different carriers. Itransition’s developers introduced the feature for the on-premises version and moved it to the cloud as a separate microservice.

A subscription management portal

Itransition’s team developed a subscription tool, comprising an access and ID management web application that lets users sign up for the product. The developed tool includes admin and reseller portals for managing tiers, pricing, usage, and revenue reports. Via the portal, end users can register for a free trial, switch tiers, manage subscriptions and payments. The system processes billing and user management, roles and permissions, emails, and alerts.

Integrations

Our experts have integrated the solution with Authorize.NET and APS Payments, the ERP and carts, in addition to developing new integrations for carrier APIs, adding new features and fixing bugs, and improving DevOps processes using Octopus Deploy and TeamCity. They also develop marketplace integrations for signing up right on online marketplaces.

Quality assurance and testing

Our quality assurance team cooperated with the customer’s manual testing engineers. On our part, Itransition’s QA engineers carried out test automation and resolved challenges during project implementation. As a mixed team, we planned new features, selected technologies for automation scenarios, and updated them to sync with new features.

Before the release of the cloud product version, Itransition’s QA team ran security, stress and load tests to gauge solution performance, compliance with security standards, and ability to withstand the predicted usage load. We also introduced continuous testing and automated load testing.

  • Stress tests allowed us to discover the maximum number of virtual users, the upper limit of system performance and its dependence on the number of simultaneous operations, users, and sent requests.
  • Load tests allowed us to see whether the system could consistently withstand the load over a prolonged period of time.
  • Penetration tests allowed us to uncover system security issues and their potential risk level and issue severity, with our subsequent recommendations on minimizing the risks. We ran penetration tests on authenticated and non-authenticated users, performing checks on information gathering and access control, app environment and input validation, client-side protection, and the app logic.

Process

We cooperated with the customer following the Kanban methodology with on-demand releases.

  • For source control, we suggested switching from the internally-hosted Mercurial to the Atlassian-hosted BitBucket and Git.
  • We moved all code to SaaS-based Bitbucket Cloud and Git, helping the customer avoid downtime, internal infrastructure costs, and problems with external employee access.
  • To automate continuous deployment and efficiently manage releases, we suggested choosing the TeamCity build machine and configured Octopus Deploy.
  • We selected Confluence and Jira to replace the legacy documentation system, which simplifies the Kanban process setup.

We also simplified the customer’s internal infrastructure by moving a part of it from Windows to Linux while using Docker. This method allows for skipping virtualization, saving resources, enabling easy maintenance, and speeding up system updates.

Results

During this long-term cooperation, Itransition has helped the international shipping automation provider to redefine their flagship product by migrating it to the cloud, transforming its architecture into a microservices-based one, and integrating new features while maintaining the legacy on-premises product version sharing the codebase with the cloud-based solution.

With the scalable cloud-based product released, the customer has successfully entered the SaaS market, while being able to maintain the legacy on-premises platform and grow their client base consistently.