Moving from Kubernetes to Serverless
BrightWind, a specialist in wind resource assessment, focuses on estimating future energy production for wind farms. BrightWind’s team of analysts utilises on-site data collected primarily through met masts, which are equipped with various sensors to measure wind speed, wind direction, air temperature, air pressure, and humidity. The data generated by these sensors is consolidated, creating daily data files that encompass all sensor information for a given day.
As BrightWind expanded its operations, a significant portion of its analyst’s time was dedicated to manually extracting and aggregating data from daily files. To improve accuracy and reduce this data management burden, BrightWind decided to create a central platform called BrightHub. The initial plan was to deploy and scale the platform on AWS using Kubernetes. However, issues emerged due to the desire to minimise costs by scaling down during inactive periods, resulting in extended cold start times in Kubernetes or AWS Fargate, as well as a steep learning curve in Kubernetes for new developers.
To address these challenges, fourTheorem recommended BrightWind transition from its initial Kubernetes-based architecture to a Serverless-based design for BrightHub. With Serverless, costs incurred are solely based on actual resource usage, enabling automatic scaling to zero during idle times. AWS Lambda functions were employed, eliminating delays in data retrieval and file ingestion. The Serverless architecture also proved to be more straightforward, simplifying the onboarding process for new developers.
- Scalability: Serverless components such as S3, Lambda, and API Gateway scaled dynamically, resolving performance bottlenecks and ensuring swift, reliable management of a high volume of files.
- Faster Processing: The platform’s capacity to scale efficiently led to a marked improvement in processing speed, reducing data analysis time to a matter of minutes.
- Cost reduction: Serverless services are charged based on actual usage, encompassing factors like storage, API calls, and Lambda function runs. This approach significantly reduced operational costs during periods of inactivity.
- Streamlined management: Serverless offerings, managed by AWS, negate the need for manual provisioning, server management, application deployments, and other administrative tasks. The utilisation of CloudWatch, an AWS monitoring service, simplified logging and debugging while diminishing manual management efforts, allowing BrightWind to concentrate more on platform development.
- Swift setup of development environments: Infrastructure as Code enabled the rapid establishment of development environments, ensuring uniform configurations across both development and production settings. This was especially critical for Brightwind as a smaller organisation with limited time and resources to address misconfigured service issues.