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 on to AWS and because of our experience writing scalable and maintainable Python code.
What we did – technical implementation
- Set up Continuous Integration and Continuous Deployment pipelines using a combination of CircleCI, AWS CodeBuild, AWS CodeDeploy and AWS CodePipeline.
- 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.
- 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.