Firefly.ai (previously known as Neural Algorithms) has built a solution for automated machine learning model builder. They has begun with on premises solution and wanted to step further and make SaaS product in the cloud available to everyone.
The easy part was the hardest part - build everything from scratch. Firefly had only working source code that was working in local hardware environment. The goal was to build scalable, secure, automated and of course price wise environment for production and development.
Having only developers teams and no one who could maintain the infrastructure we have decided to go managed services in cloud the most of the team was familiar with - Amazon Web Services.
Using AWS managed services we have been able to create Ansible playbook that spin up an environment that was primarily built on ECS with use of RDS, SQS, S3 and Lambda. Have processing processes is executed on spot GPU instances allowing Firefly to save money.
Development process was designed as build once CI/CD process over Jenkins pipelines and GitHub into different environments. This allowed Firefly development team to focus on creating great product without maintaining the infrastructure.