Assessing, designing, and building new production infrastructure, based on infrastructure as code, for the digital veterinary service.

Written by
Sebastian rosander
Published on
May 26, 2023

About

FirstVet is an independent digital veterinary service that offers video consultations to pet owners for advice and guidance on their pets - wherever you are.

Excutive Summary

FirstVet, a digital veterinary service company, engaged with Playground Tech to get help with inefficient deployment processes, hindering its ability to bring new features to market quickly. Playground Tech proposed migrating the workloads to AWS ECS Fargate and adopting modern DevOps practices to improve the feedback loop and increase automation. The migration resulted in a faster time-to-market for new features, increased developer productivity, and enhanced speed and reliability of infrastructure deployments. With streamlined deployment processes and the ability to focus on growth, FirstVet successfully addressed its business challenges with the help of AWS and modern DevOps practices.


Challenge

FirstVet was facing challenges in developer experience, with a delayed feedback loop due to their current deployment method and infrastructure setup. This was leading to reduced time-to-market for new features, hindering FirstVet's expansion into current and new markets. The current process was manual and relied on a single individual, resulting in slow and inefficient deployment processes. Regular changes could take up to 48 hours to get into production. This had a direct impact on developer productivity and long lead times for the business to bring new features to production.


Solution

To address the challenges faced by FirstVet, Playground Tech proposed migrating the workloads from a single EC2 with Docker-compose to AWS ECS Fargate, leveraging the elasticity and scalability of the AWS platform. The proposed solution enabled developers to quickly validate their changes in a temporary feature environment on the AWS infrastructure, without having to synchronize with other developers or rely on a single individual's work.


To support this transition, Playground Tech and FirstVet's Cloud Engineers and developers collaborated to adopt modern DevOps practices and automate their processes. Pulumi was introduced as an Infrastructure as Code tool and integrated into FirstVet's CI/CD pipelines in CircleCI, allowing developers to provision a temporary feature environment independently of other developers.



Architecture & Tools

The new CI/CD process was designed to ensure that code changes undergo rigorous testing before being approved for deployment. Pre-Commit, Formatting, and Unit Tests (Application + Infrastructure) were required to pass before a feature environment could be spun up. Developers opened a Pull Request (PR) in GitHub for review once they were happy with their changes, and the code was required to be approved by at least one other individual before being merged into the quality assurance (QA) branch.

Once deployed in QA and tests have passed, a PR for production was opened, requiring approval from the development team and DevOps team. By utilizing GitHub for version control and PRs, FirstVet was able to orchestrate the new workflow and ensure safeguards were in place.

With the new developer experience and workflow, FirstVet was able to take advantage of the elasticity in AWS and implement DevOps practices to provide developers with isolated feature environments, significantly improving the feedback loop and reducing the time-to-market for new features.


Results and benefits

The migration of FirstVet's workloads from a single EC2 instance to AWS ECS Fargate, coupled with the implementation of modern DevOps practices, has resulted in significant benefits for the company.

Firstly, the introduction of feature environments that were isolated from one another, combined with the reduced feedback loop, allowed for a significantly faster time-to-market for new features. In fact, the time-to-market was reduced by a factor of 10x. Secondly, the new DevOps process empowered FirstVet's developers to validate their changes in a temporary feature environment without relying on a single individual, leading to an increase in developer productivity. Lastly, the adoption of Pulumi as an Infrastructure as Code tool resulted in a 100% increase in automated infrastructure deployments, thereby enhancing speed, reliability, and reducing the risk of human error.

The migration to AWS ECS Fargate and the adoption of modern DevOps practices have enabled FirstVet to streamline its deployment processes, reduce time-to-market, increase productivity, and focus on growing its business by penetrating current markets and entering new ones with greater efficiency.