タグ

ブックマーク / deeeet.com (10)

  • Apache Kafkaに入門した

    Apache kafka 最近仕事でApache Kafkaの導入を進めている.Kafkaとは何か? どこで使われているのか? どのような理由で作られたのか? どのように動作するのか(特にメッセージの読み出しについて)? を簡単にまとめておく(メッセージングはまだまだ勉強中なのでおかしなところがあればツッコミをいただければ幸いです). バージョンは 0.8.2 を対象に書いている. Apache Kafkaとは? 2011年にLinkedInから公開されたオープンソースの分散メッセージングシステムである.Kafkaはウェブサービスなどから発せられる大容量のデータ(e.g., ログやイベント)を高スループット/低レイテンシに収集/配信することを目的に開発されている.公式のトップページに掲載されているセールスポイントは以下の4つ. Fast とにかく大量のメッセージを扱うことができる Scal

  • Herokuの'docker:release'の動き

    Herokuの'docker:release'の動き Introducing ‘heroku docker:release’: Build & Deploy Heroku Apps with Docker HerokuDockerを使ったツールを提供し始めた.一通り触ってコードもちょっと読んでみたので現時点でできること,内部の動きについてまとめる. TL;DR Herokuのデプロイ環境とおなじものをDockerでつくれる Buildpackを使わないでDockerfileからSlugを作れる 自分の好きなDockerイメージをHeroku上で動かせるようになるわけではない. 何ができるのか まず何ができるようになったのかについて簡単に書く.プラグインをインストールするとDockerコマンドが使えるようになる. $ heroku plugins:install heroku-docker

  • Dockerコンテナ接続パターン (2014年冬)

    記事はDocker Advent Calendar 2014の1日目の記事です. Dockerによるコンテナ化はリソース隔離として素晴らしい技術である.しかし,通常は1つのコンテナに全ての機能を詰め込むようなことはしない.マイクロサービス的にコンテナごとに役割を分け,それらを接続し,協調させ,全体として1つのサービスを作り上げるのが通常の使い方になっている. コンテナ同士の接続と言っても,シングルホスト内ではどうするのか,マルチホストになったときにどうするのかなど様々なパターンが考えられる.Dockerが注目された2014年だけでも,とても多くの手法や考え方が登場している. 僕の観測範囲で全てを追いきれているかは分からないが,現状見られるDockerコンテナの接続パターンを実例と共にまとめておく. なお今回利用するコードは全て以下のレポジトリをcloneして自分で試せるようになっている.

  • CoreOS Meetup Tokyo #1 を開催した

    CoreOS Meetup Tokyo #1 を開催した CoreOS Meetup Tokyo #1 - connpass 今回のMeetupは,etcd2.0のリリースやrktの登場,5月のCoreOS Fest 2015,また各社のCoreOSの導入事例の兆しを受けての開催.といってもCoreOSの利用事例はまだ少ないと感じたため,CoreOSだけではなくその関連技術やプラットフォームをテーマとした.それでも20分の発表8というとても濃いMeetupとなり非常に勉強になった.またそこまで人は集まらないと思っていたところ100人枠に350人の応募があり,注目の高さにも驚いた(次回は抽選にするなど考慮します). 発表資料は全て,CoreOS Meetup Tokyo #1 - 資料一覧 - connpassにまとめてある.が,簡単にMeetupの内容をまとめておく.各種テーマが散ってい

  • DockerHub公式の言語Stack

    DockerHub公式の言語Stack DockerHub Official Repos: Announcing Language Stacks | Docker Blog DockerHubには公式のレポジトリがある.そこにはUbuntuやCentos,MySQLやPostgres,MongoといったDockerイメージがコミュニティーベースで,つまりより汎用的に使える形で開発され集められており,ベースイメージとして簡単に使えるようになっている. 今までは,OSのディストリビューションや,Webサーバ,DBなどがメインだったが,公式として各種プログラミング言語のベースイメージも公開された.現状(2014年9月時点)では,c/c++(gcc),clojure,golang,hylang,java,node,perlPHPpythonrailsrubyがある. 特徴 この公式の言語s

  • HerokuのAPIデザイン

    Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAPIについて基的な知識があることが前提となっている. 適切なステータスコードを返す それぞれのレスポンスは適切なHTTPステータスコード返すこと.例えば,“成功"を示すステータスコードは以下に従う. 200: GETやDELETE,PATCHリクエストが成功し,同時に処理が完了した場合 201: POSTリクエストが成功し,同時に処理が完了した場合 202: POSTやDELETE,PATCHリク

  • logspoutでDockerコンテナのログの集約・ルーティング

    logspoutでDockerコンテナのログの集約・ルーティング progrium/logspout logspoutは,ホスト内で動かした全てのDockerコンテナの出力を集約して,好きなところに飛ばす(ルーティングする)ためのツール.開発者はDokkのJeff Lindsay. 以下の2つの特徴がある コンテナとして起動(ステートレス) HTTP APIによるルーティングの設定 ログを貯めて管理したり,検索するといったことはできない.コンテナのログをリアルタイムで好きなところに飛ばすだけ. これだけだが,Dockerのログの問題をいい感じに解決してくれそう. Dockerのログのしくみ まず,簡単にDockerのログのしくみを説明する. 現時点(2014年5月)でDockerはコンテナ内で吐き出されたstdout/stderrを取得することができる.コンテナのプロセスがstdoutとs

  • Dockerとは何か?どこで使うべきか?

    この記事はDockerに関する実験的な記事や,Buildpackを使ってHeroku AppをDocker Containerとして使えるようにする“building”の開発などで知られるCenturyLink Labsの “What is Docker and When To Use It”の翻訳です. Dockerとは何か?Dockerをどこで使うべきか?についてよく見かける記事とは違った視点から説明されています. 翻訳は許可をとった上で行っています. Dockerとは何でないか Dockerとは何かを説明する前に,Dockerは何でないかについて述べる.Dockerの否定形は何か?Dockerの制限は何か?Dockerが得意でないことは何か? DockerLXCのようなLinux Containerではない DockerLXCだけのラッパーではない(理論的には仮想マシンも管理でき

  • 公式のDocker client for OSXがリリース

    公式のDocker client for OSXがリリース 2014.01.02にOSXdocker clientがリリースされた.DockerGoで書かれているので,OSX上で自分でビルドして使ってる人もいたが,今回は公式のバイナリリリース.さらに,Homebrewのhomebrew-binaryレポジトリにFormulaも追加され,すぐに使えるようになった. clientなので,VMもしくはリモートに立てたDocker deamonに対してローカルからコマンドが叩けるようになったということ.とりあえず,ローカルにVM立てて触ってみた. tcnksm/docker-osx まず,dokcer clientのインストール. $ brew update $ brew tap homebrew/binary $ brew install docker Vagrantfileは以下のようにす

  • すぐにDockerを試したい人のための基礎コマンド

    すぐにDockerを試したい人のための基礎コマンド Docker 虎の巻 Dockerの基礎のまとめが良かったので翻訳してみた.原典は,Docker Cheat Sheet.このまとめは説明は十分にあるが,例がほとんどない.実例を使って,コンテナとイメージに関する基礎コマンドをまとめてみる. OS X で試したい Vagrantを使う.バージョン1.4からはDockerのprovisioningに対応してるのでそれを使う. Download Vagrant - Vagrantより.dmgをダウンロードしてきてインストール. vagrant init precise64 http://files.vagrantup.com/precise64.box Vagrantfileを以下のようにすれば,すぐにDockerを使える. Vagrant.configure("2") do |config|

  • 1