Unshackled - e-commerce
In the beginning, Unshackled was a revolutionary startup for phone and SIM deals. It disrupted the standard way of selling phones by offering a completely new proposition of unbundling the handsets, consumer credit and tariffs. The customers were in charge of creating their own packages. A custom-built e-shop with dedicated modules to support different payment integrations.
A modular platform for e-commerce and payment solutions utilising consumer credit and orchestrating customer upgrade programmes. A mix of affordability, customisation, security and innovation to meet the next-generation methods of purchasing.
Team and Project Setup
The initial build of the platform has been done by a different agency but the PB members were part of the initial build team. That evolved into a long-term partnership and collaboration. The project was to build new modules on top of the existing platform and optimize the running costs in the cloud environment by migrating some of the services to new cloud offerings. At the start of the project the principal engineer joined and worked together with the existing to define a roadmap for optimization and an approach for building the new services. Once the initial preparation work has been done a full team has been taken on board to support the build. This team consisted of the principal engineer, 2 senior developers and a devops engineer.
The correctness and quality of the code produced by the team are at the forefront of the delivery. Automated test suites for unit, integration and end-to-end tests have been produced and run as part of the Software Development Lifecycle. The performance and resilience of the services should be a standard in any software project. The team developed an automated performance test suite - which was monitored and acted upon. The PureBrew team embedded itself as part of the existing to work on this project together and relied on the Scrum methodology. In cases where a third-party APIs integration was required, the team members were directly interacting with the suppliers facilitating the relationships between the engineering teams. Part of the team operated in a fully remote manner from an offshore office. Other PureBrew engineers were present and worked with the client's team from their offices.
The new UNS offering for a bespoke phone upgrade and checkout experience was built on top of existing infrastructure but required the implementation of new services and optimization of existing ones.
In the first phase of the project an analysis of the current state, existing services and running costs in the cloud environment have been performed. Immediately after the analysis, the work on optimization and definition of new modules and shift towards micro-service architecture has been established. AWS Lambda and Fargate were identified as the main compute technologies for migration of the existing and building of new ones.
New AWS lambda-based APIs for transferring customers from retailer site to a fully customizable checkout flow. A new middleware layer has been built on top of AWS Lambda to orchestrate new and old services and provide a new set of APIs for configurable checkout flows. A set of new even-driven services have been developed for reporting and asynchronous interactions with third parties outside of the critical path of making the purchase.
Monitoring and alerting
There were already existing monitoring and alerting solutions in place, such as DataDog and AWS CloudWatch Alerts. Given that a migration from EC2 based ECS clusters to AWS ECS Fargate was required, the existing approach has been updated to suit the purpose. As new services have been they needed to be included in the existing solutions for the AWS Lambda functions. The existing dashboards started to be managed as infrastructure as code new more usable dashboards and alerts on top of framework-specific metrics have been defined. Additional support for traces and improved logging has been implemented.
Optimization of infrastructure has been performed as part of the project. A plan for migrating the Cassandra cluster to AWS Dynamo has been executed. The static websites have been migrated from EC2 to Cloudfront + S3. New APIs and smaller services have been developed on top of AWS Lambda. Smaller domain-specific services have been extracted from the main service running the existing platform. All these changes substantially reduced the running costs.
The main focus of the PureBrew engineers is to bring value to the client as quickly as possible while providing high quality solutions.
The team delivered an optimization plan which has been successfully executed and provided substantial savings, increased the security and resiliency of the platform and removed vulnerabilities.
A whole new checkout experience has been developed. The team started to add enhancements to the existing platform and ended up creating a new version while still supporting the old functionality and legacy services.
Prior to launching the new version of the platform a test plan has been developed and executed together with the clients and its partners, to ensure a seamless launch of the new product offerings. Smaller services were released into production prior to the main launch of the whole new version.
After the new version of the upgrade programme has been successfully launched the PureBrew team participated in the development of additional features. The team provided ongoing operational support and assisted with retailer product launches. Additional resources were provisioned and tests were performed in order to deal with spike traffic on the platform for retailers' new offering launches. The maintenance of the platform has been done in cooperation with the existing UNS engineering team.