全世界都是你的工作室:GCP 的雲端開發環境

最近看到 Heron 的 Medium 在討論使用 iPad 來開發程式,深深被 Thin Client 給感動了。如果能從硬體裝置中解放,不用開發程式前還需要花費大把時間精力來架設環境,那我們就能更快驗證,更快學習,更快迭代,把時間花在重要而有價值的事上。

Thin Client 的概念說來單純,我們可以將所有能連上網路的介面都可以當成終端,在傳統開發環境中,終端跟運算是放在同一台機器上,輸入完成後,使用機器的資源來進行運算,像是編譯程式、執行與提供服務;但自從有了雲端後,可以將這類運算都交由雲端處理,只要有個合用的終端介面能輸入與呈現資訊,就能得到運算結果。

Apply GCP free plan

既然運算資源放在雲端,首先要申請一個雲端帳戶,這邊以 GCP 的免費方案為例,首先點選 GCP 的免費試用

GCP 的免費方案提供 $300 刀的額度,還有 12 個月的使用時間,可以使用 GCP 上所有服務,如果是小型或低成本的運算,甚至不用動到 $300 的費用。

選擇國家/地區後,按[繼續]進入第二頁

第二頁要填入個人資訊,還需要一張信用卡卡號。依照 Google 的說法,信用卡是為了驗證身分。要注意 GCP 不支援 JCB,請用 Visa/Master Card 來申請。

Create Project

進入 GCP 首頁後,可以先創建一個新的 Project,來放置要測試的東西,點選 Google Cloud Platform 旁的 Project 名稱,再點選跳出視窗右上角的 New Project

填入 Project name 跟要放置的 Folder,例如 Linux VM,完成 Project 的建置。

Create VM instance

有了 Project 後,可以在裡面創建需要的雲端服務,因為主要目的是驗證 Thin Client 是否可行,選擇創建一個 VM 實例來進行登入。要創建 VM 實例可以點選 Menu 中的 Compute Engine > VM Instances,選擇 Create

Create 的選項有很多,參照 GCP 的免費方案說明,使用 Region 為 us-central1 (Iowa),Machine Type 為 f1-micro

Boot Disk 看個人習慣,我平常用的環境是 Ubuntu 18.04 LTS,這邊選同樣的,如果有習慣 Debian 或其他 Distribution 的人,也可以自行選擇

點選[Create],完成 VM 創建。

Setup SSH

在終端安裝 SSH 的 Client,例如 Windows 常用的 putty,或者 Termius 這款 App。沒有 SSH Key 的人需要使用程式產生出 SSH Key,再將 Private Key 指定給 SSH Client,同時將 Public Key 放置到雲端。產生 Key 的步驟就不多說了,Windows 下的使用者可以用 PuTTYgen 來產生,Linux 使用者可以用 ssh-keygen。

有 Public Key 後,要將它放到雲端,方便以後登入。選擇 Compute Engine 中的 Metadata,點選 SSH Keys,可以管理金鑰。點選 Add SSH keys 來加入自己的 Public Key

加入後回到 VM instances,查看對應的 External IP,使用 SSH Client 輸入 user@address,登入 VM instance,記得 user 是要 key 對應的 user,address 是要 External IP。驗證看看能否登入。

小結

自從雲端的商業模式建立起來後,許多做法都會跟著改變,這是一個思維上的轉換,以前需要的東西有可能被淘汰掉,而新的需求會被創造出來。如果可以用 GCP 處理掉伺服器,我沒必要再去購買伺服器的硬體來自行架設網站,不但比較便宜,也省掉 Maintain 的 Effort。同時,高效能對 Laptop 也不會再是議題,取而代之的,應該是穩定而快速的網路服務配上輕便的終端顯示器。

最後放張完成圖,紀念一下。

Reference

Read more

Weekly Issue 第 4 期:Canonical 的面試經驗

這星期看了比較多職涯相關的內容,最讓我驚訝的是 Canonical 的面試流程,當我分享這則新聞後,有更多朋友紛紛補充他們的面試經驗:需要經歷三個 Tier,每個 Tier 都有三關,而內容甚至還包括問人選「高中成績」與「大學生活」。 我很難想像一家做 Linux 發行版的公司,會如此草率對待人選,這讓我對他們家的產品有了很大的問號。 🗞️ 熱門新聞 My experience with Canonical's interview process 這是一篇 Canonical 的面試經歷(如果你不知道什麼是 Canonical,就是開發 Ubuntu 的公司)。 整個過程讓人非常驚訝,甚至還需要人選回答「高中成績」,而在面試中做筆記居然是扣分項。我看完後有股移除 Ubuntu 的衝動。真的太扯啦。 What happens when engineers work

By Ken Chen

Weekly Issue 第 3 期:Cloudflare 宣布內容獨立日

最近用了很多 Cloudflare 的產品,像是 Zero Trust、WARP,還有 Cloudflare Tunnel。每次的體驗都讓我嘖嘖稱奇,好像它們預判了我的需求一樣。這家公司始終追求著「更好的網路」這個目標,內容付費又是另一個例子。 🗞️ 熱門新聞 Content Independence Day: no AI crawl without compensation! 賽博佛陀 Cloudflare 又來普渡眾生了。這次是針對 AI 爬蟲收費。 「網路正在改變。它的商業模式也將改變。在這個過程中,我們有機會從過去 30 年網路的優點中學習,並為未來的網路創造更好的環境。 」 Cloudflare 真的很有意思,連思考的角度都很有趣。 內容當然是有價的,只是價格會怎麼支付呢?在現代的內容創作,這題變得非常複雜。 Folklore.org: Joining Apple Computer

By Ken Chen

Weekly Issue 第 2 期:Linux 基金會啟動 FAIR 專案

有些產品看到會覺得行不通,有些產品則相反,只要聽到就覺得是個好主意。Sentry 的產品通常都是後者。我猜有部分,也是因為它們的產品都指向同一個使命:可除錯性。 🗞️ 熱門新聞 Linux Foundation Announces the FAIR Package Manager Project for Open Source Content Management System Stability Linux 基金會啟動 FAIR 專案,為 WordPress 外掛程式提供替代方案。 底下的 Supporting Quotes 可以看看,講話都很客氣,左一句「去中心化」右一句「透明的治理架構」,在講什麼大家都很清楚 😜 。 Uber 與 Airbnb 重塑 VC 玩法,一文看懂 a16z 創辦人

By Ken Chen