我曾經認為自我託管只是系統管理員或家庭實驗室專家才會做的事情。
您知道,這些人在地下室執行 Proxmox 叢集並在聚會上談論 ZFS。
但後來我自己託管了我的第一個服務。
一切都改變了。 (此處插入戲劇音樂)
如今,我經營著Sliplane.io ,一個用於託管 Docker 主機的平台,但這一切都始於一件非常簡單的事情:在我十幾歲的時候,為朋友們啟動了一個 Minecraft 伺服器。
雖然我當時並不知道,但自主託管的決定讓我走上了成為雲端基礎設施工程師、建立分散式系統並最終創辦自己的雲端公司的道路。自行託管不只是為了省錢或脫離電網。
它是關於學習推動網路發展的技能並解鎖您可能還不知道的機會。
這就是為什麼我相信每個開發人員都應該至少進行一次自我託管。
當你自己託管某些東西時,你會超越「npm start」並開始像操作員一樣思考。
您需要:
使用類似 systemd 或 PM2 的工具確保您的應用程式不會靜默崩潰
向外界公開正確的端口
重啟後保留資料
了解作業系統如何管理服務和文件
您不再只是像開發人員一樣思考,而是開始像負責保持系統上線的人一樣思考。
這不是你透過推送到 Heroku 或點擊部署按鈕就能學到的東西。 (是的,對於一個建置了此類平台的人來說,這很諷刺)
自架迫使你弄清楚:
DNS 記錄的工作原理
反向代理的作用
如何頒發 SSL 憑證
導致錯誤路由請求的原因
當我 13 歲時,我根本不知道 CNAME 是什麼。我只是希望我的 Minecraft 伺服器能夠透過一個好看的網域存取。
但在此過程中,我學到的有關 DNS、NAT 和連接埠轉送的知識比我在學校(甚至大學!)學到的還要多。
這些技能同樣適用於 Kubernetes 和雲端基礎架構等現代化堆疊。基本面沒有改變。
當你將軟體暴露在網路上時,你會開始提出更好的問題:
是否有一個向全世界開放的管理面板?
我的資料庫是否受到強密碼保護?是否應該揭露?
我是否正確使用了 HTTPS?
如果您曾經意外地將 ssh 實例或 Redis 連接埠暴露在外,您很快就會發現網路並不是一個友善的地方。只需查看您的伺服器上有多少次不是您本人發起的 ssh 登入嘗試!
這些課程可以讓你成為更好的開發人員。您不再僅僅為了功能而建置,而開始考慮安全性和彈性。
我從未打算學習 DevOps。
我只是想執行一些個人使用的服務。一個網站。 Minecraft 伺服器。文件同步工具。
但我最終了解到:
Docker 和 Docker Compose
持久捲和健康檢查
如何從崩潰中恢復
如何實現自動化部署
那次偶然的教育讓我萌生了對兔子洞的嚮往,最後也成為了我的職業。後來,我從事了嚴肅的生產基礎設施工作,早期的自架經驗給了我巨大的優勢。
您無需成為 DevOps 工程師即可從中受益。自託管為您提供了網路如何運作的心理模型。無論您建造什麼,這都是有價值的!
自託管教您如何解決現實世界中的問題。
透過 SSH 進入伺服器並讀取日誌?沒問題
除錯 DNS 問題?你以前做過
無需停機即可遷移資料庫?你知道要注意什麼
一旦您自己託管了某些東西,生產環境就不再可怕了。
您將熟悉保持實際應用程式在線的工具和流程。
您的思考方式像一名建設者,而不僅僅是一名程式設計師。
十幾歲時託管 Teamspeak 和 Minecraft 伺服器最終成就了更大的事業。
我成為了一名雲端基礎設施工程師。我開始建造自己的編排器。
最後我推出了Sliplane.io ,這是一個幫助開發人員執行和管理容器的平台,無需處理 Kubernetes 或 AWS 的複雜性。
我不是唯一一個有這種故事的人!許多獨立駭客、自由工作者和新創公司創辦人都是從自行託管某些東西開始的。
那一小步激發了好奇心並打開了大門。
如果你現在開始,還不算太晚。自行託管一個工具可以帶來真正的職業生涯並賦予您作為開發人員的超能力。
您不需要一架伺服器或大量時間自行託管一些有用的東西。
我總是建議託管一些你每天都會用到的東西。如果您需要一些想法,這裡有一些不錯的選擇:
n8n ,實現無程式碼工作流程自動化
Uptime Kuma監控您的網站
Plasible Analytics專注於隱私的網路分析
使用 Adminer 來探索 Postgres資料庫
Caddy 或 Traefik用於自動 HTTPS 和反向代理
選擇一個並將其部署在便宜的 VPS 上。您可以在 Hetzner 免費獲得 20 歐元。這足以執行伺服器約 4 個月:)
打破事物。修復它們。再次打破它們。
您在一個週末學到的知識比一個月的輔導學到的知識還要多。
您不需要自行託管一切。
您不需要成為系統管理員。
但你至少應該嘗試一次。
從小事做起。開始凌亂。現在就開始。
你可能會感到驚訝:)
乾杯,
Jonas, Sliplane.io共同創辦人
原文出處:https://dev.to/code42cate/every-developer-needs-to-self-host-43mm