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, 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 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.
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:
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:
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:
High-level solution architecture:
More detailed architecture diagram:
Amazon DynamoDB offers reliable storage with high availability out of the box, and enables shopping cart data to be fetched frequently and quickly so that users don’t need to wait after making changes to their cart.
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.
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.
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 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.