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

  • Apache Kafkaに入門した

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

    koyancya
    koyancya 2018/05/23
  • AppcとCoreOS/Rocket

    Dockerの諸問題とRocket登場の経緯 Rocketはリリースした直後にちょっと触ってそのまま放置していた.App containerの一連のツールとRocketが現状どんな感じかをざっと触ってみる.まだまだ全然使えると思えないが今後差分だけ追えるようにしておく. なお,今回試した一連のツールをすぐに試せるVagrantfileをつくったので触ってみたいひとはどうぞ. https://github.com/tcnksm/vagrant-appc 概要 App Container SpecやRocketが登場の経緯は前回書いたのでここでは省略し,これらは一体何なのかを簡単に書いておく. まず,App Container(appc)Specはコンテナで動くアプリケーションの"仕様"である.なぜ仕様が必要かというと,コンテナという概念は今まで存在したが曖昧なものだったため.namespac

    koyancya
    koyancya 2016/04/06
  • Go1.5はクロスコンパイルがより簡単 | SOTA

    Go1.5はクロスコンパイルがより簡単 Cross compilation just got a whole lot better in Go 1.5 | Dave Cheney Go 1.5: Cross compilation — Medium Go言語の良さの一つにあらゆるOS/Archに対するクロスコンパイルがとても簡単に行えることが挙げられる.今まで(Go1.4以前)も十分に便利だったがGo 1.5ではさらに良くなる. 今までの問題を敢えて挙げるとターゲットとするプラットフォーム向けのビルドtool-chain準備する必要があるのが煩雑であった(cf. Go のクロスコンパイル環境構築 - Qiita) $ cd $(go env GOROOT)/src $ GOOS=${TARGET_OS} GOARCH=${TARGET_ARCH} ./make.bash --no-clea

    koyancya
    koyancya 2015/07/22
    そうなのかー -> "Go1.5を準備する.Go1.5のビルドにはGo1.4が必要."
  • Dockerの諸問題とRocket登場の経緯

    2014年の後半あたりからDockerDocker Inc.への批判を多く見かけるようになった(もちろんもともと懸念や嫌悪を表明するひとはいた).それを象徴する出来事としてCoreOSチームによる新しいコンテナのRuntimeであるRocketのリリースと,オープンなアプリケーションコンテナの仕様の策定を目指したApp Containerプロジェクトの開始があった. CoreOS is building a container runtime, Rocket 批判は,セキュリティであったり,ドキュメントされていない謎の仕様やバグだったり,コミュニティの運営だったり,と多方面にわたる.これらは具体的にどういうことなのか?なぜRocketが必要なのか?は具体的に整理されていないと思う.これらは,今後コンテナ技術を使っていく上で,オーケストレーションとかと同じくらい重要な部分だと思うので,ここ

    koyancya
    koyancya 2015/06/17
  • 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

    koyancya
    koyancya 2015/05/07
    ほえー
  • CoreOSに入門した

    CoreOS is Linux for Massive Server Deployments · CoreOS CoreOS + Docker Meetup Tokyo #1に参加してCoreOSにめっちゃ感動したので,CoreOSに入門していろいろ触ってみた. まず,CoreOSの概要とそれを支える技術について説明する.次に実際にDigitalOcenan上にVagrantを使って実際にCoreOSクラスタを立てて,CoreOSで遊ぶ方法について書く. CoreOSとは何か CoreOSは,GoogleやFacebook,Twitterといった企業が実現している柔軟かつスケーラブル,耐障害性の高いインフラの構築を目的としたLinuxディストリビューションである.軽量かつ使い捨てを前提にしており,クラウドなアーキテクチャのベストプラクティスを取り入れている.CoreOSの特徴は大きく4つ挙

    koyancya
    koyancya 2014/11/18
  • boot2dockerでのVolume問題が解決しそう

    boot2dockerでのVolume問題が解決しそう (追記)Docker 1.3がリリースされた.boot2dockerはデフォルトでVirtualBox Guest Additionsをサポートし,boot2docker-cliはinitのときにホストのディレクトリをboot2docker-vm上にマウントするようになった(Docker 1.3: signed images, process injection, security options, Mac shared directories | Docker Blog). TL;DR OSXWindowsでboot2dockerを使う場合に特別な操作をしなくても-vオプション(Volume)が使えるようになる. 背景 OSXWindowsでboot2dockerを使うひとが最も不満に感じるのは-vオプション(Volume)が使

    koyancya
    koyancya 2014/10/08
    うおー。諦めてたから嬉しい
  • 認証付きのDocker Private registryを立てる

    認証付きのDocker Private registryを立てる DockerHub(Public registry)を使えない場合は,Private Registryを立てる必要がある.DockerはPrivate registry用のDockerイメージを提供しているため,コンテナを立てるだけですぐに使い始めることができる. $ docker run -p 5000:5000 registry $ docker push docker-private.com:5000/test-image:latest ただ,これだとURLを知っていれば誰でも好きにイメージをpushできてしまうので,認証を行う必要がある.認証には,Dockerクライアント(docker login)が対応しているBasic認証を利用する.Docker registryには認証機構がないため,nginxやApacheを

    koyancya
    koyancya 2014/10/03
    うおー。知見だ
  • わかりやすいREADME.mdを書く

    GitHubなどに自分のツールやライブラリを公開するとき,README.mdは重要な役割を担っている.レポジトリを訪れたユーザが自分のツールを使ってくれるか否かの第一歩はREADME.mdにかかっている,と言っても過言ではない.実際自分が使う側になったときも,まずREADME.mdを読んで判断していると思う. 成功しているプロジェクトを参考にしつつ,自分が実践していることをまとめておく.ここに書いていることはあくまで(自分の中で)最低限的なものである.プロジェクトが成長していくにつれてREADMEはあるべき姿に成長していくべきだと思う. READMEの役割 README.mdには大きく2つの役割がある. プロジェクト,ツールの使い方,インストール方法 プロジェクト,ツールの宣伝 元々READMEは前者の役割しかなかったが,GitHubの仕組み上,後者の役割も徐々に重要になっている. さらに

    koyancya
    koyancya 2014/08/01
    難易度高い -> "まず,一番上には名前を書く.かっこいい名前を考える."
  • 高速に自作パッケージをGithubにリリースするghrというツールをつくった

    高速に自作パッケージをGithubにリリースするghrというツールをつくった tcnksm/ghr・Github ghrを使えば,1コマンドでGithubにリリースページの作成とそこへのパッケージのアップロードが可能になる.複数パッケージのアップロードは並列で実行される. デモ 以下は簡単な動作例. 上のデモでは,v0.1.0タグでリリースを作成し,pkg/dist/v0.1.0以下の6つのファイルを並列でアップロードしている(ghrをghrでリリースしている).1ファイルあたり,2.0M程度なのでまあま速いかと.アップロード結果は,ここで見られる. 背景 “Go言語のツールをクロスコンパイルしてGithubにリリースする” 上で書いたようにcurl使って頑張ってAPIを叩いていたが,やっぱシェルスクリプトは嫌だし,アップロードが遅い. Githubへのリリースを行う専用ツールでaktau

    koyancya
    koyancya 2014/07/30
  • libswarmの現状と将来 | SOTA

    libswarmの現状と将来 DockerCon14で新たに発表されたDockerによる新しいOSSであるlibswarmをざっと触ってみたので,現状何ができて,将来的にどういったことができそうになるかを簡単にまとめておく. TL;DR libswarmを使うと複数ホストやサービス(自社サーバー,DigitalOcean,Amazon EC2,Orchardなど)に存在するDockerコンテナを,1つのホストに存在しているかのように扱うことができるようになる.Dockerホストを抽象化したのに対して,libswarmは複数ホストを抽象化する. libswarmを使ったswarmdコマンドを使って,UNIXのパイプのように複数ホストやサービスを連鎖的につなげる. デモ libswarmで何ができるのかは,DockerCon14でのデモ動画“Orchard + libswarm demo f

    koyancya
    koyancya 2014/07/28
  • Dockerコンテナのおもしろい名前

    Dockerコンテナのおもしろい名前 Dockerコンテナを立ち上げるときに,--nameオプションで名前を指定しないと勝手に名前がつけられる. $ docker run -d dockerfile/nginx $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f29f753eaf6 dockerfile/nginx:latest nginx 2 days ago Up 11 hours 80/tcp, 443/tcp elegant_feynma 例えば,上ではelegant_feynmaという名前がつけられている. で,これどうやってやってるのかなーと思ってソースを眺めていると,docker/pkg/namesgeneratorというパッケージが名前を生成していた. 名前の生成方法はとても単純で,49個

    koyancya
    koyancya 2014/07/16
  • Proxy環境下でDockerを動かす

    Proxy環境下でDockerを動かす Docker1.0がリリースされたことで,プロダクションレディ感もあり,企業でもDockerを使う機運が高まっている.でも,実際はまだまだ番環境ではなく,テスト環境などで使われることが多い. Dockerによるテスト環境構築でまず思い浮かぶのはdokku.dokkuはDockerを使ったbash実装のPaaS.プライベートPaaSを持たない,かつHerokuなどを気軽に使えない企業のテスト環境として今後使われる機会がありそう. ただ,個人での利用とは違い企業などでDockerやdokkuを使う場合は,Proxyに阻まれることがある(というか今日阻まれた).ので,Proxy環境下でのDocker,dokkuの使い方を簡単にまとめておく.まず,Docker全般に関して,次にdokku特有の問題についてProxyの問題を解決しなければならない状況とその解

    koyancya
    koyancya 2014/07/02
    YO ボタンが付いてる
  • ブログにYoボタンを設置した

    ブログにYoボタンを設置した 最近はほとんどのコミュニケーションがYoで完結している.得に日はハイコンテキスト文化なので助かる.だいたい伝わってると思う.最近だとYoに人生を救われたひともいるくらいだ. さて,ブログを書いたあとにわざわざ「ブログ書いたので読んでください」などと言うのは,粋じゃない.さらっとYoするのが現代のスタイルだ. ということで,Yoボタンをブログに設置した. YoがインストールされたデバイスでこのYoボタンを押すと”SOTABLOG”というアカウントがYoのリストに登録される(PCとかだと手動で..).すると,ブログ記事が更新される度に”SOTABLOG”からYoされるようになる. 仕組み といっても自分の個人アカウントが”SOTABLOG”で一人一人に手動でYoするわけではない.Yo Developers APIを利用している.やり方は以下. http://yo

    koyancya
    koyancya 2014/06/29
  • 1