いつも非同期分散処理はRailsとResqueワーカーで書いていましたが、一部のワーカーはPythonのPyResを使っていました。今度は新しいPythonプロジェクトなので、最初からResqueではなくCeleryを使ってみようと思います。ブローカーにはAmazonSQSのようなIronMQを使います。IronMQにはLite (Free)プランがあるので気軽に開発を始めることができます。ローカルでRedisやRabbitMQの面倒はもうみたくないので、なるべくクラウドサービスを組み合わせたアーキテクチャを心掛けたいです。
Nexus7(2012)の電源が入らない
半年以上放置していたNexus7(2012)を手放すことになり、久しぶりに使おうとしたら電源が入りません。1日充電したのですが反応なしです。ググってみると、同じような現象の人がたくさんいます。みんな飽きてしまうのでしょうか。当時は日本で発売されるのが待てなくて個人輸入で購入したのですが。
LinuxMint17 に PythonのDocker開発環境をインストールする
あたらしくPythonで開発を始めることになったので、気分転換にLinx Mint 17 Qianaに開発環境を移動しました。Ubuntu 14.04 LTSがベースになっていますが、少し違うところがあるので編集していきます。Dartの開発用にIDCFクラウドでLinuxMint17 MATEをxrdpから使う - Part2 インストール編で作成していたインスタンスにDockerをインストールして使います。
Flocker with ZFS on IDCFクラウド- Part1: ZFS on Linuxインストール
Deisからdeis config:setして使うデータベース用のコンテナをどう管理しようか考えていたところ、ZFSベースのDockerコンテナ管理ツール「Flocker」という記事で、Flockerというデータボリュームに特化したDockerコンテナ管理ツールを見つけました。ZFS on Linuxを使った独自のZFSレプリケーションが特徴です。数年前にちょっと触ったSmartOSみたい。FlockerはTwistedのコアメンバーが在籍してるClusterHQがオープンソースで開発しています。Getting StartedではVagrantと構成済みのFedora20のBoxを使うことを推奨しています。でもZoLの方が気になってしまい、IDCFクラウド上にFedora20のインスタンスを用意してFlocker用にZFSとgeardをマニュアルインストールしてみます。まずはZFSのインストールとストレージプールを作成します。
Kubernetes in CoreOS with Rudder on IDCFクラウド - Part1: マニュアルインストール
Pamanaxに続いてDockerコンテナ管理ツールのKubernetesをIDCFクラウド上のCoreOSにインストールしてみます。今回は最初なので直接CoreOSにSSH接続してマニュアルでインストールします。CoreOSの世界ではcloud-configで初期設定をしたあとに直接変更を加えるのはお行儀が良くないので、インストールの確認ができたら、cloud-configでKubernetesをCoreOSクラスタにインストールしたいと思います。
Panamax in CoreOS on IDCFクラウド - Part1: インストール
ISOからインストールして用意した367.1.0のCoreOSにさっそくPanamaxをインストールしてみます。Panamaxは、DockerやCoreOSの勉強でお世話になっている、CenturyLinkLabsがオープンソースで公開しているDockerの管理ツールです。The New Stack Analysts Docker’s Future is in the Orchestrationのインタビューの中で、CenturyLinkLabsのLucas Carlson氏が以下のように応えています。There’s a big difference between a hello world, approach and more sophisticated usage. CenturyLinkLabsがDockerの教育に力を入れているのはすばらしいことです。特にCoreOSやFigに対して注目が高いので、Panamaxにも期待しています。
IDCFクラウドでCoreOSをISOからインストールする
IDCFクラウドにCoreOSクラスタを構築する - Part5 再セットアップなどではボリュームを作業マシンにアタッチしてインストール作業をしました。CoreOSはBootableのISOも提供されているので、今回はBooting CoreOS from an ISOを読みながらIDCFクラウドで利用してみます。IDCFクラウドにCoreOSクラスタを構築する - Part4 367.1.0のissueで確認しましたが、CoreOSのStable Channelのcurrentバージョンは367.1.0です。今回はPanamaxをインストールするためにCoreOSを用意します。Installing Panamaxを読むと、推奨バージョンは367.1.0なので都合が良いです。
Deis in IDCFクラウド - Part4: DBaaS
DockerでオープンソースPaaS - Part5 tsuruのDBaaSでtsuruの場合のDBaaSをみました。Deisの場合はService registry lookup
Deis in IDCFクラウド - Part3: GoとDartのBuildpack
Using Buildpacksによると、Deisはデプロイするアプリの言語を検知して適切なBuildpackを適用してくれそうです。Java, Ruby, Python, Node.js, Scala, Go, DartのBuildpackがバンドルされているので、私の使い方のは十分です。
Deis in IDCFクラウド - Part2: SinatraをDeisにデプロイ
構築したDeisの設定と、簡単なアプリのデプロイまで行ってみます。Deis in Google Compute Engineで使っている、Google Cloud DNSの代わりにxip.ioを、Load Balancingの代わりに、IDCFクラウドに標準機能であるロードバランサーを利用します。