BC Hydro - Case Study
A solution that maintained high security standards, but was also cost efficient.
BC Hydro is the third largest electric utility in Canada, serving approximately 1.9 million customers throughout the province of British Columbia. The primary source of BC Hydro’s generation are a number of large hydroelectric generating stations combined with a number of water reservoirs located throughout the province. Managing and optimizing the output of the generators is a critical and challenging function, and is dependent on a wide number of dynamic variables.
- Maintain high security standards
- Realize cost efficiencies
- Secure, on-demand cloud solution on AWS
- Compute cluster in AWS implemented and secured in Amazon VPC
- Ability to run models securely while minimizing operational costs
The utility computing model of AWS and the cloud are the perfect fit for this workload. We leaned heavily on TriNimbus’ expertise to take advantage of the AWS platform, and we were very pleased with the results.Lucas Malesku
“We were very excited by this challenge where we could help BC Hydro architect and implement a powerful solution that was a win-win for everyone involved,” said Jarrod Levitan, Chief Cloud Officer at TriNimbus.
To take advantage of both the AWS offerings and BC Hydro’s existing on premises infrastructure, a hybrid approach was used: The legacy systems remain on premises, while the new, computationally intensive workloads are implemented in AWS.
The compute cluster in AWS is implemented and secured in its own Amazon Virtual Private Cloud (Amazon VPC), isolating potentially sensitive information in the cluster from the public internet. Amazon Elastic Block Store (Amazon EBS) encryption and Amazon S3 server side encryption are used to further protect information.
Worker nodes in the high performance computer cluster are managed by Amazon Auto Scaling Groups. For ease of deployment, the whole AWS environment is scripted using CloudFormation templates, which results in the environment being set up from nothing to a fully functioning solution in a completely automated fashion and within minutes – infrastructure as code. Once the models are run, nothing is stored on AWS, the environment is deleted and all data is transferred back securely to BC Hydro.
To operate its reservoirs efficiently, BC Hydro has developed a number of optimization and simulation models that have been run on local servers and/or laptops. As BC Hydro improved the models to make them more accurate, the improvements required progressively more and more computational power. Eventually, BC Hydro reached a threshold where the models required high performance computing with hundreds of central processing unit (CPU) cores to allow the models to execute within a reasonable amount of time. However, execution frequency (the number of times the models need to be run) has remained constant.
The challenge for BC Hydro was how to achieve high performance for just a few hours a week. Using dedicated hardware would result in very low usage most of the time. BC Hydro needed a solution that maintained high security standards, but was also cost efficient and dedicated hardware was not that solution.
AWS and Partner Solution
The AWS Cloud lends itself perfectly to the on-demand model – such as when a significant amount of computational resources are required for relatively short bursts of activity. BC Hydro did not have the in-house expertise to develop the solution, and chose TriNimbus, an AWS partner, to work together to enable them to run these models in an automated and secure environment on AWS.
Results & Benefits
Without AWS, the newest generation of BC Hydro’s models wouldn’t be economically feasible: the relatively low average usage means that the cost of maintaining on premises hardware to meet the peak load would be too high to justify.
“The utility computing model of AWS and the cloud are the perfect fit for this workload,” said Lucas Malesku, an IT Architect for BC Hydro. “We leaned heavily on TriNimbus’ expertise to take advantage of the AWS platform, and we were very pleased with the results.”
Using existing laptops takes 10 to 20 hours to run a key model, which was impractical given that this new model needs to run 10 times per month. The new solution resulted in the following outcomes:
- The Cloud environment, utilizing 216 CPUs, can be spun up in 10-15 minutes;
- The data and program code can be deployed to the Cloud in five minutes;
- The model can be run in 10 to 12 minutes within the Cloud;
- Once results are retrieved, the Cloud environment can be destroyed in five to 10 minutes;
- The total cost of the run is approximately $10
By using AWS, BC Hydro is able to provide the computer resources very quickly, use them to run the models, ensure the data is secure, and then shut them down to minimize operational costs. By using TriNimbus’ expertise both in AWS and software engineering, the company was able to understand all the necessary components and go deeper into the requirements, and plan and implement the right solution for BC Hydro.