AWS EC2 比
Linode 多了不少工具,在實際使用「雲端」的時候方便不少...
第一個是 EC2 的 firewall 設定包括了 group 的觀念,EC2 上可以設定「同一個 account 下的機器可以互通」這種 rule,在 Linode 上必須自己寫 script 去
Linode API 撈出 IP 表,並設定到
iptables 裡面。但由於是 JSON/XML 格式,沒有辦法很簡單用 shell script 直接搞定,變成要透過
PHP/
Perl/
Python,而這又造成了要多裝軟體的問題... 不僅如此,就結果而言,還必須用 cron 之類的工具定時更新表格,不然名單裡不會更新。另外 UDP 封包因為 source ip 可以偽造,還是沒辦法信任。
這點在
Gearman 與
memcached 這類沒有認證功能的服務是必要功能。而對於 Web server 來說也很重要 (因為要考慮
X-Forwarded-For
的信任問題)
再來是 Web HA 的部份,EC2 支援
Elastic Load Balancing,所以不需要自己刻一堆有的沒的... 而在 Linode 上面只提供了最基本的 HA 功能 (可以設定「當掛掉的時候,允許哪些其他機器可以使用原來的 IP address」的權限) ,這表示必須自己跑 monitor script,在當掉的時候取得 IP address 並提供服務。
另外 EC2 提供 multi-zone,也是 Linode 目前沒提供的。在考慮 HA 架構還蠻重要的...
不過 Linode 比 EC2 最大的優勢就是比較便宜。同樣流量時
AWS 的頻寬費用就可以在 Linode 順便養機器了... 同樣價錢的問題還包括
EBS I/O 的費用,以及 Linode 可以使用比較多的 CPU resource...
另外一個非價錢的因素是 Linode 的 storage 是屬於 persistent (本來就是 VPS,只是多了 Cloud API),而 AWS EBS 用起來還是覺得不太方便,不過這跟 AWS 的 scale 設計有關,不太能算缺點...