Reducing scale-up time by up to 89% using Amazon ECS with Xero
Learn how small-business platform Xero used Amazon ECS to optimize one of its core applications and reduce scale-up time.
Key Outcomes
Overview
Xero, a global small-business platform, needed to optimize a web-based application, XeroWeb, to support its user base across more than 180 countries. To unlock greater agility during peak periods and reduce engineering management effort, Xero migrated the Windows application to a container-based architecture on Amazon Web Services (AWS). This way, the company significantly reduced scale-up time, improved system resilience, and accelerated feature deployments. The project’s success has also paved the way for teams within Xero to pursue similar replatforming efforts with more applications.
About Xero
Based in New Zealand and serving 4.6 million subscribers worldwide, Xero offers cloud-based accounting software to help small businesses manage accounting, payroll, payments, and more
Opportunity | Using Amazon ECS to replatform XeroWeb for Xero
XeroWeb is a large application that supports accounting features such as invoicing, bank reconciliation, and financial reporting. The Windows application handles more than 8 billion customer requests per month. Originally, Xero built the application on the .NET Framework and ran it on a large fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances, which offer secure and reliable compute capacity. This architecture supported the application’s growth for many years. But as XeroWeb’s customer base grew, scaling the infrastructure for the .NET Framework application could take up to 1 hour. This meant that engineers needed to anticipate traffic spikes with predictive scaling rather than use more cost-effective reactive scaling. As a result, the application required higher costs and significant engineering effort to run smoothly.
To respond more quickly to traffic spikes, reduce maintenance effort, and increase delivery speed and reliability, Xero set out to replatform XeroWeb. The company wanted to do this ahead of upgrading to .NET Core—a process that might take multiple years. The company needed a solution that would reduce overhead, improve resilience, and accelerate innovation as quickly as possible.
Solution | Containerizing a core application to improve performance
The company collaborated with the AWS team to develop a container-based approach to make workloads more portable and manageable. To maximize efficiency, Xero adopted Amazon Elastic Container Service (Amazon ECS), a fully managed container orchestration service, migrating 233 Amazon EC2 instances to Amazon ECS Windows containers. Adopting a managed service simplified infrastructure management and reduced deployment complexity, and containerizing the Windows application helped Xero isolate workloads to improve resilience and scalability.
“Starting with our biggest Amazon EC2 fleet could have been risky, but it was where a key business benefit lay,” says Vanessa Strahan, head of engineering at Xero. “Achieving this set the scene for every other smaller, less complex workload to follow the now proven path.”
Xero worked closely with the AWS team to facilitate a smooth migration, phasing the rollout to minimize risk and maintain service continuity. To gradually route traffic to the AWS infrastructure, Xero used Application Load Balancer, which load balances HTTP and HTTPS traffic with advanced request routing. This way, Xero could use weighted routing to specify how much traffic to route to each resource.
AWS experts provided tailored Amazon ECS training, on-demand technical guidance, and on-call support during key deployment moments to assist with rapid rollback if needed. “AWS is special as a vendor, viewing our success as its own,” says Henry Muru Paenga, principal engineer at Xero. “If we have issues, the AWS team will find the right person to jump in and help us get to a resolution. Knowing that we have someone to reach out to is immensely valuable.”
Outcome | Unlocking agility and efficiency with containers
By optimizing XeroWeb with purpose-built AWS services, Xero laid the foundation for a more scalable, flexible, and maintainable system without changing the core business logic that its customers rely on. With the built-in mechanisms in Amazon ECS, the company can continue to meet its resilience requirements and implement its own controls for both infrastructure changes and application updates.
Xero reduced scale-up and rollback time from up to 55 minutes to as little as 6 minutes, a reduction of up to 89 percent. Mean time to recovery decreased by 50 percent, and the company now saves about 60 hours per month in deployment time, which helps teams release updates more regularly. Xero completed the migration with virtually zero downtime and has realized efficiencies across the company.
The successful XeroWeb migration has paved the way for teams to migrate other applications, such as payroll, to Amazon ECS. For Xero, the migration has unlocked the agility to move and innovate faster.
If we have issues, the AWS team will find the right person to jump in and help us get to a resolution. Knowing that we have someone to reach out to is immensely valuable.
Henry Muru Paenga
Principal Engineer, XeroAWS Services Used
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages