Modern, container like orchestration, but with VMs only
This post on hackernews Container technologies at Coinbase: Why Kubernetes is not part of our stack prompted a discussion about the movie Inception. In the movie they dream within a dream and then dream within a dream within a dream... what if we re-thought k8s with one simple rule: no dreams within dreams. If I'm running a VM, don't run another VM or container or any further virtulization because nothing good will come from it, just more and more complexity.
-
terraform to make new mediums, tiny, and large on cloud provider(s).
-
use latest fedora when possible.
-
script to make linux have dnf installs u need
-
script to change no. files. and/or add SWAP
-
script to do src installs of stuff not in dnf
Your cluster of VMs can still grow and shrink. You can orchestrate symphonies of pods and services just like before in k8s.
Meet your new orchestra:
provider | name of "thing" that runs | name of load balancer | more |
---|---|---|---|
aws | instance | lb | bucket |
DigitalOcean | droplet | loadbalancer | domain record ssh_key bucket |
Vultr | server | load_balancer | domain record ssh_key |
linode | instance | nodebalancer | domain record ssh_key |
compute_instance | compute_target_pool | bucket |
Examples:
- Video Sharing App, Day One all parts running on 1 tiny VM, $5.00 a month:
resource | thing | description |
---|---|---|
vm1,tiny | mysql | 1 central database, everyone talks to me |
vm1,tiny | webserver | handles incoming https requests, enqueues new jobs to worker(s) |
vm1,tiny | ffmpeg worker | converts uploaded videos into format needed |
cloud-storage | thumbnails and converted videos stored in a bucket |
- Video Sharing App, Day 30 each part has its own tiny VM, $15.00 a month:
vm | thing |
---|---|
vm1,tiny | mysql |
vm2,tiny | webserver |
vm3,tiny | ffmpeg worker |
cloud-storage |
- Video Sharing App, Day 90 mysql in medium VM, multiple webservers + workers:
vm | thing | cost |
---|---|---|
vm1,medium | mysql | $40.00 |
vm2.1,tiny | webserver | $5.00 |
vm2.2,tiny | webserver | $5.00 |
vm3.1,tiny | ffmpeg worker | $5.00 |
vm3.2,tiny | ffmpeg worker | $5.00 |
cloud-storage | variable | |
$60.00 a month |
See examples