Modernization of a customer-facing ecommerce platform
September 1, 2022 • 5 min read
This case demonstrates how the shopping cart and checkout functionality of an on-premise, legacy, monolithic eCommerce platform was modernized to a cloud-based serverless solution.
The customer
The customer, an American chain of luxury department stores, required modernized e-commerce capabilities in the cloud to improve customer experience and accelerate speed to market of new functionality.
The challenge
The customer has been running and developing the customer-facing eCommerce platform on Oracle ATG for multiple brands across the department chain group for over 20 years without major modernization. The monolithic architecture of the Oracle ATG solution, complex customizations implemented over these years, as well as on-premises deployment, eventually led to growing time-to-market for any new capabilities, big overhead of engineering efforts, poor solution maintainability, and a stale customer experience.
The limitations of the existing solution impacted the development of the online business, preventing rapid modernization of the customer experience and introduction of new capabilities. It was clear that the limitations within the existing IT strategy and architecture of the eCommerce platform could not be overcome without modernization.
As a result, a new IT strategy was adopted that included a comprehensive modernization program of the eCommerce platform to create an in-house, headless, and cloud-native solution. The modernization program consisted of multiple phases, including in-house implementation of the cart and checkout capabilities.
Problem statement/definition
As part of the eCommerce platform modernization program, Grid Dynamics was invited to design and implement migration of the cart and checkout capabilities from the legacy, on-premise Oracle ATG-based system to the cloud. The scope of work includes:
- Analysis of the cart and checkout functionality (existing and planned), dependencies, non-functional requirements, etc.
- Design of the cloud solution for the migrated capabilities, including the target and the transition architecture.
- Design of the modernized, decoupled front-end applications for the cart and checkout capabilities.
- Design of the solution components, including the domain boundaries, data models, APIs, integrations, etc.
- Implementation of the front-end applications and back-end services.
- Migration of the data from the legacy system and implementation of the bi-directional data synchronization for the transition state.
The solution
The migration of the cart and checkout capabilities from the legacy monolithic platform required comprehensive analysis of the dependencies, data, and use cases. The monolithic platform was not cloud-ready, nor was the architecture primed for concepts such as serverless or headless, as prescribed by the new IT strategy. This meant that migration required reimplementing the existing capabilities in a new architecture.
As a result, the migration included:
- implementation of the existing capabilities in the new cloud-native architecture;
- implementation of the new front-end decoupled from the back-end;
- migration of the data from the legacy solution to cloud; and
- enabling a smooth and safe switch of the customer traffic to the new platform.
The new in-house eCommerce platform leveraged serverless architecture on AWS Lambda and AWS Fargate services. The choice of specific technology was driven by the requirements of each defined business domain. Amazon DynamoDB was selected as the primary option for data storage and it was leveraged in the majority of the implemented services.
Besides challenges connected with implementation of the functional capabilities, it was important to allow smooth rollout of the new services and migrate clients from the legacy monolith. To address that challenge we implemented a continuous bi-direction synchronization of the data between the two systems that allowed transparent routing of customers between them.
The scope of migration included modernization and decoupling of the front-end web application. The new front-end is integrated with the back-end services exposed via Amazon API Gateway with an Amazon Cognito authorizer.
Taking that into account, the rollout strategy for the migrated capabilities was based on end-to-end implementation (including front-end and the back-end services) and switching customers at the front-end level.
High-level baseline architecture:
Proposed solution & architecture
High-level solution architecture:
More detailed architecture diagram:
Solution highlights:
- serverless solution with shared foundational domain-oriented services;
- continuous data synchronization between the new and old platforms to enable smooth and incremental customer migration;
- modernized and consolidated front-end layer that leverages the micro-site architecture;
- onboarded new mobile and web applications that consume shared cart and checkout domain services;
- multi-brand deployment of the cart & checkout solution.
AWS technology
Database
Amazon DynamoDB offers reliable storage with high availability out of the box, and enablesshopping cart data to be fetched frequently and quickly so that users don’t need to wait after making changes to their cart.
API
To support multiple storefronts, the backend was designed as an API-first set of services covered with an adapter layer. AWS API Gateway was chosen as the API layer for its Lambda authorizers, resiliency and API keys features that support authentication and authorization, availability from multiple regions, and for itsis reliability, high availability and scalability.
Microservices
Each service may need a different configuration and provisioning, needs to effectively work with cart storage, be monitored and easily deployable on production. AWS Lambda helps to scale effectively with a high level of granularity, keeping each service highly available and as a small deployable unit, while providing monitoring tools and logging with AWS Cloudwatch.
Configuration
Business features need to be covered with feature toggles to provide granular control over checkout capabilities. These are dynamic configurable properties with a default value which might need to be updated without service redeployment. AWS Parameter Store provides a secure, hierarchical store for configuration data and secrets management to secure sensitive properties like API keys and certificates.
The results
Outcomes of project & success metrics
The Checkout Transformation project has met the goals of the program. The core services for cart, checkout, payments, promotions, tax calculator and other capabilities implemented in the cloud enabled introduction and development of new customer-facing capabilities and applications. Some services were heavily leveraged by a newly developed mobile application even before the full migration of the eCommerce website.
The migrated services were deployed to support multiple customer-facing websites according to the proposed deployment strategy of a shared services codebase, and brand-specific deployments. This worked very well to streamline solution development and maintenance.
The Checkout Transformation project was the last phase of the eCommerce platform modernization program. Its successful completion will soon (after a warranty transition period of running two systems in parallel) allow retiring the legacy proprietary eCommerce platform and significantly reducing TCO.
Outcomes:
- rollout of new capabilities and features reduced from weeks to hours;
- infrastructure costs optimization due to elastic consumption of cloud resources;
- retirement of the legacy eCommerce platform;
- improved customer experience.