弦而時習之

Deis 架構分析(二)

延續上一篇的內容,這篇文章要先來討論比較好懂的 Router 部分。

首先,在 Deis 的設計裡面,基本上所有的服務都是包成一個 Image 作為 Continaer 在 CoreOS 運行的。就這點來看,其實是非常符合 Mircoservice 架構的設計。同時我們也可以很輕鬆地將這些服務獨立出來使用,這篇文章討論的 Router 除了原本的用途外,也很適合用來學習透過 etcd 部署自動化更新設定檔的環境。

Deis 的原始碼都放在一起,其中 Router 部分是裡面的一個子目錄,那麼就讓我們開始了解運行的架構吧!

Deis 架構分析(一)

最近隨著 Container 技術的成熟,以及 CoreOS 等工具的出現。開始有一些 PaaS 的工具出現,而 Deis 就是其中一個。

Deis 本身是受到 Heroku 所啟發的開源 PaaS 專案,透過 Deis 可以輕鬆的建構 Heroku-like 的 PaaS 環境,若是有能夠管理伺服器的人員,其實可以考慮以這種方式部屬網站。相對 Heroku 來說,基本的 CoreOS Cluster 只要三台機器,以 Linode 2GB 的方案來看,甚至還比 Heroku 單個 2x dyno 還便宜呢!

關於 Deis 的架構,在官方的文件已經有做出說明,所以這系列的文章著重在閱讀原始碼以及探討關於 Deis 是如何實踐 Heroku-like 的 PaaS 環境。

我本身是 Heroku 的重度使用者,因為透過 git 管理以及豐富的 Addon 在開發時其實是非常方便的。 不過有時候還是會受到一些限制,這時候 Deis 就提供了很大的幫助。不過這類 PaaS 工具其實還不能說非常成熟,使用上還是會有不少問題,透過了解底層的機制來建構一個自己的版本,在某些情境反而更加容易控制跟維護。

PaaS 入門指南(四)

終於,要到完結篇了(誤 這篇介紹完 Heroku 之後,就會開始寫進階運用的部分。 (其實已經冒出幾篇,基本上不會針對 PaaS 而是一些在 Heroku 上面的運用做討論。)

不過,寫這篇之前,其實我很想寫一下 Unreal Engine 4 collaboration with SVN 這篇,因為最近 UE4 推出,雖然台灣地區還沒開放購買(月費約台幣六百,買一次就可以拿到該月版本,可不續費更新)但是同學硬是找到原始碼(其實就在 Github 只不過付費用戶才能看到)

經過幾番波折,就這樣成功在 Windows / Mac 上跑起來,於是就開始了 UE4 研究之旅。 總之,下一篇大概就是 UE4 的 SVN (各種雷,完全找不到「SVN update」的功能⋯⋯卻可以 commit 啊)

Travis CI 的 Deploy 功能

最近收到一個 Issue 是關於我製作的 Heroku Buildpacks 有問題,沒辦法使用 Travis CI 的 Deploy 功能。

因為寫 Test 的習慣養成挺困難的,再加上獨自開發與大多是半遊玩性質的關係,其實幾乎沒有使用 Travis CI 的習慣,不過這次因為這個 Issue 我稍微研究了 Travis CI 的功能以及 Deploy 功能。

這算是一個很方便的功能,尤其是網站專案來說,如果在 Deploy 後馬上就發生問題,也是非常不方便。那麼,一般 Git 的專案來說,我們通常都是直接進行 Deploy 即使在本機事先做過一次測試,但是總是會有忘記的時候。

此時,透過持續整合服務的自動 Deploy 功能來協助,就可以在確保所有測試都沒問題的狀況下才進行 Deploy 也比較能夠自動化。

PaaS 入門指南(三)之二

據說PaaS 入門指南(三)網址設錯,我要開始寫才發現 XD

這篇文章會來示範如何用 OpenShift 架設 WordPress 網誌,在此之前要先告知大家。 最近 AppFog 決定改變方針,已經註冊的用戶免費方案降為 512MB 而之後不開放免費方案申請(假設經驗是對的,過幾年 AppFog 的免費用戶大概就會被停了吧 XD 上次是取消網址⋯⋯)

也因此,之後的文章講完基本運用後,就不會另外提 AppFog 的使用(畢竟我目標再讓大家先免費體驗,然後選擇喜歡的付費嘛~) 當然,我主要還是討論 Heroku 的運用(不過那是進階了,需要有一定基礎知識的人才能夠玩起來~)

那麼,我們進入正題。

PaaS 入門指南(三)

過年我就淡定放假不寫文了(被拖走 根據 Google Analytic 統計,週二的這篇文章會讓訪客增長 XD

上一篇極其混亂的 PaaS 入門指南(二)已經簡易的向大家介紹相關工具的安裝(各種痛苦啊那個,感覺 AppFog 的對 Windows 比較友善⋯⋯)

這篇我們先休息一下,因為我發現字太多我寫很累看的人好像也很累 XD 先來簡易介紹一下 AppFog / OpenShift 的快速安裝功能。

Using Laravel and HHVM on Heroku

會寫這篇是前一陣子 HHVM 突然又被大家撈起來討論,看起來應該是有啥新進化吧 XD 那時身為專業的阿宅,一定要馬上裝來玩一下。

隨著時間的流逝,又有人發現用 HHVM 可以讓 Composer 跑更快一點(超自然啊!) 我又再次回想起這神奇的東西⋯⋯ 現實是 Composer 跑太慢被 HHVM 斷開魂結

當時我就想,既然我都搞了 Phalcon on Heroku 這東西,不如再來搞一個 HHVM 版本吧!

沒想到官方竟然無情的已經做好了,於是我只好轉戰 Laravel 然後冒險就這樣開始了(才沒有 XD

PaaS 入門指南還沒斷,不過人生總是需要調味一下,就先讓我寫些別的吧 XD

PaaS 入門指南(二)

在第一篇文章 PaaS 入門指南(一)已經簡單介紹了 PaaS 的基本概念,還有一些常見的 PaaS 服務。

這篇文章,則會介紹使用 PaaS 所需的基本技能以及軟體。雖然使用 PaaS 的方式大多在服務提供者的網站上會有簡易的介紹,但是如果想要體驗各式的 PaaS 最好還是能夠熟悉這些工具的基本操作。

PaaS 入門指南(一)

這一系列的文章是準備寫給對雲端有興趣,或者想嘗試架設網站的人。

內容的部分,這篇文章會對幾家常見的 PaaS 平台進行簡介。後續會以 Heroku 為主軸繼續介紹,從產生一個 Application 到發佈以及客製化都會一起介紹。文章中也會將我所理解的 PaaS 概念與架構一併說明,讓大家可以更加了解關於 PaaS 的使用,以及優缺點。

至於這一系列的文章,會以「免費、無負擔」的前提下撰寫,選用以及介紹的 PaaS 可能有付費也可能有免費,但是會讓大家在盡可能不花費的狀況下體驗與使用。

那麼,正文開始。