DynamoDB Streams...

去年 (2014) 十一月時 AWS 推出了 DynamoDB Streams,像是 RDBMS 裡 trigger 的東西,不過當時還沒這麼方便,而且也是 preview 階段:「Sneak Preview – DynamoDB Streams」。

Once you enable it for a DynamoDB table, all changes (puts, updates, and deletes) made to the table are tracked on a rolling 24-hour basis.

而這個功能現在總算是開放讓一般人使用了,這次可以配合 AWS Lambda 一起使用,官方用了「DynamoDB Streams + Lambda = Database Triggers」的說明來解釋:「DynamoDB Update – Triggers (Streams + Lambda) + Cross-Region Replication App」。

另外這次也推出了 Cross-Region DynamoDB Replication,其實就是透過組合拳串起來:

This app runs on AWS Elastic Beanstalk and makes use of the EC2 Container Service, all launched via a AWS CloudFormation template.

用 Docker 測試 Mesos

照著「Deploy a Mesos Cluster with 7 Commands Using Docker」上面的方法做,遇到一些小狀況,解決後總算是搞定了。

文章作者的目的是利用 Docker 在不弄髒環境下讓人很容易上手測試,不需要處理一堆 Java 以及設定檔的問題。讓沒有用過的人可以感受一下 MesosMarathon 的界面與操作。

總共會跑起四個 docker instance,分別是 ZooKeeper、Mesos Master、Marathon、Mesos Slave Container。

我遇到的問題是我在 Ubuntu 上面的 UFW 設為 default deny,造成這四隻程式之間溝通不良,最後是針對 docker0 這個 interface 放行:

# ufw allow in on docker0

有些感覺之後就可以看官網看更進階的功能操作。

Windows 10 將會支援 MKV 與 FLAC 格式

lag 了一陣子的消息,Slashdot 上看到 Windows 10 將會支援 MKVFLAC 格式:「Windows 10 To Feature Native Support For MKV and FLAC」。

出自這則 Tweet:

最先支援的還是 FLAC,隔壁的 TTAWavPack 就比較苦命了...

Docker 與 Rocket

兩邊開始喊話了。

CoreOS 的人首先先發表了 Docker 的替代品 Rocket:「CoreOS is building a container runtime, Rocket」。

Docker 的人則發文反擊:「Initial thoughts on the Rocket announcement」。

目前資訊不足,不知道起因是什麼,不過已知 Docker 後面是 dotCloud,而 dotCloud 的記錄不太好。

繼續觀察看看吧。

AWS Lambda:AWS 推出的 PaaS

官方的說明:「AWS Lambda - Run Code in the Cloud」,以及 Werner Vogels 的說明:「The Easiest Way to Compute in the Cloud – AWS Lambda」。

偏向 PaaS 類的服務,處理 worker 這塊的事情。技術面是以 JavaScript (node.js) 為基礎。

依照最近推出的產品以及描述,應該是配合 Container 技術做的。首先是依照記憶體用量而決定對應的 CPU、網路以及 I/O 的能力:

The context information for a function specifies the amount of memory needed to run it. You can set this to any desired value between 128 MB and 1 GB. The memory setting also determines the amount of CPU power, network bandwidth, and I/O bandwidth that are made available to the function.

process、thread、file descriptor 以及 local storage 的數量也是有管制的:

Each invocation of a function can make use of up to 256 processes or threads. It can consume up to 512 MB of local storage and up to 1,024 file descriptors. It can also create up to 10 simultaneous outbound network connections.

計價的方式:

You pay for compute time in units of 100 milliseconds and you pay for each request.

處理簡單的事情用的?在「AWS Lambda Walkthrough Command Line Companion」這邊已經有人寫出一些心得了,可以看看怎麼用 :o

Google 開源的 lmctfy...

前幾天看到 Google 開源的 lmctfy (這名字還頗惡趣味,是「Let Me Contain That For You」的縮寫),是這樣介紹的:

lmctfy is the open source version of Google’s container stack, which provides Linux application containers.

看了一下說明,看起來跟 Docker 有點像啊?再查了查網路上的資料,發現有人更早之前寫過了:「lmctfy:Google的开源Linux容器」。

如果是在 Ubuntu 12.04 上,需要 3.3 或 3.8 的 Linux kernel。不過目前 Docker 還夠用,應該不會花時間去研究這個...