BPP

AWS serverless integration project

The new storefront middleware solution was delivered to production and customers quicker than expected, exceeding business expectations

Project Synopsis

BPP, a leading provider of professional education and training, required Yobibyte Solutions to add middleware services to their existing eCommerce website to support new shopping basket functionality and interface with Salesforce.

The project involved working on serverless microservices, updating CloudFormation templates, introducing changes to the build pipeline, improving code quality, and investigating and resolving production issues.

Further, BPP had a second requirement for a new storefront using Shopify which required further serverless middleware services.

The Challenge

The project was divided into two phases.

In the first phase, the focus was on implementing middleware services for the eCommerce website to support new shopping basket functionality and interface with Salesforce. This involved working on new serverless microservices, creating a new build pipeline and the necessary infrastructure in AWS. Existing code for other services would serve as the starting point for the new services. However, it was clear that this code could be much improved as it was highly coupled and lacked proper tests as a result.

The second phase involved creating a new storefront via Shopify, which needed to be delivered to production within a few months. Tasks included working on new middleware components integrating with Auth0, Shopify, and the learning platform Moodle, none of which Yobibyte Solutions had prior experience with.

The Process

To begin the project, Yobibyte Solutions utilised the existing code for another service within BPP as a starting point. However, as it was highly coupled and lacked proper tests, Yobibyte Solutions heavily revised the code, creating a decoupled solution with thorough tests to significantly increase the code's quality.

To improve traceability and management of change, changes were made to the build pipeline to use configuration-as-code rather than configuration via the Bamboo GUI. This allowed for more efficient and effective management of the pipeline.

During the project, there was a request to investigate a data ingestion backfill process that was failing in production. After investigating the code, configuration, and the monitoring and logs in AWS, Yobibyte Solutions discovered that there was a throttling issue on the lambdas and misconfigured SQS queues. Configuration changes were suggested and implemented, which allowed the process to work to completion.

In the second phase of the project, a new storefront via Shopify was created. Yobibyte Solutions created the necessary middleware components to integrate with Auth0, Shopify, and the learning platform Moodle.

The Success

The project was successfully completed within the agreed-upon timeframe. The introduction of middleware services improved the functionality of the eCommerce website, allowing for a better user experience for customers.

The new storefront middleware solution was delivered to production and customers quicker than expected, exceeding the business's expectations. On the day of go-live, customer orders started coming in without issue, indicating the success of the project.

The improvements to the build pipeline and code quality also resulted in more efficient and effective management of the project.

Tech Stack

Java
Auth0
Salesforce REST API
Shopify REST API
AWS API Gateway
AWS Lambda
AWS EventBridge
AWS SQS
AWS RDS
AWS VPC
AWS S3
AWS Cloudformation
Lombok
JUnit
Mockito
Maven
Docker