全世界都是你的工作室: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 第 12 期:Bear 修改授權條款

通常開源專案需要面對長期維護的問題,而長期維護需要人力(開發者)物力(伺服器與基礎建設),個人開發者來說是個負擔。有些專案會有企業贊助,有些專案則是替用戶提供顧問與服務來收費維持。 這期選了 Bear 修改授權的新聞,也因為這則新聞,順道看了 Sentry 的授權模式。我們都希望擁有健康的開發生態,而授權條款很大程度左右了這點。 🗞️ 熱門新聞 Bear changes license to Elastic License Blog 平台工具 Bear 修改授權,原本是 MIT,現在改用 Elastic License。 看開發者的說法,原因是有人搭便車,fork 完直接部署成服務賣錢。開源不是免費勞工,這樣確實有點過分。Elastic License 的差別是不准以託管方式提供服務,算是補上這個洞。 相對 AGPL 來講,有時這種個人開發的小型專案,也不追求產業影響力,直接用 EL

By Ken Chen

Weekly Issue 第 11 期:AI 代理人插件可能存在資安風險

Preplexity 跟 Anthropic 等公司開始讓瀏覽器 AI 代理化,資安領域專家 Simon Willison 指出這可能會導致眾多資安漏洞出現。我建議兩邊的意見都可以看看,Anthropic 為了防堵問題,也下過不少功夫,看完後你會比較知道該如何使用 AI 代理。 另外這期特別喜歡 Mike Sun 談台灣的產品經理遇到的挑戰,我現在不太建議新人直接在台灣當產品經理,舞台太小,成長空間有限,會影響日後發展。如果真的對產品很有興趣,可以先到其他地方建立起正確的產品觀後,再回到台灣發展。 🗞️ 熱門新聞 Piloting Claude for Chrome Anthropic 最近推出 Chrome 用的 Claude 插件,但是依照說明文件:「當我們在自主模式中加入安全防護機制後,成功將 23.6%的攻擊成功率降低至 11.2%。」 儘管 Anthropic 特地專文說明它們的防護措施,

By Ken Chen

Weekly Issue 第 10 期:AI 機器人正造成網站負擔

隨著 LLM 變成日常的一部分,它們也在改變原有的網路生態。Fastly 的報告顯示,AI 機器人每分鐘可對網站發起高達 39K 次請求,日後造訪網站的,可能大多是機器人,而不是真人。 🗞️ 熱門新聞 Fastly warns AI bots can hit sites 39K times per minute 繼上次 Codeberg 的新聞後,Fastly 出報告指出 AI 機器人正造成網站營運負擔。 大多觀點延續幾個月來的趨勢:「網站負載增長主要並非來自人類訪客,而是代表聊天機器人公司運作的自動爬蟲與抓取程式。 」值得注意的是,AI Fetcher 的數量也在增加中,我猜這多少暗示了用戶搜尋資料的行為正在變化。 Meta 占了所有 AI 流量的 52% 🙄 ,相對下 Anthropic 只佔 3.76%

By Ken Chen

Weekly Issue 第 9 期:Ghost 發布 6.0 版本

Ghost Release 新版了!距離上次大版號更新,已經過了 3 年多,這幾年來,創作者經濟變化得很快,Ghost 也嘗試讓創作者更容易經營自己的內容。 我會等 6.0 發布一陣子,穩定下來後才會更新。很期待他們下一步會是什麼。 🗞️ 熱門新聞 Ghost 6.0 Ghost Release 6.0。 兩個重量級更新:支援 ActivityPub,讓 Ghost 可以 Leverage 社群媒體分發渠道;以及內建 Analytics,支援流量分析。這剛好就是兩個我最想要的功能,Great Work。 常說經營內容的痛點在,不知道如何發佈內容,不知道訪客從哪來。當然這都可以用工具協助,例如設定 GA、或者使用 Postiz 等來經營社群,可是我覺得一個好的平台應該要替創作者處理掉這些事,Ghost

By Ken Chen