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