DigitalOcean create droplet

{
  "name": "example.com",###
  "region": "sfo",$$$
  "size": "s-1vcpu-1gb",$$$
  "image": "debian-13-x64",$$$
  "ssh_keys": [
    "50508378" ##
    ],
  "backups": false,
  "ipv6": true,
  "monitoring": false,
  "tags": [
    "env:prod",
    "ivps" ###
  ],
  "user_data": "#cloud-config\nruncmd:\n  - touch /test.txt\n",$$$
}

User Inputs are

region(?computed), size[1gb,512mb], image?, userdata?

Vultr

{
    "region": "<string>",$$$
    "plan": "<string>", $$$
    "os_id": "<integer>", $$$
    "ipxe_chain_url": "<string>",
    "iso_id": "<string>",
    "script_id": "<string>",
    "snapshot_id": "<string>",
    "enable_ipv6": true,
    "label": "<string>", ###
    "sshkey_id": [
        "<string>" ##
 
    ],
    "backups": false,
    "user_data": "<string>", $$$
    "ddos_protection": "<boolean>",
    "activation_email": "<boolean>",
    "hostname": "<string>", ###
    "tag": "<string>", ###
}

For both providers, the needed user inputs are

region, plan, os, user_data

Custom ISO

  • cost money on DO
  • free on Vultr but require a remote URL

Delete VPS
DigitalOcean

  • by id

Pricing table titration

  • 512MB actual - 0.006
  • 1gb actual - 0.009
Times-1-0.5s-1-1
150.010.01
300.010.01
450.010.01
580.010.01
1180.010.02
1780.020.03
2380.020.04
2980.030.04
3580.040.05
4180.040.06
4780.050.06

Pricing structure (time in minute)

price = max(round(time/60*price,2),0.01)

Client sided ping
https://www.cloudping.info/

Location selection algorithm

  • closest to client
  • on path preference
  • closest to origin
  • vpc hopping