New order fulfillment integration for Patch Plants using AWS and Python
Who is Patch?
Patch specialises in delivering plants and accessories to customers’ homes. The company was the UK’s first online plant business and was founded in 2016. They sell a range of both indoor and outdoor plants, pots, and plant care products, offering consumers a convenient one-stop shop for all things related to plants.Their growth since 2016 has been impressive, with a total of over 2 million plants sold to over 500,000 customers.
Why Lambert Labs?
Patch chose to collaborate with Lambert Labs because of our expertise and experience with AWS and Python. In particular, our proficiency in building and deploying containerised and serverless microservices workloads in the cloud made us a good fit for their new order fulfillment integration.
In addition to the integration, our general high competency in maintaining mature technology stacks across multiple business lines (product, business intelligence, customer services) made us a natural choice to carry out the large number of software upgrades inevitably required on an ongoing basis by an established e-commerce business such as Patch to keep operational efficiency high and risk low.
Customer challenge
After its acquisition by arena.online, the fulfilment specialist for hard-to-deliver products, Patch faced the challenge of integrating their order fulfillment systems with those of Arena, and ensuring critical security patches and enhancements were applied via upgrades where necessary across their technology stack.
The main aspects of the challenge were:
- Data Inconsistency: Data incompatibility between legacy systems led to data inconsistency. For example, product codes, customer information, and order formats varied, causing confusion and errors. Data cleansing and mapping became necessary.
- Process Standardisation: Patch and Arena had different order fulfillment processes. Achieving process standardisation across the new entity was essential for efficiency. This required reengineering processes and customising software to align with best practices.
- System Scalability: Mergers can result in a sudden increase in order volumes. The software systems had to be able to handle this additional workload without performance issues or downtime.
- Vendor and Partner Integration: Companies often work with different vendors and partners. The merged entity needs to ensure that their software systems can communicate and share data seamlessly with these external stakeholders for smooth order fulfillment. On the Patch side, this included vendors such as Linnworks and WorkWave and on the Arena side a large, battle-tested, bespoke custom built solution.
- User Training and Adoption: Patch’s Customer Service team needed training to adapt to new software systems and processes, leading to a temporary decrease in productivity. Adequate training and change management efforts were crucial to ensure a smooth transition.
- Customer Experience: Inaccurate or delayed order fulfillment due to software challenges can impact the customer experience. Both companies had to work to ensure a seamless transition to prevent customer dissatisfaction and potential loss of business.
Partner solution
By embedding ourselves fully into the Patch engineering team and internal workflows and processes, and leveraging our extensive industry experience, we were able to hit the ground running and allow the engineering team to scale up efficiently, as well as ensure sound architectural decisions were made during the initial planning phases.
The integration with Arena was achieved via using the following AWS services:
- AWS EventBridge, SQS, S3, and Lambda to create a new Arena microservice responsible for handling all communication between Patch’s internal systems and the Arena fulfillment API
- AWS ECS, ECR and CircleCI to deploy the required application updates to Patch’s Storefront internal dashboards (Django) and asynchronous tasks (Celery)
- AWS AppSync to incorporate new data structures and business logic into Patch’s GraphQL API endpoints
- AWS Lambda and API Gateway to handle callbacks from the Arena fulfillment API in order to process order updates in an efficient and timely fashion
- AWS Lambda and SNS to ensure smooth communication between various message buses responsible for transporting information from Patch internal systems to Arena internal systems
- AWS DynamoDB to handle parcel tracking updates
- AWS CloudWatch, S3 to log communication between microservices and order fulfillment related events
The software upgrades made use of the below AWS services and technologies:
- AWS ECS Fargate, ECR, RDS (PostgreSQL), Route 53, Certificate Manager to update to the latest version of Metabase and replace the legacy Docker Swarm deployment with ECS. AWS CloudFormation as the solution was fully IaC using Troposphere / Stacker for template creation and orchestration
- AWS S3, Athena, Glue to replace deprecated Logentries logs in Fastly. AWS CloudFormation as the solution was fully IaC using Troposphere / Stacker for template creation and orchestration
- AWS ECS, ECR and CircleCI to deploy the required application changes and package upgrades to move from Django 2 to 3. AWS CloudFormation as the solution was fully IaC using Troposphere / Stacker for template creation and orchestration
- JavaScript to replace an outdated version of Slick with an up to date version of Glide across all the carousels in the Patch Storefront
- An AWS Well-Architected Review to identify elements of Patch’s AWS infrastructure that would benefit from upgrades or reconfiguration.
Results and benefits
The order fulfillment integration has brought the following benefits to Patch:
- Cost Reduction: Combining supply chains has led to economies of scale. By sharing facilities, transportation, and other resources, costs were reduced through bulk purchasing and more efficient operations.
- Increased Efficiency: Integration streamlined the supply chain, reducing redundancies and inefficiencies. It resulted in better coordination of procurement, production, and distribution activities, resulting in faster order fulfillment and reduced lead times.
- Enhanced Inventory Management: Better visibility and control of inventory levels, which has reduced carrying costs and the risk of stockouts or overstocking.
- Improved Customer Service: With a more efficient supply chain and order fulfillment process, Patch has been able to provide quicker delivery times, better order tracking, and more reliable service to their customers.
- Scale and Market Access: Merging supply chains has enabled Patch to expand into new markets / reach larger customer bases, e.g. Patch products are now available on Amazon.
In addition, the software version upgrades carried out have ensured BAU processes continued to run correctly and without loss of functionality due to deprecations.
There is no other way of saying it – we just liked the people we worked with from Lambert Labs. They were honest, straightforward, never over promised, made sensible compromises and provided sound advice throughout the duration of the project. (Katherine Suddaby, Managing Director Patch Plants, COO Arena Online)
About Lambert Labs
Lambert Labs, an AWS Advanced Consulting Partner, is a Python and cloud development company based in London. We specialize in providing Python development services, AWS consulting services, and AWS Well-Architected Framework Review services.
We participate in various APN programs, including:
- AWS Well-Architected Partner Program
- AWS Reseller
- AWS CloudFormation Service Validation holder
- AWS RDS Service Validation holder
- AWS Public Sector Program
- AWS Immersion Day Program
Our expertise in AWS technologies and commitment to delivering high-quality solutions have made u