Die beste Möglichkeit, Ihren Service der Welt zu präsentieren - DHH spricht über Bare-Metal-Server und Kamal sowie die Philosophie von 'No Build'
Wenn Sie Rails lernen, kommt irgendwann dieser Gedanke auf.
"Jetzt möchte ich meinen eigenen Service wirklich im Internet veröffentlichen."
Meistens denken die Leute dann so.
"Soll ich AWS benutzen?"
"GCP soll gut sein"
"Docker bauen, CI erstellen, Kubernetes...?"
Und dann werden sie überwältigt.
"Das Bereitstellen ist schwieriger als Entwickeln, oder...?"
Das Cloud-Zeitalter von heute
ist zu einer Zeit geworden, in der den Entwicklern eine übermäßige Komplexität auferlegt wird.
Das ist kein Fortschritt in der Technologie,
sondern das Ergebnis unnötiger Abstraktion und steigender Kosten.
Deshalb hat DHH (Basecamp·Rails Gründer) erneut angefangen zu rufen.
"Verlasse die Cloud.
Kaufe einen Server.
Und deploye mit Kamal."
Dieses Argument ist kein einfacher Sturkopf.
Es dreht sich um realistische Kosteneinsparungen,
Verringerung der Schwierigkeit,
Maximierung der Geschwindigkeit und
Wiederherstellung der Würde der Entwickler.
Lassen Sie uns nun jeden Punkt erklären.
1. Was ist ein Bare-Metal-Server?
Cloud-Dienste wie AWS, GCP sind im Grunde genommen das vorübergehende Ausleihen eines Computers von jemand anderem.
Die Kosten sind hoch
Die Konfiguration ist komplex
Es gibt überall Kostenlecks
Bei einem Ausfall wird die Behebung schwieriger
Letztendlich wird es zu einer monatlichen Zahlung an die Cloud
Auf der anderen Seite ist ein Bare-Metal-Server:
Ein echter Computer (Server) im Besitz des Benutzers, der direkt in einem IDC-Rechenzentrum verwendet wird.
Die Vorteile sind offensichtlich.
Die Kosten sind unglaublich niedrig
Cloud kostet 1 Mio. Won pro Monat →
Gleiche Spezifikationen für Bare-Metal-Server kosten 150.000 bis 200.000 Won pro Monat
Und dieser Server gehört Ihnen.
Keine Schockrechnung.
Die Leistung ist stärker
Anstatt einen halb gefüllten gemeinsamen Server zu teilen,
nutzen Sie CPU, SSD, RAM zu 100% selbst.
Da die IO-Leistung und die Single-Thread-Leistung von Rails-Apps besonders wichtig sind,
sind sie auf Bare-Metal viel schneller.
Weniger Ausfälle
AWS hat jedes Jahr massive Ausfälle.
Aber Bare-Metal ist einfach ein "Computer",
es gibt keine Ausfälle aufgrund komplexer Netzwerkabstraktion.
2. Kamal - Ein Rails-Deploy-Tool, das Bereitstellung mit einem 'einfachen Befehl' ermöglicht
Kamal, das von DHH persönlich erstellte neueste Bereitstellungstool, ist genau das.
Kamal folgt genau der Philosophie von Rails.
Es mag keine Komplexität
Es mag Automatisierung
Es muss intuitiv sein
Was Kamal tut, ist einfach.
Auf Ihrem Server
laden Sie die Rails-App als Docker-Container hoch,
starten sie neu, verwalten die Protokolle
alles automatisch.
Die Bereitstellung endet so:
bin/kamal deploy
Mit Kamal
kann ein einzelner Entwickler eine professionelle Infrastrukturumgebung erleben, als ob es ein separates Bereitstellungsserverunternehmen wäre.
Zusammenfassung der Gründe, warum Kamal gut ist
Keine schweren und komplexen CI/CD erforderlich
Bereitstellung ohne GitHub Actions möglich
Keine Notwendigkeit, Kubernetes zu kennen
Automatische SSL-Ausstellung
Automatisiertes Docker-Management
Automatisierung von Server-Updates
Null-Ausfallzeit-Bereitstellung
Kamal ist der König der Einfachheit, von dem Rails-Entwickler träumen.
3. No Build - "Keine komplexe Build-Pipeline erforderlich"
Die heutige Entwicklungsumgebung ist seltsam geworden.
Frontend verwendet Webpack
Backend verwendet CI/CD
Docker Multi-Stage-Build
Terraform
Kubernetes
Cloud-Load-Balancer
Deshalb passiert es Anfängern:
"Ich habe noch keinen Service,
aber 3 Wochen nur für die Infrastruktur..."
Ist das normal?
DHH sagt.
"Entfernen Sie die Build-Pipeline."
"Das Minimum an Schritten reicht aus."
"Entfernen Sie alle Zwischenschritte zwischen Entwicklung, Bereitstellung und Betrieb."
Kamal setzt diese Philosophie um.
Es gibt keine zusätzlichen Build-Server.
Keine CI-Pipeline erforderlich.
Ein Dockerfile reicht aus.
"Code schreiben → Docker-Image erstellen → Auf dem Server bereitstellen → Fertig."
Diese Einfachheit
gibt Gründern eine entscheidende Geschwindigkeit.
4. Warum ist es besser, keine Cloud zu verwenden? (Die wirklichen Gründe)
Dies ist kein emotionaler Standpunkt, sondern
eine tatsächliche Veränderung, die derzeit weltweit stattfindet.
Die Cloud frisst die Kosten von Startups auf
Jeden Monat 1 Mio. Won, 2 Mio. Won
Wenn der Service etwas größer wird, übersteigt es 10 Mio. Won.
Aber Bare-Metal-Server
enden bei 150.000 bis 300.000 Won pro Monat.
Die Cloud verlangsamt die Entwicklung aufgrund ihrer Komplexität
AWS hat zu viele Komponenten.
VPC
Subnet
Security Group
IAM
ALB
ASG
ECS/EKS
NAT Gateway...
Es dauert über 6 Monate, all dies zu lernen und zu verstehen.
In dieser Zeit
hat ein Rails-Entwickler bereits 3 MVPs erstellt und veröffentlicht.
In der Cloud gibt es keinen Weg, Ausfälle zu vermeiden
Ein AWS-Ausfall =
Explosion der Unzufriedenheit aller Kunden.
Mit meinem eigenen Server kann ich das Problem direkt sehen und sofort beheben.
Rails erzielt die beste Leistung in der Kombination aus Bare-Metal + Kamal
Rails strebt nach einer "Entwicklungserfahrung, bei der Services sofort bereitgestellt werden".
Kamal passt perfekt dazu.
5. Der Weg, mit minimaler Besetzung ein Einhorn zu werden?
→ Rails + AI + Bare-Metal + Kamal
Diese Kombination ist ehrlich gesagt zu stark.
Rails → Nummer 1 in der Entwicklungsgeschwindigkeit
AI → Automatisierung von wiederholten Aufgaben
Bare-Metal → Kosteneinsparung + hohe Leistung
Kamal → Stressfreie Bereitstellung
Wenn Sie alles kombinieren?
Eine Person erreicht die Produktivität eines 10-köpfigen Teams.
Zwei Personen ersetzen ein 50-köpfiges Team.
Die Einnahmestruktur wird leichter, die Produktveröffentlichung beschleunigt sich, der Marktrückkopplungszyklus beschleunigt sich, die Möglichkeit eines Einhorns steigt.
Tatsächlich sind Basecamp, HEY, Shopify in den Anfangsphasen und GitHub in den Anfangsphasen alle
mit "wenigen Mitarbeitern + Rails + einfacher Infrastruktur" gewachsen.
In der Ära der KI wird diese Strategie sogar noch stärker.
Fazit - Wenn Sie Ihren Service im Internet veröffentlichen möchten, gehen Sie nicht in die Cloud, sondern auf Ihren 'eigenen Server'.
Bare-Metal ist günstig, schnell und einfach.
Kamal ist einfach und leistungsstark.
Rails ist überwältigend produktiv.
AI erweitert die Größe Ihres Teams um das 10-fache.
Diese Kombination
bietet selbst Anfängern,
Einzelunternehmern,
kleinen Teams
Geschwindigkeit und Kostenstruktur, von denen sie in der Vergangenheit nicht einmal geträumt haben.
Deshalb können wir sagen.
"Die Einhörner der Zukunft entstehen
durch die Methode Rails + AI + Bare-Metal + Kamal."
Und dieses Einhorn
könnte genau Ihr Service sein.
