タグ

ブックマーク / tech-sketch.jp (18)

  • 書籍「Chef活用ガイド」を頂いたので読みました - Tech-Sketch

    4/25にインフラ環境の構築や構成管理の自動化ツールである「Chef」に関する書籍「Chef活用ガイド」が発売されました。私もこのTech-SketchでChefの記事( 【Chef】Custom LWRPsで独自のResourceを作る方法 )を書いていたこともあり、とても興味があったので読んでみたいと思っていたところ、なんと書籍の監修であるクリエーションライン株式会社様より書籍を頂きました!このようなとても嬉しいサプライズをありがとうございます。僭越ながら書籍の紹介と共に読んだ感想を少し書かせて頂こうと思います。 「Chef活用ガイド」とはどんなか この「Chef活用ガイド」を手にとった方は誰もがこう思うでしょう。「重いっ!」「分厚いっ!」総ページ数はなんと671ページもあります。ページ数を見るだけでも濃い内容だということが伺えますが、実際に読んでみると、Chefの概要や理念やアーキ

    okinaka
    okinaka 2014/05/26
  • serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch

    仮想化やクラウド化が進み、インフラ環境をプログラマブルに構築できるようになってきました。この流れにより、サーバ構築をプログラムにより自動化することも多くなってきています。自動化が進むと、当に意図した通りに正しくサーバのインストールや設定が実施されているかの確認テストも自動化することが求められるようになってきています。 記事では、このような場面で有用なサーバ状態のテスト自動化フレームワークであるserverspecを紹介します。 serverspecとはなにか? 既に多くの技術系記事にて、serverspecの紹介がされているためご存知の方も多いかと思いますが、技術ブログでは初登場のテーマであるためserverspecとはなにか?から順を追って解説します。 serverspecは宮下剛輔氏によって開発されたサーバの状態をテストするためのフレームワークです (Serverspec公式

    serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch
  • テスト管理ツールを活用したテスト工程の効率化 ~(3)テストケースを再利用したテスト実施計画の作成 - Tech-Sketch

    私たちは昨年、ソフトウエア開発プロジェクトのテスト工程の効率化に取組みました。効率化を実現するアプローチは多様ですが、今回の取組みでは、効率化可能なアクティビティを支援する即効性の高いツールを作成・適用する方針で進めました。実際に多くの開発プロジェクトが活用し、作業を効率化しています。この記事では、複数回に分けて私達の取組みと成果を紹介します。 前回 は、対象システムのライフサイクルに渡って維持・メンテナンスするべきテストケースのマスタ管理について説明しました。この回では「テストケースの選定とテスト実施スケジュールの設定」について説明します。(下図「実施テストケース選択」と「テスト実施者、予定日登録」の部分) PJテスト計画を作成する テスト管理ツールでは、「PJテスト計画」というプロジェクト的なものをユーザが定義し、その単位で実施テストケースやその予定/実績、発生不具合を管理します。ユー

    テスト管理ツールを活用したテスト工程の効率化 ~(3)テストケースを再利用したテスト実施計画の作成 - Tech-Sketch
  • OpenStack Havanaを構築してみる - Tech-Sketch

    OpenStackはオープンソースのクラウド基盤ソフトウェアです。今回は2013年10月にリリースされた最新バージョンのHavanaを構築してみます。 OpenStackの概要 OpenStackはオープンソースのクラウド基盤ソフトウェアです。最近では、同様のクラウド基盤ソフトウェアである CloudStack や Eucalyptus と合わせて、クラウドOSという呼ばれ方をするようになりました。 OpenStackは2010年にRackSpace社とNASAが中心となりスタートしたプロジェクトで、現在は2012年9月に発足したOpenStack Foundationの運営のもとコミュニティによって開発が進められています。日にもユーザーコミュニティがあり、 日OpenStackユーザ会 が2010年10月から活動しています。 現在のOpenStackの最新バージョンは2013年10月

    OpenStack Havanaを構築してみる - Tech-Sketch
  • Jasmine/QUnitのテスト中にスクリーンキャプチャするプラグイン - Tech-Sketch

    JavaScriptに対する自動テストツールも充実し、Jenkinsなどを用いてCIをまわす人も増えてきました。 しかし、レスポンシブレイアウトや、Floatのレイアウト崩れなど、人間が見ればすぐに分かる「見た目」に関する問題は、自動テストによる判定がし辛いのが実情です。 この記事では、この問題を解決するために作成した、テスト中にスクリーンキャプチャを取るためのプラグイン「phantom-capture」を紹介します。 現状の問題点 Jasmine や QUnit といったテストフレームワークや、 PhantomJS , sinon.js といったツールの助けを借りることで、JavaScriptの自動テストが行えるようになり、サーバ側だけではなく、クライアント側にも自動テストを適用する人が増えてきています。 ビジネスロジックやバリデーション、DOMの構築結果などは問題なくテストすること

    Jasmine/QUnitのテスト中にスクリーンキャプチャするプラグイン - Tech-Sketch
  • マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch

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

  • Fluentdの仕組み -バッファ機能でログ収集漏れを防ぐ- - Tech-Sketch

    OSSのログ収集管理ツールFluentdを用いてログを統合管理している場合の懸念点として、ログの収集漏れが考えられます。 Fluentdでは、バッファ機能を活用することでログを収集漏れすることなく確実に収集することができます。 このバッファ機能のメカニズムを理解すべく動作検証した結果を紹介します。対象とするFluentdのバージョンは0.10.30です。 Fluentdとは Ruby実装のOSSのログ収集管理ツールです。 Fluentdは、Input、Buffer、Outputの3つのコンポーネントで実現されています。 様々な場所からログを収集、JSON形式に変換し(Input)、蓄積(Buffer)、様々な出力先にデータ出力(Output)します。 例として、あるサーバ(server01)のApacheのアクセスログを別のサーバ(server02)内にファイルとして出力する場合

  • Amandaを使ってバックアップ(PostgreSQL編) - Tech-Sketch

    データベースのバックアップは、停止状態ならば単なるファイルコピーだけで非常に簡単ですが、実際の運用においてはシステムを止めることができないことも良くあります。 Amandaでは、PostgreSQL用のプラグイン「ampgsql」が提供されており、バックアップ時に使用することでオンラインバックアップが可能です。 今回はampgsqlでPostgreSQLのオンラインバックアップ~リカバリの手順が正常に実施できることを確認してみました。 AmandaのPostgreSQL用ツール「ampgsql」 Amanda では「ampgsql」というプラグインで PostgreSQL のオンラインバックアップが行えます。なお、ampgsql の実体は以下の処理を呼び出す Perl スクリプトで、PostgreSQLドキュメントの 24.3. 継続的アーカイブとポイントインタイムリカバリ(PITR

  • Amandaを使ってバックアップ(Amazon S3編) - Tech-Sketch

    Amanda試用レポートの第4回目は、クラウドへのバックアップ機能のご紹介です。 Amandaは無料のコミュニティ版でもAmazon S3へのデータ保存に対応しており、HDDやテープへのバックアップと同じ操作でバックアップ/リカバリが可能です。 Amazon S3へ保存してみよう 完成イメージ バックアップサーバのHDDにいったんバックアップデータをため込んでから、S3へ保存するので、保存中に接続が切れてもHDD上にデータが残る仕組みになっています。 amanda.confの設定 S3への接続に必要なアクセスキー IDとシークレットアクセスキーのペアを確認しておきましょう。AWS Management Console右上のユーザ名→Security Credentials→アクセス証明書の「アクセスキー」タブで確認できます。 ここではアクセスキー ID:ACCESS_KEY_ID、シー

  • Amandaを使ってバックアップ(導入編) - Tech-Sketch

    システムの運用を考える上でバックアップは欠かせません。つい最近、社内システムのバックアップ環境を構築する機会がありましたので、そこで採用したOSSのバックアップツール「Amanda」の機能を4回に分けて紹介します。 今回はAmandaの概要と導入時のTIPS編です。 Amandaについて 今回採用した Amanda はサーバ用OSSバックアップツールの定番ソフトウェアの一つで、以下のような特徴があります。 ネットワークに接続された複数台のクライアントを1台のサーバにまとめてバックアップすることが可能。 設定によりユーザ作成のスクリプトを起動させることが可能。 バックアップ所要時間が毎日ほぼ同じになるようにバックアップレベルを最適化する。 対応するバックアップメディアが豊富。(各種テープ、HDD、リムーバブルディスク、Amazon S3等) 対応OSが幅広く、複数OS混在環境でもバックアップ

  • JobSchedulerで実行したJobをZabbixで監視する① - Tech-Sketch

    以前、Tech-Sketchで Software-und Organisations-Service GmbH (以降SOS社)のJobSchedulerに関してご紹介しました。(以前の記事については こちら をご参照ください) 実際にJobSchedulerを使ってみたので、2回に分けてJobSchedulerで実行したJobの実行履歴をZabbixで監視する方法をご紹介したいと思います。 今回はJobSchedulerのインストールからJobの登録・APIの使い方をご紹介します。次回の記事でZabbixとJobSchedulerを連携させ、JobSchedulerのWebAPIを使ったJobの実行履歴を監視する方法についてご紹介します。 JobSchedulerのインストール まずはJobSchedulerをインストールします。今回はCentOS6.3(64bit)にインストールする

    okinaka
    okinaka 2013/04/22
  • マルチマスタ型アーキテクチャ & 分散内部DNSのススメ - Tech-Sketch

    クラウド&ビッグデータ時代の到来に伴い、 Apache Cassandra や elasticsearch といった、「全てのノードが対称な役割を果たす」ことで「単一障害点が無く」「ノード追加に比例して性能が向上する」マルチマスタ型アーキテクチャに注目が集まっています。しかしこれらを利用する際、「クライアントはどのノードに接続すればいいのか?」というのが結構悩ましかったりします。今回は、分散内部DNS Murakumo を用いた解決方法を紹介します。 マルチマスタ型アーキテクチャ 言葉を尽くすより、図を見るほうがよっぽどわかりやすいでしょう。Cassandraを例にして説明します。 この図のように、マルチマスタ型アーキテクチャでは全てのノードが同じ役割を果たします。例えば Apache Hadoop のNameNodeのような、「クラスタを構成するデータノードの状態とデータ断片の位置情報」

    okinaka
    okinaka 2013/03/05
  • Chef の勉強会をやってみた - Tech-Sketch

    先日、サーバを自動構築するツール「Chef」について社内で勉強会を行いました。 ここでは、勉強会で取り上げた内容に触れつつ、私が Chef を使ったきっかけや、Chef をしばらく使ってみた印象について書いてみようと思います。 Chef とは? サーバを自動構築する「Chef」というツールをご存知でしょうか? ChefのWebサイト(米OPSCODE社) Chef は米 OPSCODE 社が開発、保守している Ruby 製のツールで、あらかじめ定義しておいた状態に合わせて、サーバを構築したり、システム構成を変更する作業を自動化することができます。 同様の OSS ツールとして有名なのが Puppet ですが、それに並ぶツールとして Chef は近年急速に人気を集めてきています。 Chef を使い始めたきっかけ 私は弊社内でオープンソースソフトウェア(OSS)活用の推進役を担っており、活動の

    okinaka
    okinaka 2013/02/04
  • Guardでファイル変更を監視して作業を自動化する - Tech-Sketch

    CUIで開発しているときにエディタでファイルを編集し、shellで何かを操作するというようなことってよくありますよね。 たとえば、ソースコードを編集したあと、コマンドでコンパイルしたりテストを実行したりなど。そういう単純かつ単調な繰り返しなんかは、リズムが悪くなりますし面倒ですよね。そういうときはGuardを使って自動化しましょう。 Guardって? Guardは簡単にファイルシステムの変更イベントを扱えるツールです。 https://github.com/guard/guard Guardには160以上のプラグインがあり、Guardで監視しているファイルの変更が発生した時に、shellなどのコマンドを実行できます。(https://rubygems.org/search?query=guard-) ということで、今回は汎用性の高いshellを実行するプラグインguard-shell

    okinaka
    okinaka 2013/01/29
  • 日本語連続音声認識エンジン"Julius"をAndroidで動作させる 1 - Tech-Sketch

    iPhone4SやiPhone5をお持ちのみなさん、 Apple Siri は活用していますか?NTT docomoのスマートフォンをお持ちの方は、 しゃべってコンシェル を使ってらっしゃいますか? AndroidやiOSを搭載したスマートデバイスが花盛りの昨今、Apple Siriやしゃべってコンシェルのような スマートデバイスに話しかける」ことで何らかのアクションを起こさせるサービスが、特別な機器を揃えずとも使えるようになりました。 このようなサービスは一般消費者にとっても有用ですが、スマートデバイスを企業内で利用するシーンでは特に力を発揮します。 例えば両手がふさがった状態で機械の整備をしている時に、胸ポケットに入れたスマートデバイスに「次は何をするんだっけ?」と話しかけたら、「次は右の3番ボルトを10N.mのトルクで締めてください」とか答えてくれたら、すごく便利ですよね。 この

    okinaka
    okinaka 2012/11/26
  • OSSのJobSchedulerを使ってジョブ管理 - Tech-Sketch

    皆さん、Job管理はどのように行なっていますか? 簡単なものであればcronで実行している方も多いかと思います。 ジョブ同士に関連を持たせたりと複雑な管理をする場合には JP1 、 A-AUTO 、 Tivoli 等の商用ツールを利用する場面もあります。 OSSのジョブ管理ツールとしては Hinemos が有名ではないでしょうか。 今回紹介するのは、OSSで、かつ非常に多機能なジョブ管理ツールである「 JobScheduler 」です。 JobSchedulerは、ドイツの企業である「 Software-und Organisations-Service GmbH (以降、SOS社とする)」が開発を行なっています。 JobSchedulerは非常に有用な機能を多く含んでおり、 また、ヨーロッパを中心に非常に多くの利用実績があります。 金融機関のシステムなど、ミッション・クリティカ

  • 「GitLab」を使ってGitリポジトリを管理 - Tech-Sketch

    GitLabとは? GitLabとは、GitHubのようなサービスを社内などのクローズドな環境に独自で構築できるように公開されたオープンソースです。 GitHubだと開発した成果物が社外に保存されるということで業務利用が敬遠されることがあると思います。 しかし、開発者にとってGitリポジトリが管理できるGitHubは非常に便利で使い勝手のいいものです。 それを社内にも構築できるようになるということで関心をもたれる開発者の方々も多いのではないでしょうか。 GitLabがどういう仕組みで稼働しているのか、またどういう運用をすればいいのか、その際の注意点など、 筆者が実際に導入した経験をもとにご紹介したいと思います。 どういう仕組み? GitLab1がどういう仕組みで稼働しているのかについて説明します。 GitLabRuby on Railsで実装されています2。 基的にGitL

  • OSS統合監視ツール「Zabbix」を利用して大規模環境監視(2) - Tech-Sketch

    前回の記事では、Zabbixのテンプレート機能の有効な利用方法について紹介いたしました。 第2回目の今回は、「ディスカバリ機能」、「自動登録機能」を紹介したいと思います。 サーバの運用管理をされている担当の方で、数十台、数百台と大量のサーバを管理されている方も多いかと思います。 また、新しくサーバが追加されたり、不要になったサーバを廃棄したりと常に環境が一定であることも少ないかと思います。 そういった環境の統合監視をする場合、監視の設定変更に非常に時間がかかってしまったりと運用コストが高くなってしまいます。 そのような状況を少しでも解消するためにZabbixでは「ディスカバリ機能」や「自動登録機能」という便利な機能が備わっています。 (ディスカバリ機能はZabbix1.4以降、自動登録機能はZabbix1.8以降で導入されている機能です。) 今回はこの2つの機能についてご紹介します。 なお

  • 1