Context
TechCorp, a cloud services provider, is expanding its infrastructure by acquiring 100 new bare-metal servers. Currently, the OS installation process is manual, taking approximately 2 hours per server, leading to inefficiencies and potential inconsistencies in configurations. The goal is to automate the OS installation to reduce setup time and ensure uniformity across all servers.
Scale Requirements
- Number of Servers: 100 bare-metal servers
- Installation Time: Target to reduce installation to under 30 minutes per server
- OS: Ubuntu 22.04 LTS
- Configuration: Include necessary packages (Docker, Nginx, etc.) and security settings
- Network: Each server must connect to a private network for internal communication
Requirements
- Develop an automation script using tools like Ansible or Terraform to provision and configure the servers.
- Implement PXE booting for network-based installation of the OS.
- Ensure that all servers are configured identically with pre-defined security policies.
- Include a logging mechanism to capture installation success/failure and configuration details.
- Create a monitoring dashboard to track installation progress and server health post-setup.
Constraints
- Infrastructure: Limited to existing data center resources (no additional hardware for automation tools)
- Budget: Automation tools must be open-source or have minimal licensing costs
- Compliance: Must adhere to internal security policies regarding software installations and configurations.