藍色巨人 (IBM) 自 2013 年收購了美國 SoftLayer 這家 Cloud Computing Provider 後,近一年來,一邊廂大力推銷自己這個剛剛入贅的兒子,另一邊廂則出售 x86 低端伺服器給聯想 (Lenovo)。無他的,基本上差不多所有雲端服務商都是推出 x86 平台的 Windows 及 Linux 虛擬伺服器,無理自己人打自己人,所以還是快快把不爭氣的兒子快快賣出去,讓 SoftLayer 這個改姓的兒子快快坐正。
香港 SoftLayer 數據中心開幕
今年 6 月 1日,香港 SoftLayer 的數據中心正式開幕了,這是繼新加坡後,SoftLayer 於亞太地區第二個數據中心,跟據官方的新聞稿,新的香港 SoftLayer 數據中心,有超過 15,000 台伺服器及高速的網絡設施,可以做到伺服器訪問網速低於 40 ms 網路延遲。 這個香港數據中心的來勢可謂非同小可,IBM SoftLayer 銳志跟 Amazon 爭朝夕的長短,但網上很少有提及 SoftLayer 的文章和教學,一般的情況下很難一暏它的風采,但適逄 SoftLayer 慶祝香港數據中心開幕,由現在至 7 月 31 日,只要選擇香港數據中心的 Cloud Server ,並於落 Order 時輸入以下的 promotion code,就可以於第一個月免 $500 美金的開銷 (其實差不多等於免費一個月)。
Promo Code: 500HK Expires: 07.31.2014
既然有得免費試用,當然要把握機會啦!看看這個 SoftLayer 能不能夠 KO 掉 Amazon AWS。
開設戶口教學
IBM 一向都有一個問題,就是造出來的東西真的很強,但太複雜了。要設立一個 Cloud Server,選項真的很多,可以做很多 Customization ,但比起 Amazon 套餐式的 Server Package,初心者可能不知如何選擇。

- 首先,因為試用關係,我選擇了時租付費模式 (Hourly-pay),貪可以試用完就砍掉 Server ,沒有長期承諾。然後當然選擇了以港幣 (HKD) 做結算,方便了解自己試玩的成本。
- 當然要選擇香港數據中心,因為可以專享推廣優惠。
- 接下來就是選擇 CPU 及記憶體配置,當然是愈高配置就租金愈貴。
- 然後就是選擇作業系統 (OS),基本上所有 Linux Distribution 都不用額外收費,至於 Windows Server 就要收費了。可以選擇 32 bits 及 64 bits 的版本,因為記憶體只選擇了 1GB,所以我選擇了 32-bits 的 Ubuntu 連 LAMP。
- 如上圖,最細的 Storage 都要選擇 25GB。我發現 25GB 的 SAN Disk 和 Local Disk 都是免費的,但高容量的Storage ,SAN 就會比 Local Disk 貴,那我當然選擇 25GB SAN Disk 作為 Primary Disk。SoftLayer 容許您為每一個 Cloud Server 一開始設定最多 5 隻 Disk。但從第二隻 Disk 計起,無論 SAN Disk 或 Local Disk ,無論任何容量,都要額外收費。
- 接下來輪到網絡配置了,真的很複雜,幹嗎試用都要我決定那麼多東西。反正我沒有甚麼高要求,總之就選擇最平的組合。順帶一提,IPv6 介面是不需要額外收費,當然要啦。
- 還沒有完,然後到 System Addons。很奇怪地,我上面 OS 已經選擇了 LAMP 的 Ubuntu,為何這裡又問我要不要 MySQL呢?不管它,由於不用收費,還是選了它。總之不用錢的就選擇啦。
- 好,IBM 果然厲害,還有東西可以配置,比起到 Dell 網上買部 Desktop 還多東西可以 Customization ,這就是 Storage Addons – NAS。這裡我選擇 None ,因為其他都要收費。
- 最後了,就是 Service Addons – Monitoring & Notification,這裡又是我慳家本色,選擇了不用收費的組合。
- 哈哈,終於到了埋單的時候。噢,原來要收 Setup Fee ,幸好我有 promotion code ,Wavied 左 Setup Fee,而收費明細標明每小時收費是港幣 $0.34。
Checkout 後,接下來就是要輸入付款方法及個人資料,這裡就省略了。最後確認後,SoftLayer 很快就會向您發出電郵告訴我的 Order 正在審核當中,跟住不用五分鐘,就有另一封電郵告訴我的 Order 完成審核並已經 provisioning 了我的 Cloud Server ,電郵中還會提供登入 SoftLayer Control Panel 的方法和賬戶 ID 、密碼等。
SoftLayer Customer Web Portal
要管理 SoftLayer 上的 Cloud Server ( SoftLayer 叫做 Device ),就得要通過它免費提供的 Customer Web Portal 。這個 Web Portal 基本上跟 Amazon AWS 的 Management Console 的功能一樣,可以管理用戶、重啟 (Reboot) Device、開關 (Power On/Off) Device、查看賬單 (Billing)、備份 (Backup)、設置 Storage 、Network 等功能,應有盡用。


