Our customer is an upmarket Australian department store. Its footprint consists of 45 stores as well as an online store.
The organisation had an on-premises workflow management solution based on Reflexis Workflow Management (RWM), which exhibited all the challenges of running in an inelastic, ageing environment: it was hard to upgrade, could not scale, and access to data for planning future staffing schedules was complex and failure-prone.
Data ingestion happened in a variety of ways, involving several manual steps. Once ingested, the source data was no longer available which prevented additional processing from the original. This limited our customer’s ability to perform historical data analysis, costing the business in processing time, and hurt their ability to make predictions for workforce planning.
A more critically pressing factor was that the installed version of Reflexis was old and heavily customised, and was approaching end-of-life, implying expensive additional support arrangements (if even possible).
Based on our previous Data Lake work, Cevo worked closely with the team to build a new data ingestion process. Data would be transferred from modern external workflow planning systems via the industry-standard SFTP protocol to endpoints provided by the AWS Transfer Family for SFTP. Data files transferred would be deposited into an S3 bucket. Delivered workflow and scheduling data would be processed by a combination of Lambda functions orchestrated by Step Functions, and further transformed and optimised via an AWS Athena and AWS Glue infrastructure which would deliver source data for the workflow management system and provide employee status updates to the HR system.
In order to achieve the maximum level of repeatability, reliability, testability and automation, the solution would be delivered through a DevOps workflow, supported by a combination of AWS technologies: CloudFormation stacks generated by the Cloud Development toolKit (CDK) would deploy the infrastructure components, with least-privilege ensured by the generative use of that framework. The CDK source code, originally hosted in BitBucket, would be synced with AWS CodeCommit repositories, triggering CodePipeline builds that would (through the use of CodeBuild projects) validate and build the CDK-based stacks, then deploy them into the relevant target environments.
This combined solution would allow our customer to:
- adopt DevOps practices and tools, unlocking business agility and innovation
- manage and deploy changes to the solution rapidly, with full automation
- scale capacity automatically for workflow planning on demand
- keep the idle time costs to a minimum
- increase accuracy
- reduce the time required for planning
- retain historical data for longer.
Thanks to the innovative serverless design and end-to-end DevOps pipeline, our customer was able to achieve:
- a reduction in change deployments duration from days to minutes
- significantly reduced deployment error rates due to full automation
- reduced data processing time (from hours to minutes)
- reduction in planning costs
- better predictions
- improved observability of the process
- retention of historical data to inform future planning
- reduced risk by moving to a supported version of the Reflexis service
In addition, due to the serverless nature of the design, the full run cost of the solution sat in the low hundreds of dollars per month, with the capacity to burst seamlessly to handle load spikes due to unexpected events (such as COVID-19).