Building an execution flow for Oxford Immune Algorithmic's white blood cell models
- Customer
- Industry
- Service
- Segment
- Author
- Oxford Immune Algorithmics
- Healthcare & Life Sciences
- AI/ML
- SMB
- Jodie Rhodes
At a glance
Oxford Immune are passionate about using science and computational intelligence to push the boundaries of medical understanding and diagnostics.
Challenge
Oxford Immune needed to automate Algocyte’s complex workflow, including model hosting and multi-region deployment management.
Solution
Firemind delivered an execution flow using AWS services and a CI/CD pipeline to deploy the solution across environments.
Services used
- AWS Lambda
- Amazon SageMaker
- Amazon Bedrock
- Amazon DynamoDB
Outcomes
- 10-day turnaround
- Consistent, accurate results for Algocyte®
- Multi-environment workflow enhanced security and control
Business challenges
Automating a Complex Workflow for Algocyte's Personalised Health Profiles
Oxford Immune’s product, Algocyte®, continuously learns from the user’s health behaviour over time, building a personalised profile baseline.
This process requires a complex workflow which introduces a number of challenges. Specifically, Oxford Immune needed to isolate the best services suited for hosting a number of extraction and classification models. The CICD needed to be deployable across multiple regions whilst also having an aggregation classifier that could merge any and all results into JSON output files.
What our customers say
Hear directly from those who’ve experienced our services. Discover how we’ve made a difference for our clients.
Imad Alabed
"Proof of concept delivered well, and with future capability to scale. Good engagement and fast delivery from Firemind. Would highly recommend.”
Solution
Firemind's AWS-based Solution for Automating Algocyte's Workflow
Firemind acted as both a consultancy and development agency to deliver the execution flow and the CICD flow required to manage the regional and environmental deployment of the solution.
The execution flow being delivered in scope with this project phase is for extraction and classification, specifically using Amazon Sagemaker Batch. Batch was used as the compute layer to host and process the models provided in the previous project phase, Code Review.
The SageMaker batch processes could be triggered as frequently as necessary, with an AWS Lambda integrated into the architecture to be used as the flow trigger. The pre-processing from the RBC workflow is based on images being part of an order. The desired output of the WBC Workflow is an aggregated result based on the analysis of all images in an order (an ideal scenario for using Sagemaker Batch). When the images (in an order) are ready, the WBC workflow can be triggered. This means each batch can run as fast and frequently as needed, as an order image set can be produced.
The execution flow would be used for the extraction and classification tasks of the WBC execution flow. They will write and read to an Amazon DynamoDB table, and the results will be aggregated and written out as JSON to an Amazon S3 bucket location.
The three extraction types currently defined in the code provided would be executed by a parallel state in the AWS Step Functions that allow each type to be run concurrently. The default execution would run all extraction types, for both current and future additions, although using the parameters in the triggering Lambda, it would be possible to specify the execution of a filtered selection of types.
Similar to the extraction execution, two classifiers would be executed in a parallel state in the Step Function. This will also run all classifications by default, and support the selection/filtering to run specific classification types based on the parameters set in the triggering Lambda function.
Additionally, the delivery of this solution included the CICD pipeline to deploy to all of the environments (Dev, Testing, Prod), plus any region where services are supported.
Multi environment
A multi-environment cloud workflow allowed for the separation of different stages of development, such as development, testing, and production environments. This isolation helped enhance security by reducing the risk of unauthorised access or changes to critical production systems. It enabled tighter control over data, access privileges, and configurations, minimising the impact of potential security breaches or errors.
Improved quality and reliability
Automating CI/CD pipelines in the cloud ensures consistent and repeatable processes for building, testing, and deploying applications. It helped enforce coding standards, conduct comprehensive unit and integration tests, and perform automated regression testing. This improved the software quality, increased reliability, and reduced the likelihood of introducing bugs or performance issues into production environments.
Collaboration and visibility
Cloud-based CI/CD automation facilitated collaboration between development, testing, and operations teams. It provided a centralised platform where team members could access and monitor the progress of different pipeline stages, view test results, and track deployments. This enhanced visibility, promotes communication, and enables teams to identify and resolve issues quickly.
Get in touch
Want to learn more?
Seen a specific case study or insight and want to learn more? Or thinking about your next project? Drop us a message below!