タグ

n_matsuiのブックマーク (149)

  • マルチホストDockerネットワーキング(native overlay) - Qiita

    2015/11/13追記 docker 1.9 正式版での検証した記事を、マルチホストDockerネットワーキング(正式版 native overlay)で公開した。 正式版のoverlay networkは、サブネットアドレスが指定できるようになるなどかなり進化しているため、今後はコチラを参照してほしい。 ずいぶん間が空いてしまったが、マルチホストで動作するDockerネットワーキングツールについてのまとめ第四弾。 (第一弾:pipework+GRE) (第二弾:etcd+flannel) (第三弾:weaveworks/weave) 今回はDockerのnative overlay networkを取り上げる。 Dockerのnative networkについて Docker libnetworkのWiki pageにあるように、Dockerは1.7.0からネットワーク機能を「libn

    マルチホストDockerネットワーキング(native overlay) - Qiita
  • マルチホストDockerネットワーキング(1) | Tech-Sketch

    みなさんDockerを利用しているでしょうか。Dockerを使ったことのある方は、そのネットワーク周りに不便を感じたことはないでしょうか。今回はDockerのネットワーク周りを概観し、Dockerをコンテナ型仮想化エンジンとして見た場合のネットワーク周りの問題点について解説します。また次回以降の記事で、その問題点を解決する既存の取り組みやツールについて触れていきます。 Dockerとは そもそもDockerとは、当時のdotCloud社(現Docker社)が自社のパブリックPaaSを実現するために、アプリケーションの実行環境をポータブルにしていつでも簡単に立ち上げられるように開発した技術が根幹となっています。様々なLinuxコンテナ技術を用いたリソース隔離も、コピーオンライトで差分管理を行うファイルシステムも、またOSやミドルウェアを自動構成してデプロイする仕組みも、もともとはPaaSを形

    マルチホストDockerネットワーキング(1) | Tech-Sketch
  • 絶対に押さえておきたい、超高速システム構築5要件と3つのテクノロジ

    絶対に押さえておきたい、超高速システム構築5要件と3つのテクノロジ:クラウド時代のアジャイルシステムインテグレーション(2)(1/4 ページ) 多くの企業にとって“クラウドファースト”がキーワードとなっている今、クラウドを「適切に」活用する能力はSIerIT部門のエンジニアにとって必須の技能となっている。今回はビジネス要請にアジャイルに応える「クラウドファースト時代のシステムインテグレーション」に必要な要素技術を解説する。 連載目次 クラウド時代のアジャイルなシステムインテグレーション 前回はクラウドが多くの企業に浸透している現状とともに、従来の「システムごとに最適化された、手作業を前提としたシステムインテグレーション」と、「クラウドを前提としたアジャイルなシステムインテグレーション」の違いを解説しました。今回はもう少し踏み込んで、後者のスタイルを実現するための要素技術を解説したいと思い

    絶対に押さえておきたい、超高速システム構築5要件と3つのテクノロジ
  • SoftLayer BareMetal上でOpenStack Icehouseを動作させる | Tech-Sketch

    ※ 2014年SoftLayer Advent Calendar 1枚目の21日目です。 SoftLayerの特徴のひとつとして、broadcastやmulticastが通り、IP aliasも利用できる「普通」のネットワークを持ったベアメタルサーバを利用できる点が上げられます。 今回はその特徴を最大限に活用し、SoftLayer上にOpenStack Icehouseをインストールします。 今回構築するOpenStack on SoftLayerの全体像 構築要件 今回のOpenStack on SoftLayerは、構築者が個人で検証活動に利用することを前提に、以下の要件を満たすようにインフラを構成します。 OpenStackの各種コンポーネントは、同一ベアメタルサーバ上に、できる限り簡単にインストールできるようにする インターネットにはOpenStackのAPIGUIを公開しない

    SoftLayer BareMetal上でOpenStack Icehouseを動作させる | Tech-Sketch
  • CentOS7でOpenVNetを動作させよう - Qiita

    この記事は、Wakame-vdc / OpenVNet Advent Calendar 2014の19日目です。 OpenVNetのInstall Guideを見る限り、OpenVNetが動作保証されているOSは下記のようにかなり限定されています。 OS Kernel RHEL6系(CentOS6系)は2020年11月30日までメンテナンスされるとしても、最新OSで動作するに越したことはありません。そこでCentOS7にOpenVNetをインストールしてみました。 Vagrant Box 下記手順を一つずつ実施するには、かなり手間と時間がかかります。そこでchef/centos-7.0のbox上にOpenVNetをインストール(下記手順の1.〜7.まで実施)した、openvnet-centos7 boxをVagrant Cloudで公開しました。 $ vagrant init nmatsu

    CentOS7でOpenVNetを動作させよう - Qiita
  • SoftLayerの仮想ネットワークでmulticastDNSを試してみた | Tech-Sketch

    いつでも簡単にサーバを立ち上げることができるクラウドは大変便利ですが、オンプレミスで実装している機能が全てクラウド上で再現できるとは限りません。特に仮想ネットワークはアーキテクチャが複雑なため、仮想IPとmulticastを用いた冗長化などunicast以外の通信が必要な機能は、対象のクラウド上で問題なく動作するのか実際に確かめる必要があります。今回はSerfクラスタをクラウドの仮想ネットワーク上へ構築する場合を例に取り、AWSとSoftLayerの仮想ネットワークのアーキテクチャの差異について見ていきます。 AWS VPCのネットワーク AWSAmazon Web Service)は、Amazon.comが提供しているクラウドサービス群の総称です。コンピュートサービスのAmazon EC2(Elastic Computing Cloud)やストレージサービスのAmazon S3(Sim

    SoftLayerの仮想ネットワークでmulticastDNSを試してみた | Tech-Sketch
  • SoftLayerのPrivateVLAN上でSerf discover - Qiita

    AWS VPC上の仮想ネットワークはmulticastとbroadcastを明示的に禁じているが、SoftLayerの仮想ネットワークにはそのような記述は見当たらない。 ということで、Serf0.4から実装されたmulticastDNSを用いたdiscover機能を使って、SoftLayerのPrivateVLAN上でmulticastが通るのか実験してみた。 --11/01追記-- 異なるPrivateVLANに所属するノードでも自動ディスカバリできるか追加実験してみた。 実験1 SoftLayerで3台のVirtual Serverを起動(DCはSan Jose 1、OSはUbuntu Server 14.04)。 これらのeth0は同一のPriavateVLAN(VLAN 2603) & Private Subnet(10.54.222.128/26)に所属している。 ホスト1 (s

    SoftLayerのPrivateVLAN上でSerf discover - Qiita
    n_matsui
    n_matsui 2014/10/31
    SoftLayer上でマルチキャストが通った話をさくっと書きました。 [SoftLayer][Serf]
  • CloudWatch+IFTTTによる監視アラートのソーシャル連携 - Tech-Sketch

    AWS上でシステムを運用する場合、Amazon CloudWatchでシステムを監視させ、障害発生時にCloudWatchから通知を受け取ることで、迅速に障害対応をすることができます。今回はCloudWatchをGmailを介してIFTTTと連携させ、CloudWatchからの通知をソーシャルサービスで受け取る方法について解説します。 統合監視とAmazon CloudWatch システムダウンやパフォーマンス劣化などに対応するために、 Zabbix や Hinemos 等を利用した統合監視システムを別途構築する場面は多々あります。しかし統合監視システム自身がダウンしてしまっては意味がないので、統合監視サーバや監視ネットワーク自身も高可用にする必要があり、その構築には手間とノウハウが必要になります。 そのため情報発信サイトのようなシンプルで軽いシステムをクラウド上で運営したい場合には、ク

    CloudWatch+IFTTTによる監視アラートのソーシャル連携 - Tech-Sketch
    n_matsui
    n_matsui 2014/10/20
    ちまっとした記事が公開されました
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(実装編1)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    WebRTC(PeerJS)で遠隔作業支援システムを作る(実装編1)
    n_matsui
    n_matsui 2014/09/26
    全3回のうちの2回目です
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(基礎知識編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    WebRTC(PeerJS)で遠隔作業支援システムを作る(基礎知識編)
    n_matsui
    n_matsui 2014/09/26
    全3回のうちの1回目です
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(5) - Tech-Sketch

    WebRTCを用いた遠隔作業支援システムを作ります。 前回 はシグナリング処理からスマートグラスのカメラ映像をリアルタイムで監視端末に表示する部分までを解説しました。最終回の今回は、DataConnectionを用いたテキストメッセージや画像の転送処理、及び接続終了処理について解説し、遠隔作業支援システムとして完成させます。 DataConnectionによるデータ転送の処理フロー 前回 までで、信頼性の有る状態でDataConnectionのP2P接続が確立しました。では実際に、監視端末からスマートグラスへデータを転送します。 遠隔作業支援システムではDataConnectionを通じて以下3種類のデータを転送しますが、P2Pの通信経路を通すためにはデータをシリアライズしなければなりません。 イベント通知 テキストメッセージの転送 画像の転送 転送データのシリアライズ PeerJSはD

    WebRTC(PeerJS)で遠隔作業支援システムを作る(5) - Tech-Sketch
    n_matsui
    n_matsui 2014/08/25
    現業務とかすりもしないWebRTCの記事5回目(最終回)を公開しました。DataConnectionを使いテキストや画像を転送します。
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(4) - Tech-Sketch

    WebRTCを用いた遠隔作業支援システムを作ります。 前回 はCoffeeScriptで記述されたモジュールの全体構成と、PeerJS & MediaStreamの初期化処理について説明しました。今回はWebRTCの肝となるシグナリング処理からスマートグラスのカメラ映像をリアルタイムで監視端末に表示する部分までを解説します。 シグナリングの処理フロー 前回 まででPeerJSの初期化が完了し、peerjs-serverとのWebSocket接続が確立されてユニークIDが通知されました。またMediaStreamも取得してあり、デバイス自身のカメラやマイクとの接続が確立しています。 では次に、スマートグラスと監視端末をP2P接続するシグナリングの処理フローとPeerJSを用いた実装をステップを追って確認しましょう。以下3つのステップで処理が行われます。 スマートグラスのPeerIDを監視端末

    WebRTC(PeerJS)で遠隔作業支援システムを作る(4) - Tech-Sketch
    n_matsui
    n_matsui 2014/08/18
    WebRTC(PeerJS)の記事第四回。シグナリング処理とP2P経路確立の部分。
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(2) - Tech-Sketch

    WebRTCを用いた遠隔作業支援システムを作ります。 前回 はWebRTCの概要について説明しましたが、今回は遠隔作業支援システムを作るための準備として、スマートグラス( Vuzix M100 )とサーバサイド( node.js + express + peerjs-server )の環境構築について解説します。 スマートグラス Vuzix M100とは Vuzix M100 はVuzix社が開発した片眼非透過型のスマートグラスです。Android4.0系で動作しており、カメラ・マイク・スピーカーやGPS&磁気コンパス、3軸のジャイロ&加速度センサーなど、ひと通りのセンサー類が搭載されています。 Vuzix M100にはヘッドセットや保護メガネへのマウント用具が付属するなど、業務用途として利用することも念頭に置かれています。実際昨年開催されたSAP社が主催するイベント SAPPHIRE N

    WebRTC(PeerJS)で遠隔作業支援システムを作る(2) - Tech-Sketch
    n_matsui
    n_matsui 2014/07/28
    WebRTCの記事第二回です
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(1) - Tech-Sketch

    WebRTCという技術をご存知でしょうか。WebRTCとは「ブラウザ上でリアルタイムコミュニケーションを実現するためのAPI仕様」のことで、Flash等のプラグイン無しにカメラ映像や音声の共有、データの双方向通信を可能とする技術です。このWebRTCとスマートグラスを活用し、遠隔作業支援システムを作ってみましょう。 WebRTCとは WebRTCは "Web Real-Time Communication" から作られた言葉で、ビデオデバイス/オーディオデバイスから得たストリームデータのブラウザ間双方向リアルタイム通信や、テキストデータ・バイナリデータのブラウザ間双方向データ通信などを定めています。WebRTCはHTML5で新しく策定された規格で、WebRTCのAPIレベルでの標準化はW3C、プロトコルレベルでの標準化はIETFで進められています。 WebRTCのコア機能 WebRTCは規

    WebRTC(PeerJS)で遠隔作業支援システムを作る(1) - Tech-Sketch
    n_matsui
    n_matsui 2014/07/14
    [WebRTC][執筆記事] WebRTCの解説記事を書きました。全4回ぐらいになる予定。
  • PeerJSを用いたリモート監視システムのサンプル - Qiita

    WebRTCとNode.jsを用いたリモート監視システムのサンプルを書きました。 WebRTCを自力実装するのは結構面倒なため、PeerJSを利用しています。 またシグナリングサーバもPeerJSが提供するpeerjs-serverを利用しました。 利用したライブラリ peer:0.2.5 express:4.2.0 node:0.10.28 動作検証した環境 Google Chrome 35.0.1916.153 / Mac OS X 10.7.5 / Macbook Air Mid 2011 Google Chrome for Android 35.0.1916.141 / Android 4.2.2 / HTL22 Google Chrome for Android 35.0.1916.141 / Android 4.0.4 / Vuzix M100 Vuzix M100 Vuzix

    PeerJSを用いたリモート監視システムのサンプル - Qiita
    n_matsui
    n_matsui 2014/06/24
    記事書きました
  • http://atnd.org/events/49546

    http://atnd.org/events/49546
    n_matsui
    n_matsui 2014/04/17
    セミナー登壇します!
  • 数字6桁パスワードのMD5ハッシュ値をOpenMPを使って総当たり - Tech-Sketch

    皆さん、JALやANAのマイレージ番号は持っていますか。持っていらっしゃるエンジニアは、先日の JALマイレージWebサイトに不正アクセス、約2700万人にパスワード変更を依頼 (ITpro 2014/2/3) というニュースを見て、「数字4桁や6桁のパスワードなんてそもそもありえない」「脆弱な実装がとうとう公然化したか」と思ったことでしょう。実際数字6桁のパスワードハッシュなど、ごくシンプルなコードで一瞬で解析できてしまうのです。 「数字6桁パスワードのMD5ハッシュ値を総当たりする」という"お題" 「数字6桁パスワードのMD5ハッシュ値を総当たりする」というお題は、もともと kawasima氏 がQittaに投稿した パスワード問合せシステムを作る(clojureのreducers) に端を発します。 kawasima氏 に感謝を! 今回はこのお題を、Clojureと同じJVM上の言

    n_matsui
    n_matsui 2014/03/10
    Qittaの記事のまとめ版です http://qiita.com/nmatsui/items/dd70fd57d81bdd935f79 http://qiita.com/nmatsui/items/8a33941072668f3ac55b [執筆記事][Scala][OpenMP]
  • オープンソースの仮想ネットワークソフト「OpenVNet」が生まれたワケ

    データセンター仮想化からのスピンアウト Wakame Software Foundation(WSF)は2013年10月28日、仮想ネットワークオープンソースソフトウェア「OpenVNet」の初版をリリースした。同ソフトは、仮想ネットワークを実現するソフトウェアとして、世界で初めてOpenFlowの最新バージョン1.3に対応したオープンソースソフトウェアだ。LGPLv3に基づいて公開されており、誰でも無料で自由に利用できる。 今回は、OpenVNetの開発元で、WSFの運営代表を務めるあくしゅ(axsh)の代表取締役 山崎泰宏氏に同技術について話を伺った。 「OpenVNetは、WSFの既存プロジェクトである『Wakame-vdc』に組み込まれた技術を抜き出し、いくつかの機能を追加した“スピンアウト技術”です。そのため、Wakame-vdcを抜きにして話をすることはできません」 Wakam

    オープンソースの仮想ネットワークソフト「OpenVNet」が生まれたワケ
    n_matsui
    n_matsui 2014/01/09
    これは参考になる [OpenFlow]
  • マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch

    前回 の記事では、関数型プログラミングの概念とJava8による実装例を示しました。しかしJava8のリリースは来年まで延期されてしまったため、今すぐ試してみるには少しハードルが高いかもしれません。 そこで今回は、Java7のJVM上で動作する代表的な関数型プログラミング言語、 Scala と Clojure を紹介します。 Scalaとは では、 Scala から紹介しましょう。 ScalaはJVM上で動作するプログラミング言語で、関数型の特徴とオブジェクト指向の特徴を合わせ持った、欲張りな言語です。 JVM上で動作するため、既存の膨大なJavaライブラリをそのまま流用でき、JVMのパフォーマンスチューニングノウハウを最大限活用することができます。またJavaよりも豊富な記述形式を持ちながらもJavaオブジェクトをそのまま扱え、強力な型推論を持った静的型付け言語でもあるため、定型的で冗

    n_matsui
    n_matsui 2013/08/19
    先週のjava8の記事の続きで、scalaとclojureです
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

    n_matsui
    n_matsui 2013/08/13