banzaicloud / telescopes

Telescopes is a cloud instance types and full cluster layout recommender consisting of on-demand and spot/preemptible AWS EC2, Google, Azure, Oracle and Alibaba cloud instances.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

multi cloud recommendation

prekoa opened this issue · comments

Add new API endpoint (POST) to recommend multiple cloud providers. The requested services, continents and response per services can be specified in the request.

example:

  • request:
{
    "providers": [
        {
            "provider": "amazon",
            "services": ["eks", "pke"]
        },
        {
            "provider": "google",
            "services": ["gke"]
        }
    ],
    "continents": ["Europe", "North America"],
    "respPerService": 5,
    "clusterRecommendationReq": {
        "sumCpu": 10,
        "sumMem": 20,
        "minNodes": 1,
        "maxNodes": 10,
        "onDemandPct": 30
    }
}
  • response:
{
    "eks": [
        {
            "provider": "amazon",
            "service": "eks",
            "region": "us-east-2",
            "nodePools": [
                {
                    "vm": {
                        "Category": "General purpose",
                        "type": "t3.small",
                        "avgPrice": 0.0063,
                        "onDemandPrice": 0.0208,
                        "cpusPerVm": 2,
                        "memPerVm": 2,
                        "gpusPerVm": 0,
                        "burst": true,
                        "networkPerf": "Low to Moderate",
                        "networkPerfCategory": "low",
                        "currentGen": true,
                        "zones": null
                    },
                    "sumNodes": 3,
                    "vmClass": "regular",
                    "role": "worker"
                },
                {
                    "vm": {
                        "Category": "General purpose",
                        "type": "a1.medium",
                        "avgPrice": 0.0049,
                        "onDemandPrice": 0.0255,
                        "cpusPerVm": 1,
                        "memPerVm": 2,
                        "gpusPerVm": 0,
                        "burst": false,
                        "networkPerf": "Up to 10 Gigabit",
                        "networkPerfCategory": "high",
                        "currentGen": true,
                        "zones": null
                    },
                    "sumNodes": 4,
                    "vmClass": "spot",
                    "role": "worker"
                },
...