All case studies / EB Games
EB Games automated and modernized its deployment pipeline with Octopus
About EB Games
EB Games Australia is Australia’s largest video game and pop culture retailer, selling interactive games, accessories, and merchandise. The first Australian store opened in 1997 and EB Games has since expanded to over 370 stores nationwide along with online retail.
EB Games’ store network is complemented by its website, offering a wide range of products and value-added pre-owned games to deliver customer satisfaction.
We use built-in Octopus steps whenever possible to eliminate the need for custom scripts. This allows us to outsource maintenance of deployment scripts and allows us to focus on our job.
Challenges
EB Games needed to move away from its monolith and manual processes to grow
Scaling and modernization
EB Games’ growth meant it needed to tackle the challenges of scaling and modernizing its ecommerce platform. Before using Octopus Deploy, the EB Games team manually deployed their web applications by copying files and updating configuration files directly. By introducing Octopus, EB Games has moved from manual processes to deploying to Windows virtual machines (VMs) as the team modernizes its processes.
From monolith to microservices
EB Games deployed to Windows VMs happily for many years, primarily using Microsoft technologies to develop and host applications. The team built their existing ecommerce platform using Microsoft ASP.NET and over time slowly began the process of teasing apart their monolithic application into smaller microservices. They deployed it to Windows Server virtual machines running in AWS to host their websites and databases.
Containerization and custom scripting
The team wanted to continue their modernization by containerizing supporting ecommerce services and hosting them in Amazon ECS, preferring the simplicity of Amazon ECS over Kubernetes. They manually configured their clusters with CloudFormation templates and handcrafted their task definitions and custom scripts to automate their deployments and some maintenance tasks. This approach worked but was time-consuming and required ongoing maintenance of the custom scripts. It was also prone to human error.
Manual processes
EB Games recognized the need for a better software delivery approach for its business. The next step of this modernization journey was shifting to Fargate-backed Amazon ECS to further reduce manual handling in the team's deployment process.
My favorite part of the Octopus ECS support is that we can configure a task definition using the Octopus UI and export the underlying task definition if we need to customize it further.
Solution
Removing custom scripts and centralizing variable management with Octopus
As long-term users of Octopus Deploy, EB Games was already using Octopus to help automate its deployments and support its cloud-native modernization journey. Octopus has continued to support their journey from legacy to modern technology by helping the team move away from deploying their applications to Windows virtual machines, to now deploying to modern cloud-native infrastructure with Amazon ECS. By supporting the right mix of infrastructure, Octopus is able to meet their automation needs over time.
Octopus addressed 2 major pain points for EB Games:
- Eliminating the majority of its custom scripts.
- Centralizing variable management (configuration settings) in Octopus so the team could transform their configuration files as they deployed through test and production environments.
Octopus is a cornerstone of our processes. I can’t think of a software product that does more for us.
EB Games' CI/CD pipeline
Value
Octopus's automation and flexibility supports EB Games' growth
Automation and less manual work
EB Games had already begun automating its web application deployments to Windows virtual machines, and upgraded their Octopus instance in December 2021 when they noticed the new “Deploy to Amazon ECS” automation step which supported Fargate-backed ECS clusters. This let the team expand to containerized deployments using Octopus’s built-in support for deploying to Amazon ECS.
The guided steps for Amazon ECS included everything essential to create a task definition and automate containerized application deployments to AWS. A manual process with Powershell scripts is now done without any custom scripting.
Continuous process improvement
The EB Games team created their first Fargate-backed Amazon ECS cluster to take advantage of the built-in support. They moved away from EC2-backed clusters that needed regular maintenance and updates to the associated CloudFormation templates. They also used the built-in automation steps and export feature to customize things further. The team then updated the exported CloudFormation template and continued to use the same project variables making the process quick and easy.
Best-in-class software delivery pipeline
Now, EB Games uses a best-in-class CI/CD pipeline that suits its team and needs. EB Games uses Atlassian BitBucket for source control, Jetbrains TeamCity for builds, and Octopus for deployments to AWS.
Strategic and flexible journey to modernization
EB Games has containerized 4 microservices and each microservice is split into a separate project in Octopus. This gives the team more control to deploy their ecommerce monolith and modern services independently and continue to modernize their systems over time. They are in the process of replicating this across their entire ecommerce platform.
Shared knowledge
Using Octopus Deploy to automate their CI/CD pipeline has been a game changer for the EB Games team. They don't have a dedicated build or deployment expert. The responsibility is shared amongst the team because the process is easy to learn and maintain.
Time savings
The greatest benefit of using Octopus for the EB Games team has been the time saved from manually creating custom scripts and configuration. What should have been simple and straightforward was time intensive and required trial and error. Using built-in automation steps and centralizing their configuration variables and secrets management in Octopus has solved this problem.
Focus on the customer
Using Octopus means EB Games can focus its energy on improving its customers’ ecommerce experiences rather than worrying about infrastructure and ensuring deployment processes work. What would have required a full-time engineer to manage is now fully automated, allowing the team to focus on what’s most important.