Who are Earwig Academic?
Earwig Academic are an education technology (EdTech) company who provide software to schools. Their product allows teachers to upload and tag evidence of their pupils’ learning and progress, and simplifies schools’ reporting and evidence requirements. They have a particular focus on special educational needs (SEN) education.
Why Lambert Labs?
Lambert Labs was chosen to take over Earwig Academic’s Python/Django application development and infrastructure management because of our expertise in migrating applications to AWS and because of our experience in creating a DevOps culture at companies where development and operations have previously been treated separately. Earwig Academic needed:
- The ability to release application updates more frequently and reliably.
- To make their application autoscale because it was struggling under load during peak traffic periods.
What we did – technical implementation
- Instilled DevOps best practices, including setting up Continuous Integration and Continuous Deployment pipelines using a combination of CircleCI, AWS CodeBuild, AWS CodeDeploy and AWS CodePipeline.
- Created a DevOps culture where application releases are multiple times a day as opposed to less frequently.
- Integrated security best practices into the DevOps culture to create a DevSecOps focus too.
- Migrated the static files loaded by the Django application from an external application server to an S3 bucket, and began to serve them via an AWS CloudFront CDN. This resulted in reduced application server load and a more scalable application.
- Conducted an AWS Well-Architected Framework Review (as part of the AWS Well-Architected Partner Program) of the AWS infrastructure, thus identifying areas of potential improvement around the key pillars of operational excellence, security, reliability, performance efficiency, cost optimization, and sustainability.
- Migrated transactional emails generated by the application to Amazon SES thereby reducing load on the application server and bringing the application in line with infrastructure decoupling best practices.
- Used the AWS Distribution Program to give our client a discount on their monthly AWS bill by onboarding their AWS account into the Lambert Labs AWS organisation.
- The creation of a DevOps culture has enabled Earwig Academic to release application updates and database migrations more frequently and reliably.
- Application code standards have improved with linting and code formatting in CI pipelines.
- We will be migrating the existing database infrastructure onto Amazon’s Relational Database Service (RDS), taking advantage of improved snapshotting and restoration abilities, and reducing the need for developers to directly manage the underlying database infrastructure.
- We are migrating the application’s existing in-memory Redis DB onto Amazon ElastiCache, leveraging the benefits of a managed service outlined above and freeing up memory on the application server.
- We will be containerising the Django application and migrating it to AWS Elastic Beanstalk.
- Ongoing feature development as required by the client, including building out integration with external APIs, and general bug fixing as required.
If you would like to find out a little bit more about Lambert Labs then please feel free to read about our Python development services, AWS consulting services or AWS Well-Architected Framework Review services.