タグ

ブックマーク / thinkit.co.jp (31)

  • Dockerの導入前の設計、CentOS 7.xとDockerのインストール

    いよいよ、Dockerの導入前のOSレベルでの設計、さらに具体的な導入に入ります。DockerLinux OSにインストールする手順自体は非常に簡単ですが、導入前の基設計を怠ってはいけません。Dockerを導入するにあたって、採用すべきOSのファイルシステムや、パーティションに関する基的な知識を習得しておく必要があります。ここでは、Dockerをインストールする前段階での、ハードウェアに関する様々な留意点を概要レベルで紹介します。また、Dockerをインストールする前段階で知っておくべき各種パラメータと初期設定、Dockerのインストール手順を紹介します。 物理サーバーのCPUに関する留意点 2015年8月下旬現在、最新のDockerでは、64ビットのx86アーキテクチャのサーバーシステムやPCで稼働させることができます。CPUの動作周波数などに特に制限事項はありませんが、まずは、D

    Dockerの導入前の設計、CentOS 7.xとDockerのインストール
  • クラウド向け分散データベースの事例

    はじめに 連載ではクラウドコンピューティングで利用される分散データベースの技術について紹介しています。第1回はクラウドコンピューティングの技術について概説し、その環境に対応するための新たな分散データベースの必要性について述べました。 今回はクラウド向け分散データベースの具体的な事例として、Googleの「BigTable」とAmazonの「Dynamo」について紹介したいと思います。少し耳慣れない言葉も出てくるかと思いますが、最後までお付き合いいただけると幸いです。 一般にハイスループット(高効率)とローレイテンシー(低遅延)がトレードオフの関係にあることはよく知られていますが、クラウドシステムもその例外ではありません。これらは最近でも、クラウド技術のシステム特性を理解する上で欠かせないトピックですが、分散データベースに関しては、ハイスループット重視のBigTableに対し、ローレイテン

  • RESTなWebサービスをPHPで操作する

    はてなブックマークのAtomAPIの概要と、アクセスに必要な環境 今回は、「RESTなWebサービスの利用/開発」の第3回として、より格的にWebサービスにアクセスする例を紹介します。RESTなWebサービスの1つとして、はてなブックマークの「AtomAPI」を例に取り上げ、Web開発用の簡易スクリプト言語であるPHPPHP:Hypertext Preprocessor)を使ってブックマークの追加/編集/削除を行う方法を解説します。 AtomAPIは、ブログなどのWeb上の情報を、Webアクセスに用いられるHTTP(Hypertext Transfer Protocol)を通して編集するためのプロトコルです。AtomAPIは通称で、正式には「The Atom Publising Protocol」(略称はAtomPub)と呼びます。 AtomAPIでは、一般にはRESTの形式で通信を行

  • [ThinkIT] 第9回:オープンソースソフトウェアの「Heartbeat」によるHAクラスタ (1/4)

    商用のクラスタソフトウェアがその市場を伸ばす中で、オープンソースソフトウェアによるクラスタソフトウェアも少しずつ改良が加えられ、その機能は進歩し続けています。 クラスタソフトウェアはミッションクリティカルな分野で使用されることが多いため、「ベンダーの保障がないと使用できない」と導入を躊躇する企業が多いと思われているかもしれません。しかし、その特徴と適用分野を見極めることで、有効な運用が可能になります。

  • [ThinkIT] 第1回:SOAPの概要 (1/2)

    ローカルのみでオペレーションを実行できない場合、または実行したくない場合にリモートプログラムを作成します。著者たちは、通常、PHPアプリケーションでこれを構築しています。 例えば、最新のロサンゼルスの天候を知りたいとします。このためには、ロサンゼルスの地方測候所のWebサイトに接続して、ローカルデータベースから、この情報を検索する必要があります。 Webアプリケーションでは、ユーザを見ているサイトから動かさずに、他のサイトのローカルデータベース情報を検索させる必要がある場合もあります。例えば、著者たちのPHPアプリケーションでは、Google APIにクエリを送信し、レスポンスを取得します。 例えば、オンラインショッピングサイトで商品を販売する際、決済方法として、オンライン決済サービスの1つであるPayPalを利用したいと考えたとしましょう。そのためには、あなたのショッピングサイトとPay

  • 主要なPostgreSQLクラスタ

    はじめに 今回は、数多くのPostgreSQLクラスタから、代表的な4つのソフトを紹介します。 Slony-I pgpool-II Streaming Replication Hot Standby 1. Slony-I Slony-Iは、最も初期に開発されたPostgreSQLクラスタです。第1回の分類では、シングル・マスター型にあたります。開発したのは、PostgreSQLのコア・メンバーでもあるJan Wieck氏で、現在のバージョンは2.0.4です。 図1に、Slony-Iの動作概要を示します。Slony-Iでは、「トリガー」と呼ばれる手法を使っています。これは、テーブルの行を作成・更新・削除する場面で利用できます。行が作成・更新・削除される際に、特定の関数(トリガー)が呼び出されるようになっています。 Slony-Iでは、テーブルのデータが変更される度に、変更内容をトリガーを使っ

    larker
    larker 2010/10/20
    レプリケーション
  • [Think IT] 第4回:OpenIPMIでサーバ管理 (1/4)

    IPMI(Intelligent Platform Management Interface)はサーバのCPU、バス、ファン、温度センサ、電圧、ファンなどの基コンポーネントの監視や遠隔地からの制御などを行うためのインターフェース仕様のことです。ハードウェア管理を行うために標準的なインターフェースを利用することで、そのインターフェースを搭載したサーバはベンダーの種類に関係なく共通の手法でハードウェア管理作業を実行することが可能となります。 IPMIによってサーバを管理するには、そのハードウェアに関するIPMI設定を行う必要があります。最低限の設定としては以下があげられます。

  • [ThinkIT] 第6回:データベースの負荷分散とまとめ (3/3)

    このオンメモリデータによる高速データベースの構築方法ですが、手順はリスト5の通りです。 リスト5:tmpfsをマウント $ sudo mkdir -p /shm/mysql/bookmark $ sudo mount -t tmpfs -o size=2048m tmpfs /dev/shm $ sudo mount -t tmpfs -o size=2048m /dev/shm /shm/mysql/bookmark まず、tmpfsを作成し、適当なマウントポイントにマウントします。ここでは/shm/mysql/bookmarkというディレクトリを作り、そこに2048MBのtmpfsをマウントしています。 次に、MySQLのデータを元々ある場所からコピーして移動します(リスト6)。 リスト6:データベースをtmpfsにコピー

    larker
    larker 2008/08/08
    参照系のデータをレプリケーションとtmpfsを使った高速化の手法
  • [Think IT] 第1回:付箋紙アプリケーションを作ろう! (1/3)

    Webの技術を使ってデスクトップアプリケーションを作ることができる開発環境である、「Adobe AIR(旧名 Adobe Apollo)」のパブリックベータ版が6月11日にリリースされました。 ここ数年、Webアプリケーションの進化がめざましく、表計算やワープロといった今までテスクトップ専用のものだと思われていたアプリケーションまで、Webブラウザ上で扱うことができるようになってきました。 Adobe AIRは、Webアプリケーションで使われている、HTMLCSS、Ajax、Flashといったテクノロジを使つつ、Webブラウザに依存しない、スタンドアローンなアプリケーションを開発・実行できる新しい環境です。 連載では、Adobe AIRとRuby on Rails(以下、RoR)を使って、Webブラウザだけではない、新しいタイプのWebアプリケーションを作る方法を紹介していきます。 A

  • [ThinkIT] 実践!OpenLDAP活用術 | 第1回:LDAPとは何をするもの? (1/3)

    はじめに 皆さんはLDAP(Lightweight Directory Access Protocol)という言葉をご存知でしょうか。 ここ数年で、LDAPを実装したサーバソフトウェアの知名度は上がってきていますので、ご存知の方も多いかもしれません。 例えば、Microsoft社のActive DirectoryやSun Microsystems社のSunONE Directory Server、Red Hat社のRed Hat Directory Server、そして連載で取り扱うOpenLDAPなどが代表的なLDAPを実装したソフトウェアです。しかし、これらのソフトウェア名を知っていても、実際にどんなことができるのか、というところまでご存知の方はまだまだ少ないのではないでしょうか。 連載では、LDAPの概要からOpenLDAPのインストール、設定、アプリケーションとの連携などを通し

    larker
    larker 2007/08/23
  • [ThinkIT] 第1回:認証の一元化を進めるOpenLDAPの今 (1/3)

    BDB OpenLDAPで標準的に使用されるバックエンドデータベースであり、Berkeley DBを使ってデータを管理しています。BDBは内部的にBerkeley DBのトランザクション機能を使用しており、データの安全性が向上しています。また、データの復旧をはじめ、データを管理するにあたっては、Berkeley DBのユーティリティが利用されています。 HDB BDBを改良したバックエンドデータベースで、ディレクトリツリーの階層構造についての情報をデータベース内に持つことで、更新性能が向上しています。 LDBM OpenLDAPのバージョン2.0までの間、標準として使用されていたバックエンドデータベースです。LDBMはBerkeley DBまたはgdbmを利用してデータを管理しています。BDBのように、内部的なトランザクション機能を持っていないため、BDB、HDBと比較してデータの安全性は

    larker
    larker 2007/08/23
  • [ThinkIT] 第2回:OpenLDAPでLDAP Syncレプリケーション! (1/4)

    今回はCentOS 5にOpenLDAPをインストールし、「第1回:認証の一元化を進めるOpenLDAPの今」で解説したLDAP Syncレプリケーションを使用して、LDAPサーバの冗長化環境を構築する方法について説明します。 なお今回のインストールでは、RPMパッケージではなくソースコードから導入を行います。

    larker
    larker 2007/08/23
  • [ThinkIT] 第2回:解体、PostgresForest! (1/4)

    larker
    larker 2007/07/27
    PostgresForest
  • [Think IT] 第1回:PowerGresを知ってますか? (1/3)

    「PowerGres(パワーグレス)」とは、SRA OSSが開発、販売を行っているRDBMS製品です。PowerGresはオープンソースデータベースのPostgreSQLをベースに商品化されたものです。 連載をご覧の読者の方は、オープンソースデータベース「PostgreSQL」についてご存知のことと思います。 PostgreSQLは、PostgreSQL Global Development Groupによって開発されているオープンソースのデータベースです。数名で構成されるコアチームがプロジェクト方針を決定し、数10名のデベロッパーが開発を行い、その他大勢のコントリビューターがパッチの提供などを行うという体制で、世界中の多くの開発者に支えられ、日々進化を続けています。 PostgreSQLはオープンソースデータベースでありながら、豊富な機能、特に最近のバージョンではエンタープライズ向けの

    larker
    larker 2007/07/26
  • [ThinkIT] 第2回:人の頭の中味を「見える化」する (1/3)

    第1回では、なぜ「見える化」が必要かについて3つの点を明らかにした。第2回は、人の頭の中に存在し、外部にあらわれにくいアイデアや思考といったものをどのように「見える化」するのかを例をあげて詳しく説明したい。第1回で要求獲得における「見える化」として、Mind Map(マインドマップ)を使ったインタビュー手法を紹介した。 Mind Mapは、放射状に枝を広げ、関連するキーワードをつなげていくことができるため、枝1つ1つにある短い単語の連なりが文脈を形成する。中心にテーマを置き、そこから枝を伸ばして連想する語句を書きとめて発想を促すことで、企画立案やブレインストーミングにも利用できる。また、ツリー構造であることから、ToDoの洗い出しやイベントの準備といった大項目の中に多くの詳細項目が発生する事柄を整理する際にも役立つ。 アイデアや思考を「見える化」するというのはとても難しい。例えばイベントを

    larker
    larker 2006/11/15
    視覚化して情報を整理している例
  • [ThinkIT] 第2回:はてなフレームワークとPerlとシステム負荷 (1/2)

    このぐらいの規模のWebアプリケーションを作る場合、スクラッチからコードを書いていたのでは効率が悪いですし、また複数のプログラマで開発を進めるにあたってコードの品質を一定に保つのが難しくなってきます。ということで、ここはフレームワークの出番です。 PerlにはCatalystやSledge、CGI::Applicationといったオープンソースの優れたフレームワークがいろいろとありますが、はてなでは自社開発の「はてなフレームワーク」を利用しています。 はてなフレームワークを開発した当時の2001年頃はLL向けの良いフレームワークがあまり無かったため、自分たちで作りました。その後も改良を続け現在も同フレームワークを利用し続けています。 最近ではPerlに限らず、優れたフレームワークの実装が世の中に多数あり、その多くがフリーです。あまり自社開発のフレームワークを利用することの利点は多くないかも

  • [ThinkIT] 第1回:Inside Hatena Bookmark (1/2)

    筆者が勤務する株式会社はてなが提供するある一つのインターネットサービスを題材に、LAMP(Linux+Apache+MySQLPerl)でのアプリケーション開発や、負荷分散について述べるという発表でした。はてなで提供しているサービスには、はてなブックマーク以外にもはてなダイアリー(注2)のような月間何億PV(Page View)もある大きなサービスもあります。はてなブックマークはそれらに比較すると小さい、中規模なシステムです。 システム運用について発表するにあたって、億単位のPVをさばく巨大なサービスについて述べるよりも、ある程度現実的な規模のものについて解説する方が、みなさんの参考になるかなと思い、このテーマを選択しました。 稿ではYAPC::Asiaでの発表の中からいくつかのトピックを選んで、Perlを使ったシステムの運用や負荷分散のコツなどを中心に解説したいと思います。 なお、発

  • [ThinkIT] 第6回:RailsとGrailsの比較(前編) (1/3)

    前回までで、一通りJavaフレームワークとRailsの比較をしてきました。連載の最後の比較は、少し趣向を変えてGroovy上に作成されたRailsライクなフレームワークGrailsRailsの比較をしていきます。 GrailsはGroovy(Java公式仕様として策定が進められている、JavaVM上で動作するスクリプト言語)上で動作するRailsライクなフレームワークです。当初、Groovy on Railsという名称で作成が進められていたことからもわかるように、Railsに強く影響を受けていることが公言されています(後にRails作者の要請により改名)。 Groovyは豊富なJavaライブラリの利用が可能な上、言語設計自体もRubyの影響を受けているためRailsライクなフレームワークと相性がよいと考えられます。 Grailsに関する情報源には次のサイトがあります。

  • [ThinkIT] Wikiでプロジェクト管理(後編) (1/4)

    使い方は簡単ですので、早速使ってみましょう。まずは新しいページを作成します。画面上層部のメニュー右側の「新規」をクリックして、表示された画面で作成したいページの名前を入力します。ここではページ名を「newpage」と指定しました(図5)。そして「編集」ボタンをクリックすれば、画面が遷移し編集ができるようになります。

    larker
    larker 2006/10/05
    Pukiwikiプラグインの利用例
  • サンプルデモのREADMEとCallbackのデモ

    はじめに 連載はCeltix1.0に用意されているサンプルデモのREADME.txtファイルを日語訳したものです。README.txtファイルにはWindowsとUNIXにおける作業手順が記載されています。 連載ではWindowsについてのみ確認を行い、足りない手順についての内容を追加しています。UNIXを利用する場合には、Windowsの手順を参考にしながらお試しください。 今回はREADME.txtファイルの概要と、サンプル1の「Callback」について解説します。 なおビルドや起動にはCeltix1.0環境が必要です。あらかじめ誌連載「オープンソースESB『Celtix』を解き明かす」を参考にしてインストールを行い、必要な環境変数の値を設定できるようにしておいてください。 サンプルデモの解説 Celtix1.0には23個のサンプルがバンドルされており、サンプル(%CELTIX

    larker
    larker 2006/10/05
    Celtix