Immutable Infrastructure and Provisioning Testing at Immutable Infrastructure Conference #01
![Immutable Infrastructure and Provisioning Testing at Immutable Infrastructure Conference #01](https://cdn-ak-scissors.b.st-hatena.com/image/square/2466903a30ce84f58d33267ea05c1515b430daac/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F620138409638013157027e3205d19d29%2Fslide_0.jpg%3F2765777)
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
GitHubやばい、何がやばいってソース公開していいならWebサーバなくてもWebページ公開できる。 JavaScriptもちゃんと動いてる。(サーバ必要系はたぶん無理) というわけで表題の件ですが、GitHubは主に2つの形式でWebサイトを公開できます。 テンプレサイト作るだけならgitコマンド叩いたり、ローカルにリポジトリ作る必要もありません。 ユーザーアカウントに対して紐付けられているWebページ リポジトリごとのWebページ ほとんどリンク先見てね状態ですが、毎回ググるのめんどくさいのでメモ書き。 GitHubアカウントもっているならば、3分かからないです。 ユーザーアカウントに対して紐付けられているWebページ。 yourself-account.github.io.gitリポジトリを作成することでWebページが公開できます。 こんな感じ。 http://budougumi06
今まで下記のようにexecで標準出力と標準エラー出力を作業ログに残すという事をしてたんですが、実際に打ったコマンドは出力されないので、ちょっと不便だなーと思ってました。 exec > >(tee --append /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log) 2>&1 ちょっと調べて見るとscriptコマンドを使うとコマンドを含めて出力できることを知りました。 これで作業ログを残すのがはかどる! script --append --flush /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log チームメンバーにこのログをtailさせておけば、画面共有も出来たりもします。 (その用途ならホントはwemuxとか使った方が良いんでしょうけどね。。 tail -F /tmp/$(date +"%Y.%m.%
A reveal.js Docker Base Image with ONBUILD February 20, 2014 Docker 0.8 introduced the ONBUILD instruction for Dockerfiles. I'll admit, when I read the release announcement, I glossed right over this new feature. Now that I've had time to read more about it, I can see its potential for creating build environments. Let me show you by containerizing reveal.js. The Base Image Reveal.js bills itself a
This guide is based on an old version of Docker. The instructions you find below may be already removed or changed in the Docker codebase. In my previous blog post I talked about running the Fedora Cloud images on a local KVM with libvirt. This was not a standalone task, but rather the preparation for this blog post: running Docker containers on multiple hosts attached to the same network. I was a
DockerfileのONBUILD Docker 0.8においてONBUILDというDockerfile用のコマンドが導入された.0.8ではOSXのdocker clientが脚光を浴びたが,このONBUILDはかなり強力な機能.リリースノートはこちら.ONBUILDの公式ドキュメントはこちら. ONBUILDを使うと,次のビルドで実行するコマンドをイメージに仕込むことができるようになる.つまり,ベースイメージにONBUILDによるコマンドを仕込み,別のDockerfileでそのベースイメージを読み込みビルドした際に,そのコマンドを実行させるということが可能になる.要するに,親DockerfileのDockerfileコマンドを子Dockerfileのビルド時に実行させることができる機能. これは,アプリケーション用のイメージを作るときや,ユーザ特有の設定を組み込んだデーモン用のイメージ
Docker networking basics & coupling with Software Defined Networks This presentation reminds Docker networking, exposes Software Defined Network basic paradigms, and then proposes a mixed-up implementation taking benefits of a coupled use of these two technologies. Implementation model proposed could be a good starting point to create multi-tenant PaaS platforms. As a bonus, OpenStack Neutron inte
最近 RethinkDB がいいらしいと聞いたので、MongoDB と性能面で比べてみました。機能的な比較は公式サイトの Technical comparison: RethinkDB and MongoDB を参照してください。 重要: RethinkDB はまだベータ扱いなので、開発中のものとして見てください。正式リリースまでに性能が変化する可能性もあります。 テスト テスト環境は CoreOS on VMware Fusion で、それぞれ別の Docker コンテナで起動させました。バイナリは公式提供されているものを使用。シングル構成でクラスタリングはしていません。 ベースコンテナ: ubuntu:saucy Linux Kernel: 3.13.6+ RethinkDB: 1.11.3 MongoDB: 2.4.9 クライアントは Go 1.2.1 で書いて、CoreOS 上で動
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
Blog Projects Jason Wilder's Blog Software developer and architect interested in scalability, performance and distributed systems. Docker Log Management Using Fluentd Mar 17, 2014 · 5 minute read · Comments logging fluentd docker Docker is an open-source project to easily create lighweight, portable and self-sufficient containers for applications. Docker allows you to run many isolated application
今回は Fabric を使ってみて便利だなと思った使い方についてメモっておく。 何はともあれ Fabric をインストールしておく。 前提として、ホストの情報は ~/.ssh/config に記載されていることにする。 $ sudo pip install fabric 実行時にタスクへ引数を渡す タスクとなる関数に引数を付けることで、実行時に引数を渡すことができる。 以下は、汎用なコマンド実行用のタスク invoke を定義して、実行するコマンドを引数で受け取るようにしている。 # -*- coding: utf-8 -*- from fabric.state import env from fabric.decorators import task from fabric.operations import sudo, run env.use_ssh_config = True @ta
コンテナ型仮想化は LXC を直で使おうとして一旦諦めたクチなんだけど、最近 Docker が登場してだいぶ便利になったらしいので試しに使ってみる。 コンテナ型仮想化というのは、ゲスト OS をホスト OS のカーネル内で分離する技術をいう、と思う。 ハイパーバイザ型仮想化に比べると一般に仮想化に必要なオーバーヘッドが少ないのがメリットとされている。 ただし、ホスト OS とゲスト OS がカーネルを共有するため、幾ら内部的に分離されているとはいえカーネルモジュールを使ったりするような一部の機能とは相性がよろしくない。 まず Docker は EPEL からインストールする。 $ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum -
RabbitMQ には Firehose 機能というものがあって、有効にするとルーティングされるメッセージが全てそこに転送される。 スイッチのミラーポートみたいなイメージかな。 これを使うと AMQP のデバッグが捗る。 Rabbitracer は、その Firehose 機能で転送されてくる全てのメッセージを JSON 形式でダンプする。 以前同様のスクリプトを書いたので、それをリファクタした上で GitHub で公開してみた。 https://github.com/momijiame/rabbitracer 使い方は GitHub の README に書いた。 パッケージは PyPI にも登録したので PIP でインストールできる。 $ pip install rabbitracer そんなかんじで。
Vagrant で作成した既存の仮想マシンを元にした Base Box ファイルの作り方は以前この記事で扱った。 今回はまっさらな状態から手動で Base Box ファイルを作る方法について書いてみる。 おそらく本格的にやるなら VeeWee や Packer といったツールで自動化するんだろうけど、何事も一足飛びは失敗の元なので最初はマニュアルでやってみる。 Vagrant ホストには Mac OS X Mavericks (10.9.1) を使った。 VirtualBox のバージョンは 4.3.6 で、Vagrant のバージョンは 1.4.3 で動作確認している。 作成する Base Box ファイルは CentOS 6.5 (minimal) にする。 まず、一般的な Base Box ファイルの要件は以下に書かれている。 http://docs.vagrantup.com/v2
StringIO はファイルオブジェクトの API を備えた文字列のバッファ。 つまりオンメモリのファイルオブジェクトとして扱うことができる。 このオンメモリっていうのが割りと重要で、この特性を生かすと色々と便利に使えそう。 例えば、ファイルオブジェクトを受け取るような API の動作確認がしたいとする。 通常であれば実際にファイルをシステム上に作ってやるか、面倒だけどモックオブジェクトを作ることになるだろう。 StringIO を使えば、そんな手間が不要になる。 試しに REPL 上で StringIO を使って ConfigParser の動作を確認してみよう。 以下のコードでは ConfigParser が設定を読み出す元を StringIO オブジェクトにしている。 テスト用のファイルをシステム上に用意したり、自分でモックオブジェクトを用意するのに比べていかに簡単か分かると思う。
Ansible は Python で実装された IT インフラの自動化ツールだ。 乱暴に言えば Chef や Puppet の親戚みたいなもの。 特筆すべき点としては、対象に SSH さえ届けば使えるという手軽さがある。 上記は同じく Python で実装された自動化ツールの Fabric にも言えることだが、それとの違いは冪等性への考慮が手厚いことが挙げられる。 今回は、その Ansible を Vagrant と上手いこと連携させるまでの軌跡を紹介したい。 動作確認は以下の環境で行った。 Mac OS X Mavericks (10.9.2)Vagrant 1.4.3Ansible 1.4.5 まずは Vagrant を実行するマシンに Ansible をインストールする。 $ pip install ansible 次に Ansible で管理する VM を Vagrant で作る。
サーバ環境をテストするソフトウェアとしては Ruby の serverspec が有名だけど、Python にも Fabric をベースにして作られた envassert がある。 通常はテストに使われる envassert だけど、ふと Fabric のデプロイ用タスクに使っても便利なのでは?と思った。 envassert のインストールは PyPI から PIP で。 必要に応じて root ユーザで実行したり sudo する。 ついでに Fabric と Cuisine も入れておく。 $ pip install fabric envassert cuisine 以下はデプロイ用のタスクに evnassert を使うコンセプト的なコード片。 envassert はプラットフォームやパッケージの有無などを検出できる。 だから、例えばデプロイ先に求められる環境をチェックをしたり、パッケー
Linux では iptables を使って NAT ができる。 Ubuntu 13.04 で試してみた。 下準備 動作確認のために複数ホスト用意するのは面倒なので、環境には Linux Network Namespace を使う。 Linux Network Namespace についてはこちらの記事を参照のこと。 環境づくりに使ったコマンドは以下の通り。 $ sudo ip netns add client $ sudo ip netns add gateway $ sudo ip netns add server $ sudo ip netns exec gateway sysctl net.ipv4.ip_forward=1 $ sudo ip link add svr-veth type veth peer name svrgw-veth $ sudo ip link add c
Linux が持つネットワーク仮想化機能の話。 kernel 2.6.24 以降でサポートされる。実行にはiprouteパッケージの 3(おそらく) 以降が必要。 Fedora16, 17、Ubuntu12.04 は標準で利用可能を確認。 RHEL6系はiprouteのバージョンが低いため利用不可。 利用可否は以下のコマンドで確認可能。 # ip netns このコマンドがエラーにならなければ、利用条件を満たせている(はず 利用方法は以下 一つのホスト内で独立したネットワーク環境を作成できる。 作成したネームスペースはホストの物理環境や、他のネームスペースの干渉を受けない。 特に1ホスト上での仮想マシンのネットワーク的な分離に利用される。 ■作成方法 # ip netns add testns01 ■ネームスペースの確認 # ip netns testns01 ■ネームスペースのネットワー
jaws2014_panel.md Immutable Infrastructure パネルディスカッション Immutable Infrastructure & Blue-green Deployment Martin Fowler氏 BlueGreenDeployment ImmutableServer Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components - Chad Fowler 邦訳 「Immutable Infrastructureと捨ててしまえるコンポーネント」 チャド・ファウラー氏 - Publickey 「Blue-Green Deployment」とは何か、マーチン・ファウラー氏の解説 - Publickey Immutable Infrastr
@hirose31 さん経由で @con_mame さんからお話をいただき、 JAWSDAYS 2014 の「これで最強AWSに」というセッションで話をしてきました。 内容としては、オンプレも AWS も運用してる立場から両者を比較してみてどうなのといった感じのお話です。 2014/03/15 JAWS DAYS 2014 - 『これで最強のAWSに』セッション #jawsdays #最強のAWS にツイートまとめがあるので、資料と一緒にご覧いただければと思います。 こんな話も出ていましたが、 AWS は必ずしも銀の弾丸ってわけではなく、どこの会社も悩ましい部分を抱えながら運用しているわけで、 @sgwr_dts さんの Roadworker のようにユーザ側でイケてる仕組みにするようなアプローチもありますが、このような機会を利用して AWS の中の人に直接フィードバックできたという意味で
先日、行ってきた、の記事を書きました。 今回はそこで教わった、彼らのグロースハックの話をまとめてみます。 はじめに deploygate という、非常に簡単にベータ版のアプリを特定の人にワイアレスで配信できる素晴らしいサービスがあります。 =宣伝ここから 無料!!!! iOS版・Android版両対応 ケーブル無しで、開発した瞬間自動でアプリを配布できる クラッシュログもlogcatも収集できる =宣伝ここまで このサービスを広く世の中に伝えたいということで、同じ開発者向けのサービスで成功を収めている GitHub さまにお話を伺った次第です。 銀の弾丸はない 他のサービスならいざしらず、開発者向けのサービスに広告は無力です。 GitHub の方々は、20名程度の規模感になった時に以下の様な施策を打ちました。 19人は近場の meetup, drinkup, hackathon 等に積極的
Blog Projects Jason Wilder's Blog Software developer and architect interested in scalability, performance and distributed systems. Docker Log Management Using Fluentd Mar 17, 2014 · 5 minute read · Comments logging fluentd docker Docker is an open-source project to easily create lighweight, portable and self-sufficient containers for applications. Docker allows you to run many isolated application
この数年来の流れを引き継ぎ、本年も起業やスタートアップ企業の資金調達が活発に続いています。 これらの企業が成長していく過程において、単独で株式を公開する、他社との提携によって成長を加速する、あるいは創業者が他社に株式を売却することによってサービスの世界展開を目指す、などの大きな意思決定が必要になる時が必ず訪れます。 起業や資金調達については、その数が多いこともあり、実態やノウハウが共有されることも以前に比べるとかなり多くなりましたが、一方でM&Aについては、アメリカでは創業者Exitの9割がM&Aによる、とも言われているにもかかわらず、その実態やノウハウは、これまであまり共有されることはなく、特に買う側となることが多い事業会社からのアウトプットは、ほとんど世に出てきていないのではないでしょうか。 本講座は、起業家や投資家の皆様、あるいは事業会社のM&Aご担当者を対象に、買い手がなにをどのよ
東京工科大は来春をめどに、オンプレミスサーバ約100台で運用していた業務システムを撤廃してクラウドサービスに完全移行する。その背景と狙いを聞いた。 東京都八王子市に本部を構える東京工科大学は、国内でいち早く先進的なICT教育に取り組んできた大学の1つだ。2000年代前半には八王子キャンパスの全学生にノートPC携帯を必須としたほか、近年では学生がクラウド経由でプログラミング学習を行えるシステムなども構築、運用している。 そんな同大は2014年春、学内ネットワーク環境を全面刷新し、オンプレミスサーバで運用していた業務システムをクラウドサービスに完全移行するという。プロジェクトを指揮しているコンピュータサイエンス学部の田胡和哉教授に、取り組みの背景と狙いを聞いた。 システム全体が老朽化…「再起動のたびトラブルが起きていた」 同大が本格的なICT活用に取り組み始めたのは2003年のこと。八王子キャ
アップデートは本日から提供開始予定で、TV SideViewの新機能(外出先でのテレビ視聴)の利用は有料(500円)となる。 アップデートでスマホから試聴可能になるのは、BDレコーダーで録画した番組と、BDレコーダーで受信可能な地上デジタル(ローカル局含む)、WOWOWとディズニーチャンネルを除くBSデジタルのライブ放送。CSデジタル放送はTV SideViewの番組表が対応しないため、非対応となる。また、BDレコーダー「BDZ-E510」を使用する場合は録画番組の視聴のみとなる(ライブ放送には非対応)。 技術的にはDTCP+と独自のNAT越えサービスを組み合わせており、国内はもちろん海外からも自宅のBDレコの映像を視聴できる。 画質は720p(3.5Mbps)/360p(1.32Mbps)/180p(650kbps)の3段階から選べ、回線状況に合わせてチョイスできる。BDレコーダーとスマ
static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く