這裡可以看到我的賬戶所有 Cloud Server, SoftLayer 並不會在電郵中告訴您 Cloud Server 的 IP Address 和 Root 密碼,必須要自己登入到 Web Portal 來查看。

這裡可以見到每一個 Cloud Server 都會給予一個 Public IP 和一個 Private IP。從 Internet 連接,當然要用 Public IP 去訪問 Cloud Server 中的服務 (Service),例如,SSH 或 Web 服務等。至於, Private IP 則是另一個渠道讓您可以跟 Cloud Server 溝通,但必須先連上 SoftLayer 的 VPN 才可以直接訪問,這個會在下面的章節討論。


得到 Root 密碼後,就可以用 SSH 登入 Cloud Server 了。這裡還是建議塵盡快建立另一個 Linux 用戶和 SSH Key Authentication,然後 Disable SSH Root 和 Password Login 來加強保安。
SoftLayer VPN
SoftLayer Web Portal 有一些功能必須要連上免費的 VPN 才可以使用。這個 VPN 設定就竟然令我遇上了一個小插曲,雖知道連上 VPN 必須知道 VPN Server 的地址,可能由於香港數據中心是新成立,網上的 KnowledgeLayer 中還沒有更新到香港數據中心的資料,以致我只好找 Support 。 幸好 Support 的回應也很快,不需一分鐘,就已經在 Live Chat 中聯絡上當值的 Support ,並很快提供了香港數據中心的 VPN Server 地址,就是 pptpvpn.hkg02.softlayer.com。
Support 也很好心地提我要設定用戶的 VPN Access 及 VPN 密碼才可以在 Windows 中連接上 SoftLayer VPN,所以 Support 的回應和效率都是滿分的,SoftLayer 還會自動把您跟 Support 對答的 transcript history 電郵給您以作紀錄。


最後當然就可以用 Windows 7 建立 PPTP VPN 到 SoftLayer 啦,但要出動到 Support 才能解決,似乎網上文檔還須要落多點功夫改善。
建立了 VPN 後,就可以直接於 Web Portal 啟動 KVM 直接連接到 Cloud Server 了。

