Ich sehe es als Quatsch an, dass ein dedicated Server die Lösung ist, wenn es "erst" wird oder wenn man auf Performance ausgeht.
Es kommt natürlich immer auf das Projekt an, aber pauschal hat man mit einem Hardware Server erstmal mehr Aufwand und Risiko im Vergleich zu einem virtuellen Server.
Mit einem virtuellen Server hat man auch keine Performance Einbuße - oft laufen die sogar schneller, weil darunter entsprechend starke Kisten laufen, die man als eigen Hardware NIE für den Preis bekommen würde.
Man sollte dann natürlich nicht einen Billig-Hoster wie Strato oder co wählen wo es nur zählt, dass man möglichst viele Kunden auf ein System bekommt. Dort hat man tatsächlich Einbuße - das hat aber nichts mit einem virtuellen Server an sich zu tun.
Bei einem dedicated Server hast du schnell extreme Kosten, wenn die Verfügbarkeit wichtig ist - bei einem virtuellen System werden die HA Kosten auf alle Kunden aufgeteilt (z.B. redundante Netzteile, anständige RAID Systeme, Failover Systeme, Nodes zum ausweichen,..).
Folgende Probleme fallen mir beispielsweise direkt mal ein:
- HW-Upgrades: du hast einen dedicated Server: super! Aber inwieweit bist du damit skalierbar? Meistens nicht großartig. Hardware Systeme die pauschal viel RAM & CPU sowie festplatte schlucken können haben schon mega Grundkosten: egal ob du den RAM direkt voll baust oder später nachrüstest. Bei einem virtuellen Server kannst du jederzeit, meistens per Knopfdruck aufrüsten. Je nach Anforderung/Ziel ist bei einem Container nicht mal ein Reboot nötig.
- Backups: hier musst DU dir Gedanken machen, wie du das lösen willst und bist auch selber dafür verantwortlich das ganze zu überprüfen. Wieso diesen Aufwand betreiben? Viele Hoster bieten Backups an, welche automatisch überwacht werden und auch selbständig wiederhergestellt werden können.
- Ausfall: ist die Kiste weg, ist alles offline. Bei guten Providern sitzen die virtuellen Server nicht auf einer lokalen Festplatte sondern auf einem zentralen Storage: wenn man ein Host abschmiert wird die VM einfach auf einem anderen gestartet. Auch hast du keine Ausfälle, wenn mal Wartungen anfallen, weil deine VM vorher (meistens live) auf ein anderen Node geschoben wird.
Zum Vergleich:
neue Festplatte im dedicated Server? => Reboot!
weiterer RAM im Server? => Reboot!
...
Worauf ich hinaus möchte ist: wenn du gemietet oder eigene Hardware verwendest, brauchst du verschiedene Konzepte und musst deutlich mehr Aufwand betreiben deine Systeme am leben zu lassen: dein Hoster wird bestimmt nicht regelmäßig (wenn überhaupt) die SMART Werte deiner Platte prüfen, bevor sie dann irgendwann abraucht (Außer du bezahlst ihn dafür).
Hardware zu mieten bedeutet Aufwand, bedeutet Risiko. Das würde ich vermeiden (grade am Anfang).
Natürlich ist ein virtueller Server dann nicht für Strato Preise zu haben, bietet dir aber mehr Flexibilität und erspart die viel Arbeit, welche dann vom Hoster erledigt wird.
Sorry für eventuelle Fehler beim schreiben, es ist spät - wollte es aber nochmal los werden. Wenn mehr Interesse besteht: einfach melden - ich kann die einzelnen Punkte dann noch weiter ausführen.