As they scaled up their operations, successful SaaS Linius knew that to optimise costs and improve their production pipeline they needed to rethink their AWS infrastructure.
Linius offers a number of services related to managing and broadcasting video built around their patented video virtualisation technology. Their cornerstone service is their SaaS platform, Linius Video Services.
Their platform on AWS had served them well to date, but things had moved on since it was built. In the next phase of their development they wanted to adopt a container-based deployment pipeline and shift towards serverless compute and supporting services. And they wanted to make sure they built their new platform from the ground up using best practices.
Linius was already using AWS. Their platform was deployed into a single AWS region. It made use of load balanced, autoscaled EC2 instances, Amazon Elasticsearch Service, Amazon SQS, and Amazon RDS for PostgreSQL.
Why The Scale Factory?
We had recently undertaken a Well-Architected Review and a platform-scaling exercise for Linius in preparation for a big event, so they were familiar with our team and knew we had the knowledge and skills they needed. The remedial work undertaken by our team as part of the platform-scaling was successful, but we’d made it clear that this work would increase costs, and certain infrastructure changes could optimize costs long term. We were able to clearly demonstrate the business benefit of any infrastructure work they did.
What also appealed to Linius was our preferred approach of working with our clients to design and build their new infrastructure rather than doing it all for them and ‘throwing the code over the wall’ at the end. They knew they needed skills and knowledge they didn’t have, but didn’t want to be dependent on an outside company long term. They had had some good and some bad outsourcing experiences but were facing a knowledge gap in the economy, so they knew hiring the skills they needed would be tough.
We started by running a three-day workshop to discuss Linius’ longer-term business goals and strategies, as well as their thoughts and ideas around the new platform. Then we designed it together, identifying the technologies where the Linius team would need training as we did so. Before the work commenced we ran a series of training sessions for the team.
For the build of the first service, one of our consultants was embedded in the Linius team. The idea being that they would share their knowledge through the build, and Linius would go on to build the remaining services on their own.
For the new platform Linius moved to AWS Fargate to:
- Thin down the infrastructure to reduce overheads associated with maintaining it
- Speed up the lifecycle of making and deploying changes because of the speed at which it can build containers
- Make it possible to scale up and down to match service demand far quicker.
Amazon Cognito was used to manage user access because it:
- Allows users to sign in with their social media identities via SAML 2.0
- Can scale up to millions of users if necessary
- Shifts the management burden of storing user data to AWS.
AWS Identity and Access Management (IAM) was used to secure and manage access to the services and resources on AWS, which was supported by the use of Terraform to write infrastructure as code, making it speedy and straightforward to configure infrastructures for testing, staging and production environments. It also makes disaster recovery simpler and more robust.
The Linius team have increased their skills, and feel confident they are building a robust, cost-optimised infrastructure that is built on best practice. The move to AWS Fargate and the use of Terraform has cut overheads, Amazon Cognito has simplified and integrated user sign in, and AWS IAM has increased security.
Linius is currently replatforming the rest of its services and has added an infrastructure engineer to their team. They signed up to our Support & Learning Subscription to give their developers ongoing support and training, with 24/7 incident support if needed.