2. Who ● @mainyaa ● Kazuyuki Mori ● フロントエンドからバックエンドまでやる系エンジニア ● AngualrJSとDocker大好き ● Topgate, Inc. - http://www.topgate.co.jp/ ● Happy New World - http://d.hatena.ne.jp/mainyaa ● 日経ソフトウエア 2014年06月号 でDockerの記事書いてます ○ WindowsでDockerやりたい人向け(ステマ)
![Docker基礎+docker0.9, 0.10概要](https://cdn-ak-scissors.b.st-hatena.com/image/square/ccddbf586dd5552fe5549090702392f46fc3fcd1/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fdockerdocker0-140411050912-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
はじめに 平成21年春のLinux Storage & Filesystems Workshopで、LinuxカーネルにUnionMountという機能を実装することについて話し合われました。 UnionMountとは、かつてのSunOSに実装されていたTranslucent(Transparent)FilesystemやBSDのunion mountに相当する機能で、すでにディスクをマウントしているディレクトリ(マウントポイント)に別のディスクを重ねてマウントし、1つのマウントポイントから2台のディスクを同時に使用可能にするものです。例えばLiveCD(HDDへインストールせずにCD/DVD/FlashのみでLinuxを起動し、使用可能にする環境)などではこの機能を積極的に利用しています。 この記事ではLinuxカーネルにこの機能を実装するこれまでの試みと、前述の話し合いの結果としてLin
2. 形あるものは必ず壊れるのでリカバリが必要 止められないサービスなら切り替わる必要がある 復旧にかかる時間を自動化により削減したい サービス断時間を少なく抑え機会損失を防ぐ 復旧操作の自動化により人によるオペーレーション の不確実性を緩和 復旧時の人的リソースを削減できる データの保全性を向上 ※HA構成はバックアップの代用にはなりません (オペレーションミスもレプリケーションされるためです) 3. 従来の冗長構成(heartbeat+mon+mysql) MHA(mysql5.5まで) mysqlfailover(Mysql5.6以降) (費用的に)需要が少ないが以下構成も可能 • AmazonRDS(現在MySQL5.5まで、排他制御) • Heartbeat-v3+SharedDisk構成(排他制御) ※PostgreSQL,MySQL+V
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
B! 70 0 0 0 Gitのsubmoduleがいつもイマイチ良くわからなくなるので 自分なりのまとめ。 レポジトリにsubmoduleの追加 submoduleのあるレポジトリをcloneする submoduleの更新 submoduleの削除 ignore = dirty Submoduleのプロトコルの変更 レポジトリにsubmoduleの追加 git submodule addで追加。 $ git submodule add [email protected]:rcmdnk/evernote_mail.git ./submodules/evernote_mail addすると.gitmoduleというファイルがまだ無い場合は作られ、その中に [submodule "submodules/evernote_mail"] path = submodules/evernote_mai
前回の記事でGitHubとJenkinsを用いた自動デプロイ環境の概要をご説明しました。 GitHubやJenkinsと連携した開発環境作成でのrsyncとの出会い 今回は、その環境を実現するための設定手順を書いて行きたいと思います。 大きく4つの手順があります。 Jenkinsのインストール Apacheの設定 JenkinsとGitHubの連携 自動デプロイ設定 開発環境 ・CentOS 6.2 ・Apache がインストール済み Jenkinsのインストール まずは、Jenkinsのインストール 通常ならば、運用するサーバとJenkinsが動いているサーバを分けるべきですが、サーバコストの都合などで今回は同一サーバ上で動かすことにします。 ApacheサーバとJenkinsサーバが同じport80で待つことはできないので、jenkinsをport:8080で動かすことにします。 また
大垣さんのブログエントリに刺激を得て、古いmb_eregの挙動を調査しました。その結果、 PHP4.2.x上のmb_eregは複数行モードで動作していたことが分かりましたので報告します。 前回までのまとめ 「正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう」にて、Ruby、Perl、PHPの正規表現では、^ と $ は、「行」の先頭と末尾を示していて、文字列の先頭と末尾を指定するには、\A と \z を使うべきであることを説明しました。そして、Rubyの場合はデフォルトが複数行モードであるので、^○○○$ という形で全体一致検索を指定したつもりでも、簡単にチェックをすり抜け重大な脆弱性に直結します。一方、PerlやPHPの正規表現はデフォルトでは単一行モードであるので、文字列末尾の改行をチェックできないという問題はあるものの、重大な脆弱性に直結するケースはあ
今回もgifを撮ってみました。 取得に3秒かかるコードでTTLは10秒です。expire時の動きを見てみてください。 検証コード ■date.php <?php header('Cache-Control: max-age=20'); echo date("Y/m/d H:i:s")."\n"; sleep(3); ■vcl@3.0.5 sub vcl_fetch{ set beresp.do_stream = true; set beresp.ttl = 10s; set beresp.grace = 10m; } ■vcl@4.0.0 sub vcl_backend_response{ set beresp.do_stream = true; set beresp.ttl = 10s; set beresp.grace = 10m; } grace動作 3.0.5 4.0.0 3.0で
継続的インテグレーション(CI:Continuous Integration)を強力にサポートするツール 「Jenkins」 の機能や操作方法について解説していきます。今回は導入から簡単なジョブを実行するまでの初級編です。 はじめに 本記事 「Jenkinsチュートリアル」 では、継続的インテグレーション(CI:Continuous Integration)を強力にサポートするツール 「Jenkins」 の機能や、特に操作方法に焦点を当てて、その使用方法について解説していきます。 今回の初級編では、Jenkins に全く触れたことのない方向けに Jenkins を入手する所から、ジョブの作成、実行、結果の確認までを、一通り紹介します。Jenkins の基礎・基本となる必要最低限の使い方の説明に留めるため、応用や、より高度な活用方法については中級編以降をお待ち下さい。 Jenkinsについて
JVNやJPCERT/CCの記事があまりにもさらっと書かれていて、具体的なリスクが想像しづらいと思うので説明します。 今北産業 (今ニュース見て来たから三行で教えて欲しいという人向けのまとめ) インターネット上の「暗号化」に使われているOpenSSLというソフトウェアが2年間壊れていました。 このソフトウェアは便利なので、FacebookだとかYouTubeだとか、あちこちのウェブサイトで使っていました。 他の人の入力したIDとかパスワードとかクレカ番号とかを、悪い人が見ることができてしまいます。(実際に漏れてる例) 他にも色々漏れてますが、とりあえずエンジニア以外の人が覚えておくべきはここまででOKです。もう少し分かりやすい情報が以下にあります。 OpenSSL の脆弱性に対する、ウェブサイト利用者(一般ユーザ)の対応について まだ直っていないウェブサイトもあれば、元々壊れていないウェブ
近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関
RedisでSentinelを使った構成で組んでいると、レプリケーションの制御をSentinelがよしなにやってくれるんだけど、あるSlaveノードを永久に切り離したいってなった時に、どうやるかって話。使っているバージョンは2.8系(下記のテストで利用したのは2.8.7。) 結局、ベストなやり方がわからないのだけど、以下のような感じで実施している。(いいやり方があれば教えてください。) 問題 通常、Redisでレプリケーションの解除は、 $ redis-cli slaveof no one"SLAVEOF no one"コマンドを使うと良いのだけど、これだけだとSentinelが保持しているスレーブノードの情報は保たれたままなので、しばらくするとSentinel君が、レプリケーションが切れていることを検知して自動で再開してくれるような挙動になる。 なので、Sentinelからスレーブノード
はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「本当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 本日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く