Ollie is on a mission to improve the lives of pets everywhere through better nutrition. The startup offers subscriptions of human-grade fresh dog food that is delivered directly to your door. Once they had outgrown their individual EC2 instances and manual deployment methods, they needed to upgrade to automated, containerized systems. With a great development team but little devops best practices expertise, they sought help updating to a modern architecture.
- Standardize Immutable Infrastructure
Special cases and functionality were removed from individual instances and moved to workers or distributed across all instances built from the same image. Every resource was defined in CloudFormation so that building environments, instances, data stores like elasticache, CloudFront and Load balancers became a consistent, predictable process.
- Clearly Defined Deployment Process
Deployment Scripts required some clean up and consolidation to avoid duplication. The Ansible scripts used for manual delivery to production were reorganized and consolidated. The Ollie team could now consistently manage scaling and testing of their application with structured methods. This prepared them for automated deployment by making the documented process easy and predictable.
- Automate Deployment with a CI/CD Pipeline
With a manual process to promote application code to production, a continuous integration and delivery pipeline was a natural next step. The codebase was migrated to Docker and the development team was trained in docker-compose. The applications were then deployed to ECS Fargate for container orchestration and CodePipeline to deploy on merges to the main branch.