Amazon Web Services 建立美西中心

這個消息已經有陣子了,不過還是整理一下。Amazon 在前幾天宣佈在美西 (實際上是北加州) 建立了新的 data center:「Expanding the AWS Footprint」,包括 S3EC2 都提供美西的節點。

以 S3 的資料來看,美西的節點頻寬費用與之前美國節點相同,但儲存費用大約貴了 10%,request 的費用也一樣貴了 10%。EC2 的部份也是類似的情況。在查過美國電價後,看起來就是差在電力成本上:「Average Retail Price of Electricity to Ultimate Customers by End-Use Sector, by State」。以工業用電來算,維吉尼亞的一度電是 6.84 cent,而加州要 11.75 cent,貴了許多。

EC2 的 instance (server) 放在美西會離亞洲近一些,可以降低一些 latency。S3 放美西的話不如用 CDN 加速比較實際,不過考慮到跨區存取也要錢的話,放在一起可能是個比較好的方法...

jQuery 1.4a1 - 終於要出新版了...

jQuery 的 blog 上看到 jQuery 1.4a1 的消息:「jQuery 1.4 Alpha 1 Released」,離上次 jQuery 1.3.2 在 2/20 放出來已經過了九個月了...

就時間上來看,最主要的差異是 IE8 (3/19) 與 Firefox 3.5 (6/30) 的釋出,使得 jQuery 在這兩個平台上面的問題比起 IE7 與 Firefox 3.0 稍微多了一些...

目前看起來 1.4 系列除了支援 IE8 以及 Firefox 3.5 外,最主要是把 .live() 功能大幅加強,延伸到 submit 以及其他事件,另外再透過之前 profiling 的結果,把效率再往上拉...

Google 提供 Public DNS Resolver

TC 看到 Google 公開了 Public DNS Resolver 服務:「Google Gets Into The DNS Business. Here’s What That Means」。

OpenDNS 不同,他不會把無法 resolve 的 request 導到廣告頁,另外又因為密度比 OpenDNS 高 (因為 Google 在很多地方有機房),IP address 又好寄 (分別是 8.8.8.88.8.4.4),就基本的 resolver 功能來說,OpenDNS 沒有優勢。

不過我發現如果是查詢 Akamai CDN,反而會被導到美東 (,EdgeCast 則是美西。不過 Limelight NetworksCDNetworks (Panther Express 部份) 都還蠻正常的,都是正確送到亞洲區的 PoP。以目前大多數的網站都是用 Akamai,用 Google 提供的 Public DNS Resolver 反而會變慢而非變快。

有興趣的人可以用看看感覺一下?

備份與 DRM

Slashdot 上看到一個丹麥人很認真的玩起「矛與盾」:「Danish DRM Breaker Turns Himself In To Test Backup Law」。

丹麥的著作權法令允許備份,但不允許破解 DRM。於是他拿到 DVD 後就破解 DRM 備份,然後跑去找反盜版組織「自首」XDDD

結果反盜版組織只說「okay 我們知道了,之後會聯絡你」就沒下文了,這傢伙就跑去找警察自首 XDDD

使用 Google 提供的 AJAX Libraries 需要注意的細節...

在「How Google is wasting your bandwidth」看到有人發現 Google 所提供的 Google AJAX Libraries 有一些地方處理的非常極端,沒有注意的話反而會使得使用者多花不少頻寬在上面。

jQuery 為例,如果直接指定版本,使用 1.3.2:http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js,那麼 Expires 會設定一年左右的時間:

Last-Modified: Mon, 23 Nov 2009 18:54:21 GMT
Date: Mon, 30 Nov 2009 22:03:29 GMT
Expires: Tue, 30 Nov 2010 22:02:37 GMT
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=31536000
X-Content-Type-Options: nosniff

但如果後面有 ?...,像是加上了 ?ver=1.3.2 就會完全不一樣,完全不會 cache:

Last-Modified: Mon, 23 Nov 2009 18:54:21 GMT
Date: Mon, 30 Nov 2009 22:04:43 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate

另外一個比較小的問題是 http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js 會指到 1.3 系列最新版本,是不會 fully-cache 的,每次都會 revalidate (最好的情況是 304 Not modified,傳輸量小於 1KB,比較差的情況是整個檔案重抓一次) 以確保 Google 更新時使用者就會馬上看到最新的檔案:

Last-Modified: Mon, 23 Nov 2009 18:54:21 GMT
Date: Mon, 30 Nov 2009 22:05:52 GMT
Expires: Mon, 30 Nov 2009 23:05:52 GMT
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=3600

1.2.6 與 1.2 也是一樣的情況,要使用 Google 提供的 AJAX Libraries 要注意。

以目前 Google 所提供的平台,應該要使用指定完整版本 (像是 1.2.6 或是 1.3.2),且不帶任何 query string 的 request。