Empowering Global Commercial AI Food Waste Solution with Resilient Infrastructure

Industry: SaaS
Service: DevOps-as-a-Service
Duration: 6 years

About Project
The client is a global AI leader in commercial food waste solutions. Serving chefs in 2,000+ locations, it helps run a more sustainable and profitable business, reducing food waste by 50%. The system captures images of discarded food, training itself to identify items in the bin. System then processes this data, giving businesses insights that influence their decision-making.

$54M

saved / year

45M

meals saved / year

77

countries covered

Client's Goals
Build a fault-tolerant infrastructure
Enhance the system's reliability, availability, and resilience
Automate deployment process and development routine
Client's Challenges

Service interruptions and downtimes

Heavily relying on real-time tracking and analysis, the client is committed to providing crucial day-to-day insights to its users. Any interruptions or downtimes can impact the data's quality and overall tool's efficiency.

Container dependencies

Tight interdependencies between Docker containers caused bottlenecks during product updates and deployments. It also restricted system flexibility and agility, creating additional challenges in adapting to swift operational changes.

AI model updates

As the AI models evolve, incorporating new versions into the existing working product without disrupting its operations becomes challenging. Inconsistencies between the deployed model and the latest version could rob users of many benefits.

OpsWorks Co. Solution

Microservice architecture development

Initially, the client hosted their 10-component application on the AWS server. With each container relying on the others, a shortfall in any component risked system failure. To address this, our team transitioned from AWS server to AWS ECS, enabling automated version deployment with a single click on the Jenkins dashboard.

Infrastructure as a code implementation

Allowing the system to scale up and down depending on its needs, our engineers developed a set of specific scripts. IaC approach to automation helped to make the client's infrastructure more flexible, making it easier to validate changes, create versioned releases, and apply a variety of coding best practices.

CI/CD implementation

To automate routine software development work, our team set up Jenkins and a CI/CD Pipeline. Now, there is no need to stop an old docker image and start a new one manually since this can be done with one button in the Jenkins dashboard.

Results and Benefits
Reusable and automated infrastructure due to the IaC approach implementation
Automatic container orchestration system based on AWS ECS
Automated CI/CD pipelines, thanks to Jenkins implementation for every container (service)
Automatically and independently scaling microservices due to IaC approach adoption