香港 SoftLayer 雲端伺服器實質測試
忙了一大輪,終於可以實質測試一下香港 SoftLayer 雲端伺服器了。由於我只選擇了最平和最低級的配置,所以未必可以反映它的真正威力。
首先當然要驗收 Server 配置,其 CPU Allocation 如下:
root@softlayer:/var/log# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz stepping : 4 microcode : 0x415 cpu MHz : 2600.050 cache size : 20480 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 6 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht nx constant_tsc up pni pclmulqdq ssse3 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes f16c rdrand hypervisor arat epb pln pts dtherm fsgsbase erms bogomips : 5200.10 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management:
記憶體和儲存的配置如下:
root@softlayer:/var/log# free -m total used free shared buffers cached Mem: 998 123 875 0 5 59 -/+ buffers/cache: 58 940 Swap: 2047 0 2047
root@softlayer:/var/log# df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/xvda2 24957 1146 22544 5% / udev 494 1 494 1% /dev tmpfs 100 1 100 1% /run none 5 0 5 0% /run/lock none 500 0 500 0% /run/shm /dev/xvda1 236 19 205 9% /boot
這裡無扼秤之餘,還有驚喜呢。SoftLayer 的 Linux Server 已經預先設定好 Swap Space,而且好像是根據您選擇的記憶體的容量乘以二來配置 ( 註:Ram size x 2 是 Swap space allocation 的 best practices ),並不好像 Amazon EC2 那般要自己再分配 Storage 來設定,這個要加分。另外,Swap space size 是不會計算在您原本要求的 Storage Size 上,即是您要 25GB ,SoftLayer 就真的比足 25GB Disk size 比您。SoftLayer 另一好處無論是 Local Disk 和 SAN Disk 都不會像 Amazon EBS 要計算 I/O 數量來收費,而又不會因為 Server Reboot 而導致資料喪失,所以 SoftLayer 比起 Amazon EC2 少了很多隐藏消費,比較貨真價實。
( 註: Amazon EC2 的 Local Disk 稱之為 Ephemeral Storage,即儲存於它上面的資料會因為 Server Reboot 或 Terminate 而喪失,雖然這些 Ephemeral Storage 不計算 I/O 消費,但作用其實不太大,而 Amazon EC2 給予另一個 Persistence Storage 的方案是 EBS,但這個就按容量按 I/O 收費,消費得多都幾鎔呀!)
好!然後到網絡測試比拼,我在家中 (香港當然)用 100MB 寬頻,從 Internet Ping 十次到 SoftLayer Cloud Server 的結果如下:
C:\>ping xxx.xxx.xxx.xxx -n 10 Ping xxx.xxx.xxx.xxx (使用 32 位元組的資料): 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=7ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=47ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=17ms TTL=56 回覆自 xxx.xxx.xxx.xxx: 位元組=32 時間=3ms TTL=56 xxx.xxx.xxx.xxx 的 Ping 統計資料: 封包: 已傳送 = 10,已收到 = 10, 已遺失 = 0 (0% 遺失), 大約的來回時間 (毫秒): 最小值 = 3ms,最大值 = 47ms,平均 = 9ms
果然做到平均 40ms 以下,十次只有一次在 40ms 以上,即都有 90th percentile 的效能保証。
相同的測試用於位於新加坡 Amazon EC2 的本博客 instance 的結果如下:
C:\>ping itarchitect.hk -n 10 Ping itarchitect.hk [54.251.181.145] (使用 32 位元組的資料): 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=36ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=39ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 回覆自 54.251.181.145: 位元組=32 時間=35ms TTL=52 54.251.181.145 的 Ping 統計資料: 封包: 已傳送 = 10,已收到 = 10, 已遺失 = 0 (0% 遺失), 大約的來回時間 (毫秒): 最小值 = 35ms,最大值 = 39ms,平均 = 35ms
比較之下,當然是香港數據中心比新加坡 Latency 為低,但這樣比較不公平,但 Amazon EC2 的 Network Jitter 好像較好。
試完一些 Non-functional 的東西後,接下來要測試一下 Functional 的東西。
我是選擇了預裝 LAMP 的配置,所以期望應該很快就可以安裝到 WordPress 這樣的應用,點知出事了。雖然 Apache、PHP、MySQL 都安裝了及運作中,但竟然沒有預裝 Apache 的 PHP module,導致不能立時運行 WordPress,要自己手動安裝,這個要扣一些分了。(哈,或許 SoftLayer 不是做我這些小小博客的生意吧!)
最後,當然能夠成功架起 WordPress 網站,整體網站流暢度也不俗。

香港 SoftLayer 的支援服務
測試完成,當然要關掉 SoftLayer Cloud Server 來避免消費,但我在 KnowledgeLayer 找尋了很久,都找不到 SoftLayer 怎樣計算 Cloud Server 的使用時間,究竟關閉 ( Power-off ) Cloud Server 已經可以避免收費,或一定要砍掉 ( Cancel ) 它才可以避免收費呢?搞不清楚唯有又找 Support 問問,今次亦很快得到答覆,就是一定要砍掉它才可以避免收費,因為即使關閉 Cloud Server,它還會佔用 SoftLayer 上的儲存空間及 Public IP,這些都是有限資源,當然要收費啦。但砍掉 Cloud Server,就所有儲存於上面的資料將會遺失,做之前要先備份。
SoftLayer 的 Support 服務真的又快又貼心,短短三個小時的測試,已經用上了兩次,但感覺還是很滿意的。要彈就只好彈為甚麼 KnowledgeLayer 沒有提及這些基本的 Pricing Model 及計算成本的方法。


後記
香港可以被選中成為 SoftLayer 第二個亞太區根據地,可以說是香港 IT 之幸。香港企業如果選用香港 SoftLayer 確實佔有地堿優勢,但 SoftLayer 與 Amazon AWS 的雲端對決才剛剛開始,勝負還要多看一些時間。
而我會不會轉用 SoftLayer 呢?
老實說,SoftLayer 和 Amazon EC2 各有千秋, 除非我的博客流量大增,否則長遠來說都不需要用上這些 Enterprise Grade 的雲端方案呢。