Customer Stories / Software & Internet
TechnologyOne Improves Customer Experience by Implementing Predictive Scaling on AWS
Increases
availability
Scales capacity
to meet customer demand in advance
Improves
customer experience
Drives efficiency
by reducing customer service incidents
Reduces carbon footprint
by using only the compute instances needed
Overview
Australian ERP software provider TechnologyOne wanted to scale its business solutions more simply and effectively to improve the customer experience. In 2012, the company had transformed itself into a software-as-a-service (SaaS) provider by running its solutions on Amazon Web Services (AWS). TechnologyOne uses Amazon Elastic Compute Cloud (Amazon EC2), which provides secure and resizable compute capacity for virtually any workload, to power its SaaS solution. As its SaaS customer base grew, TechnologyOne used manual methods of reactively scaling capacity, making it a challenge to meet spikes in customer demand in a timely way.
To manage scaling, TechnologyOne used Amazon EC2 Auto Scaling, which customers can use to add or remove compute capacity to meet changes in demand. In 2018, AWS introduced an Amazon EC2 Auto Scaling predictive scaling policy—which uses machine learning (ML) to learn from past usage patterns and launch compute instances in advance of predicted demand—and by 2021, Amazon EC2 Auto Scaling natively supported predictive scaling. By implementing predictive scaling, TechnologyOne can now scale its solutions sustainably, improving its efficiency and the customer experience.
Opportunity | Using Predictive Scaling in Amazon EC2 Auto Scaling to Meet Growing Demand
TechnologyOne, an AWS Partner, provides enterprise resource planning software for local and federal government entities, higher education, health and community services, and asset-intensive industries. The company had been growing by 30 percent year over year since 2017, and its team found it challenging to keep up with the manual scaling processes to meet this growing customer demand. The company had been using Amazon EC2 Auto Scaling since it launched its SaaS offering. However, because of particularities with its software, TechnologyOne still needed to run some manual processes for scaling. “When our servers come up, we have to run a warm-up process to prepare them for customer requests, which takes time,” says Daryl Graham, production engineer for SaaS platform at TechnologyOne. Because the company was scaling reactively, Amazon EC2 Auto Scaling would start spinning up a new instance when it reached capacity, but by the time the warm-up process had run, clients had already spent 20 minutes unable to use the software.
Scaling too slowly affected the performance and customer experience of TechnologyOne’s solutions. The company began looking for a better scaling process, and in November 2021, the team saw that Amazon EC2 Auto Scaling natively supported predictive scaling. Predictive scaling uses ML to schedule the right number of Amazon EC2 instances in anticipation of approaching traffic changes. “For many years, we had talked about how awesome it would be if we could hook up ML on our usage patterns to our Amazon EC2 Auto Scaling,” says Graham. “AWS delivered what we had dreamed of, so we didn’t have to do the hard work.”
Using predictive scaling in Amazon EC2 Auto Scaling, we’ve managed to more closely align demand and capacity, which has resulted in a much better customer experience.”
Daniel Sultana
Executive Vice President of SaaS Platform, TechnologyOne
Solution | Implementing ML-Powered Scaling to Improve Customer Experience
TechnologyOne began implementing predictive scaling in Amazon EC2 Auto Scaling in late 2021. Its previous deployment pattern in Amazon EC2 Auto Scaling was to tear down and rebuild Amazon EC2 Auto Scaling groups every week. Also, TechnologyOne uses a blue-green deployment methodology—creating two environments for deploying the old and new software versions and gradually shifting traffic to the new version—in which every time software is deployed, a new Amazon EC2 Auto Scaling group is created. This presented challenges for implementing predictive scaling because the predictive scaling algorithm needs 14 days of historical data to effectively predict future traffic. Following expertise from the AWS product team, TechnologyOne now uses a custom metrics feature so that it can retain metrics across deployments and use them for predictive scaling. Now the predictive scaling model can use data from the previous week’s Amazon EC2 Auto Scaling groups to generate a forecast right away. The predictive scaling algorithm also gathers data throughout the week to detect changing patterns and automatically adjust its forecast. “Now we’re able to launch a new Amazon EC2 Auto Scaling group, apply the policies, and have the prediction engine work immediately,” says Graham. Additionally, through this method, TechnologyOne’s deployment process for new Amazon EC2 Auto Scaling groups remained the same, so engineers haven’t needed to create or adjust to a new way of using the service.
Predictive scaling is especially useful for TechnologyOne because its customers use its solutions in predictable patterns, primarily during business hours on weekdays. Now TechnologyOne can bring new servers online in the minutes before they are needed rather than after. “Using predictive scaling in Amazon EC2 Auto Scaling, we’ve managed to more closely align demand and capacity, which has resulted in a much better customer experience,” says Daniel Sultana, executive vice president of SaaS platform at TechnologyOne. Implementing predictive scaling has reduced the number of customer incidents. This not only improves the customer experience but also drives efficiency within TechnologyOne because engineers have fewer support issues to resolve.
As TechnologyOne adopted predictive scaling, it worked with the AWS team, which provided some key tips. Because of particularities with TechnologyOne’s solution—which is a mix of new and 35-year-old software—the company couldn’t use a typical metric, like CPU usage, for scaling. Experts from the Amazon EC2 team showed TechnologyOne how to use custom metrics to drive predictive scaling, and the company chose to use the number of requests per server as the scaling metric. In another example, Graham learned from an AWS team member how to more effectively use stored predictive scaling metrics that were displayed in Amazon CloudWatch—a service that lets organizations observe and monitor AWS resources and applications. “After I was told it wasn’t a bug and that I have to use those metrics slightly differently, everything fell into place,” says Graham.
Outcome | Optimizing Costs and Reducing Its Carbon Footprint
Now that TechnologyOne has implemented predictive scaling, its next goals are to reevaluate deployment strategies to maximize the benefits of the algorithm and to use predictive scaling to optimize costs in Amazon EC2. “Our prime focus for using predictive scaling was to improve customer experience, and we have achieved that,” says Sultana. “Now we’re going on to the second objective, which is using the feature to save money.”
Additionally, TechnologyOne will use predictive scaling to optimize Amazon EC2 deployments, working toward its corporate objective of reducing its carbon footprint. “The whole goal of predictive scaling is to more efficiently use AWS resources,” says Graham. “Using a feature like this to run Amazon EC2 instances for less time will naturally give a benefit in our carbon footprint.”
About TechnologyOne
TechnologyOne, a large Australian software company, helps its customers serve citizens and students by offering enterprise resource planning solutions to entities in the public sector, higher education, and asset-intensive industries globally.
AWS Services Used
Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Elastic Compute Cloud (Amazon EC2) offers the broadest and deepest compute platform, with over 500 instances and choice of the latest processor, storage, networking, operating system, and purchase model to help you best match the needs of your workload.
Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling helps you maintain application availability and lets you automatically add or remove EC2 instances using scaling policies that you define.
Learn more »
Amazon CloudWatch
Amazon CloudWatch collects and visualizes real-time logs, metrics, and event data in automated dashboards to streamline your infrastructure and application maintenance.
Get Started
Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.