On-Demand Server Provisioning with Infrastructure as Code
No Review
No Order

On-Demand Server Provisioning with Infrastructure as Code

Challenge:

The traditional manual process of requesting and setting up new server environments is a major bottleneck for many companies. This project aims to solve that by providing a fully automated, self-service platform for creating and managing virtual servers.

Deliverables:

  • IaC Module: 
    • A complete and reusable Terraform module to define and provision virtual machines, networking, and storage resources on a chosen cloud platform (e.g., AWS, GCP, Azure).
    • An Ansible playbook to handle the initial configuration of the provisioned servers, including installing necessary software (e.g., Docker, Node.js, Python), setting up user accounts, and configuring security.
    • This module will include at least two predefined templates for different server types (e.g., dev_server with limited resources and test_server with more resources).
  • Self-Service API & UI:
    • A RESTful API that allows users to programmatically request, start, stop, or destroy server environments.
    • A simple, user-friendly web-based UI (built with React, Vue.js, or a similar framework) that interacts with the API, allowing non-technical users to manage their servers through a dashboard.
  • Resource Management Module:
    • A mechanism or script for automated cleanup of idle servers to prevent resource waste and reduce costs. This script should be able to identify servers that haven't been used for a specified period (e.g., 7 days) and automatically terminate them.
    • A simple monitoring dashboard (e.g., using Grafana) to display resource consumption (CPU, RAM, Storage) and an alerting system to notify users before their servers are shut down.
  • Comprehensive Documentation:
    • A detailed README.md file that covers the project's architecture, setup instructions, tool dependencies, and usage guide for both the API and the UI.
    • This documentation is a key deliverable and should be clear and professional.

Expected Outcomes:

The delivered solution will be a practical, real-world product that showcases the freelancer's ability to solve complex infrastructure problems with automation, reducing costs and accelerating development cycles for clients.

Oliver Brown Inactive

Virtualization Engineer · Auckland Region, New Zealand