all projects AI research / project 01

Using AI to Make Cloud Computing More Sustainable

78% of business leaders say they've adopted cloud technology — but more than half can't see the return on it. This project investigates whether a weighted scoring system combined with an LLM call can produce reliable, sustainability-first cloud deployment plans for startups who can't afford a consultant.

Official publication — Zenodo Open-access research record, citable with a permanent DOI
View record ↗

The gap this fills

Cloud data centres consume enormous resources — global water use alone exceeds 560 billion litres a year. But cloud computing also has real potential to cut environmental impact: moving common workloads to the cloud can reduce energy use by up to 87%. The problem isn't the technology, it's that small organisations rarely have a specialist available to make sustainability-literate deployment decisions. So I built one.

I looked at the two existing AI cloud advisory tools on the market first. Neither considers sustainability as a pillar of its recommendations, and one is locked to a single provider with under 5% market share. That's the gap.

78%
leaders adopted cloud tech (PwC)
560bn L
water used by data centres / year
87%
possible energy reduction via cloud migration
3–4K
words per generated deployment plan

How the decision matrix works

The agent takes six inputs — budget, storage needs, technical expertise, optional security and growth requirements, and a sustainability weighting from 1–100 — and scores Amazon Web Services, Google Cloud and Microsoft Azure against cost, scalability, sustainability (using PUE and WUE metrics), geographic coverage and security. Whichever priority the business names gets its weighting doubled before the final score is calculated.

code/main.py — calculate_scores()
def calculate_scores(inputs):
    """calculate scores using weightings"""
    cost_score = sustainability_score = security_score = 1.0
    scalability_score = complexity_score = customisability_score = 1.0

    # double the weighting of whatever the business says matters most
    if inputs["top_priority"] == "sustainability":
        sustainability_score *= 2
    elif inputs["top_priority"] == "scalability":
        scalability_score *= 2

    sustainability_score *= inputs["sustainability"]

    if inputs["expertise"] == "none":
        management_overhead *= 2
        complexity_score *= 2
    # ...scaled similarly for basic / moderate / high / expert

    return {"Cost": cost_score, "Sustainability": sustainability_score,
            "Scalability": scalability_score, "Security": security_score}

From code/main.py — weights are then multiplied against the provider scores read from the Excel decision matrix.

Why Gemini, not Vertex AI Agent Builder

I originally planned to build this on Google's Vertex AI Agent Builder — well documented, built for scale, and a natural fit for an agentic system. But once development started, the decision-matrix logic turned out to be more code-heavy than agent-shaped: a Python script plus a single API call suited it better, because the program is making calculated decisions rather than the model speculating, which cuts the risk of hallucination. So the plan shifted to the Gemini API directly, called via Google's newer google-genai library so the project could authenticate through Vertex AI without a billed API key.

code/main.py — get_recommendation()
def get_recommendation(winners, inputs):
    """create prompt and call Gemini API"""
    prompt = "You are an experienced, specialised cloud deployment advisor for startups."
    prompt += " Give a detailed explanation of why the chosen strategy is best suited for them"
    prompt += " and produce a step-by-step plan for deployment."
    prompt += " Specifically reference sustainability from water and energy usage —"
    prompt += " the aim should be to save these resources."
    prompt += f" Monthly budget: {inputs['budget']} USD."
    prompt += f" Storage requirements: {inputs['storage']} TB."
    # ...remaining inputs appended the same way

    response = client.models.generate_content(model="gemini-2.0-flash", contents=prompt)
    return response.text

A role-based and contextual prompt — the model is given a persona, then the calculated winners and raw business constraints, so it can explain rather than guess.

Testing against real companies

The first test used a synthetic startup — $200/month budget, 3TB storage, scalability as the top priority — and the agent returned a 4,000-word plan covering justification, sustainability practices, and a day-by-week-by-month rollout. To actually stress-test it, I then fed it the early-stage profiles of three real companies and compared its advice to the route they really took.

Airbnb
agent said Google Cloud · they chose AWS

Partial match — both public cloud. The mismatch on provider likely reflects Gemini's own bias toward Google Cloud, explored below.

Spotify
agent said Google Cloud · they chose Google Cloud

Exact match on provider and cloud type. Spotify actually migrated to GCP in 2016 for sustainability reasons — strong validation.

Duolingo
agent said Google Cloud (IaaS) · they chose AWS (PaaS)

Different provider, but IaaS and PaaS are one abstraction level apart with mostly overlapping features — a close result.

Full test case documents (Airbnb, Spotify, Duolingo, and the initial synthetic test) are in the results/ folder of the repository.

The honest limitation

There's a clear pattern across every test: the agent leans toward recommending Google Cloud. Since the system calls the Gemini API — itself a Google product — that's a real, acknowledged risk of (possibly unconscious, possibly hard-coded) bias toward its own ecosystem. A future version should call multiple models from different providers and combine the results rather than trusting a single LLM's judgement.

Ethics & data

Under GDPR Article 22, automated decision-making involving personal data carries specific obligations. Since this tool only ever processes business operating parameters — budget, storage, priorities — and stores nothing after the session ends, it stays clear of personal data handling entirely while still being designed with that regulation in mind from the start.

loading preview…
// full research paper

Using AI to Make Cloud Computing More Sustainable

Full background research, decision-matrix design, Gemini integration, all four test cases, and a complete Harvard-style bibliography — currently being prepared for further publications and journals.

Open full PDF ↗
anikagupte/cloud-deployment-agent Python · openpyxl decision matrix · Gemini API
Browse repository ↗
next project →
HG5_ELECTR!C — U18 VEX Robotics
View project