-
Notifications
You must be signed in to change notification settings - Fork 482
Open
Description
Overview
The current AWS deployment setup provisions static infrastructure without elasticity. This enhancement introduces auto-scaling support to improve resilience, cost efficiency, and performance during high scanning workloads.
Auto-scaling enables dynamic adjustment of compute resources based on demand, ensuring optimal resource usage and better scalability.
Motivation
- OWTF workloads are unpredictable; auto-scaling helps reduce idle costs and avoid performance bottlenecks.
- Elastic infrastructure aligns with DevOps and cloud-native deployment principles.
- Enables users to deploy OWTF at scale with minimal manual intervention.
Proposed Solution
Integrate AWS Auto Scaling Groups (ASG) into the existing EC2-based infrastructure.
Implementation Plan
-
Launch Template
- Reuse existing OWTF AMI or instance configurations.
- Define launch template parameters including security groups, instance type, and key pair.
-
Scaling Policy
- Configure dynamic scaling based on CPU utilization, network load, or queue length.
- Support both target tracking and step scaling policies.
-
Terraform Updates
- Update infra/aws-terraform modules:
- Create a new
.tffile for ASG configuration. - Add variables for
min_capacity,max_capacity, anddesired_capacity. - Expose outputs for ASG name and scaling policy ARNs.
- Create a new
- Maintain backward compatibility with static setups.
- Update infra/aws-terraform modules:
-
Documentation Updates
- Extend this
README.mdto include auto-scaling instructions. - Provide configuration examples for enabling/disabling ASG.
- Add sample thresholds for custom scaling behavior.
- Extend this
-
Optional Enhancements
- Integrate CloudWatch alarms for monitoring and alerting.
- Extend support for AWS Application Auto Scaling (ECS) for containerized deployments.
Benefits
- Automatically scales resources up or down based on load.
- Reduces operational costs during idle periods.
- Improves fault tolerance and resilience.
- Simplifies scaling for distributed workloads.
Impact
- Affects infrastructure configuration only.
- No changes to OWTF core codebase.
- Fully backward compatible: manual/static provisioning continues to work.
Next Steps
- Get maintainer approval for approach and implementation direction.
- Prepare a pull request including:
- New Terraform module for auto-scaling.
- Updated documentation and examples.
Checklist
- Maintainer review and feedback
- Implement Terraform ASG module
- Add input variables and outputs
- Update
infra/README.mdwith usage guide - Test auto-scaling in staging environment
- Submit PR for review
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels