Oplossingen · Containers
Hoeveel server heeft Docker nodig?
Containers zijn processen die één kernel delen, geen kleine virtuele machines. De daemon gebruikt ongeveer 100 MB en alles daarna zijn gewoon uw eigen processen. Het antwoord is dus kleiner dan de vraag doet vermoeden: een proxy, een app, een database en een cache komen samen op ongeveer 515 MB, wat ruim past op BD-8 voor $12.90.
Wat een container werkelijk gebruikt
Bereiken, geen benchmarks
Uw image, configuratie en verkeer beïnvloeden deze waarden meer dan welke tabel ook. Draai docker stats op uw eigen stack: dat is het enige getal dat voor u geldt.
| Container | Gemiddeld geheugen | Past op BD-8 (8 GB) |
|---|---|---|
| Een reverse proxynginx, Caddy, Traefik | 15–60 MB | 129 aan de bovenkant |
| Een kleine webappNode, Python, Go: één proces | 60–200 MB | 38 aan de bovenkant |
| PostgreSQL of MySQLkleine dataset, standaardpool | 200–500 MB | 15 aan de bovenkant |
| Redisals cache, begrensd door maxmemory | 20–200 MB | 38 aan de bovenkant |
| Een JVM-dienstJava, Kotlin, Elasticsearch | 500–2000 MB | 3 aan de bovenkant |
De rekensom
Wat elk pakket aankan
Geheugen, min 300 MB voor het besturingssysteem en 100 MB voor de daemon, gedeeld door wat uw containers gebruiken. De middelste kolom is een complete stack (proxy, app, database, cache) van ongeveer 515 MB.
| Pakket | RAM | Complete stacks | Kleine apps | Schijf | Prijs | Implementeren |
|---|---|---|---|---|---|---|
| VPS-1 | 1 GB | 1 | 3 | 25 GB | $9.90 | Implementeren |
| BD-8 | 8 GB | 15 | 38 | 100 GB | $12.90 | Implementeren |
| BD-12 | 12 GB | 23 | 59 | 200 GB | $17.90 | Implementeren |
| BD-24 | 24 GB | 46 | 120 | 300 GB | $31.90 | Implementeren |
Schijfruimte is de tweede verrassing, en die komt pas later: images, volumes en logs stapelen zich ongemerkt op. Zet docker system prune in een wekelijkse cron voordat het dringend wordt, niet erna.
Tegen onszelf
Wanneer u dit niet moet kopen
Een beheerd containerplatform kost meer omdat het het beheer doet. Dat is iets reëels om te kopen.
Een VPS geeft u root en legt de updates, de herstarts, de certificaten en de nachtelijke storingsmeldingen bij u. Dat is aanzienlijk goedkoper en het is echt meer werk. Wilt u dat werk niet, dan is een beheerd platform het eerlijke antwoord, en we verwijzen u daar liever naar dan dat we een machine verkopen die verwaarloosd raakt met een ongepatchte daemon die openstaat naar internet. Twee kleinere onderdelen van hetzelfde advies: stel voor elke container een geheugenlimiet in, zodat een container die zich misdraagt stopt in plaats van uw database, en gebruik geen Kubernetes op één machine. Een orchestrator zonder iets om in te plannen is alleen maar complexiteit.
Vragen