タグ

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

  • サービス・ディスカバリのためのConsul入門

    Serfの足りない機能を補うConsul 前回の記事の復習になりますが、Serf(https://serfdom.io)の主要な役割は、オーケストレーション(自動的に複数のサーバなどのインフラ上で処理すること)と、クラスタ上のメンバ管理です。 Serfを単純なツールとして見た場合は、オーケストレーションを簡単に行える便利なツールと言えるでしょう。しかし、実際の運用シーンを考えますと、次のような弱点が浮かび上がります。 メンバ管理はSerfエージェント間の通信正常性が基準であり、アプリケーションやミドルウェアの状況に応じた自動処理が行えない(サーバは稼働しているが、ウェブサーバやデータベースが停止するような状況) 何らかの状態を保持する仕組みがないので、冗長化の仕組みは自分で考慮する必要がある Serfクラスタとの通信には独自のCLIかAPIを使う必要があり、他のツールとの親和性が低い これ

    サービス・ディスカバリのためのConsul入門
  • 移行後のAzureならではの運用管理テクニック

  • 「Fluentdをきっかけにビジネスが回る仕掛けがとっても気持ちイイです。」

    クラウドを活用したデータマネージメントサービスを展開するトレジャーデータのCTO、太田一樹氏にインタビューを行った。同社がメインで開発を進めるログ収集のためのオープンソースソフトウェア「Fluentd」とコアなビジネスモデルとの関係、トレジャーデータの狙っているユーザー層、更にはエンジニアの雇用から人工知能の可能性まで幅広いトピックに及んだ。 まずはCTOとしての業務領域を教えてください。 現在はCTOという肩書きで、約80名ほどの社員の中の30名ぐらいを占めるエンジニアリングとプロダクトマネージャーを統括する仕事をしています。プロダクトマネージャーというのはアメリカIT企業では普通なんですが、製品の位置付けとか顧客ニーズを理解したり、顧客向けのメッセージを作る役目です。それに加えて製品を使って頂いているお客様への対応を行うカスタマーサポートのエンジニアという人たちも統括しています。その

    「Fluentdをきっかけにビジネスが回る仕掛けがとっても気持ちイイです。」
  • Windows AzureでのMySQL = ClearDBを攻略しよう!

    OSSのインストールを競う技術者向けコンテスト「インストールマニアックス」の入賞者の面々が、Windows Azureのコンピューティング、データ管理、ネットワークの新機能を中心に、リレー形式で詳しく説明していく連載。 5回目となる今回はWebサイトからも利用できるMySQLをテーマにご説明します。 記事で紹介する操作手順などはWindows Azure サブスクリプションを申し込み後に、プレビュー機能の申し込みが必要となっていますので、こちらも合わせて参照してください。 → Windows Azure サブスクリプション申し込み Step by Step Windows AzureでMySQLが利用できるようになったことは、今までの連載の記事でも紹介してきました。 Windows AzureのMySQLは、ClearDBというサードパーティのDatabase-as-a-Servic

  • HPが提唱するDevOps実現の確実な切り口はテストツールの革新から

    ヒューレット・パッカード株式会社のシニアコンサルタントである藤井智弘氏に日におけるDevOpsの実態、HPが推進するDevOps実現のためのツールとサービスについて話を伺った。 企業におけるICTの活用をコスト削減や期間短縮のためではなくビジネスの革新や競争力強化につなげるために素早くソフトウェアを開発し、実装する。開発と運用を一つのチームと考え素早く回す発想がDevOpsと称されてもてはやされている。 ただ実際は日の大手企業においては運用は社内の運用チーム、システムやアプリケーションの開発はシステムインテグレータ任せ、または情報システム担当の子会社等が行う場合が多い。米国のケースに見られる開発チームと運用チームの壁を無くして効率を上げるという状況とはだいぶ異なるのが日の実情だろう。 今回、日ヒューレット・パッカード株式会社(以降、HP)のシニアコンサルタントである藤井智弘氏に

    HPが提唱するDevOps実現の確実な切り口はテストツールの革新から
  • メモリー管理に失敗したJavaアプリの実例

    O/Rマッピング・ツールと運用設計ミス 稿では、Java EEアプリケーションで使われることの多いO/Rマッピング・ツールにおけるサイジングの重要性について解説します。 今回取り上げる事例は、JavaのWebアプリケーション開発ではかなり有名なO/Rマッピング・ツールである「iBatis」*1を使ったものです。 [*1] 現在は、MyBatisと名前を変えて、継続的にリリースされています。 [mybatis[http://www.mybatis.org/java.html]] , [google code:mybatis[http://code.google.com/p/mybatis/]] 問題となったアプリケーションでは、データベースの接続からクエリーを投げるところまで、全面的にiBatisを利用していました。採用された理由は、既存のSQLを利用しつつ、動的SQLを簡単に作成できると

  • [Think IT] 第1回:そもそも言語仕様って何だ? (1/3)

    【新・言語進化論】プロの言語仕様の読み方 第1回:そもそも言語仕様って何だ? 著者:シンクイット編集部 公開日:2007/11/6(火) 膨大なドキュメント「言語仕様」とは この世には、プログラミング言語の極意が記されているドキュメントが存在する。入門書の元でありながらも書かれることが少なく、プログラミング言語の根幹ともいえるもの、それが「言語仕様」である。 言語仕様というのは、簡単にいえば、そのプログラミング言語の文法・記号などの意味を厳密に規定したドキュメントのことである。Javaにしろ何にしろ、プログラミング言語には必ずといっていいほど言語仕様が存在している。厳密な規定とは「誰が読んだとしても、同じ意味としてとらえることが可能である」という意味だ。 読者の皆さんも、業務で利用する言語仕様については一度は読んだことがあるのではないだろうか。しかし、その膨大なドキュメント量に圧倒され、読

  • ユーザビリティチェックシートを試そう!

    指標化の第1歩 前回(http://www.thinkit.co.jp/article/130/1/)では、「Webサイトの標準的な型」を指標化することが、ユーザビリティ指標化の第1歩であることを紹介しました。 今回は「Webサイトの標準的な型」を抑えるとともに、基的なユーザビリティの紹介しながら、実際に「指標によるチェック」を体験していただきたいと思います。 まずはじめに、「Webサイトの標準的な型」とはどんなものなのでしょうか。 それは、ページ上から下記のような構成要素で成り立ちます(図1)。 ・ヘッダー ・グローバルナビゲーション ・メインビジュアル ・コンテンツエリア ・ローカルナビゲーション ・フッター それぞれの構成要素の用途も決まっており、ヘッダーは全ページ共通で使われ、Webサイト自体が属している企業やプロダクトを理解させるために使用します。また、「サイトマップ」や「お問

  • Web SQL DatabaseとIndexed Database API

    HTML5では、API群が整備され、データベース関係のAPIも充実します。これによって、これまでよりも柔軟なWebアプリケーションを作れるようになるでしょう。今回は、それらのAPIの中から、「Web SQL Database」と「Indexed Database API」の2つを取り上げます。 Web SQL Databaseの概要 第4回では、Web Storageを紹介しました。Web Storageは、シンプルなデータベースAPIで、Cookieの代わりとして使うなどの使い道があります。ただし、単純なキー・バリュー型のデータベースなので、検索などの複雑な処理には向いていません。Webアプリケーションの中で格的なデータベース処理を行うには、Web Storageでは機能的に不十分です。 そこで、「Web SQL Database」と呼ぶデータベースAPIが提案されています。Web S

  • HTML5関連のデータベースAPIとWeb Storageの基本

    HTML5時代にはWebブラウザでデータベースを扱える 最近のWebの世界で、トレンドになっている技術の1つとして、「HTML5」があります。Webブラウザ上で動作するアプリケーション(Webアプリケーション)が一般化したことがあって、Webブラウザに求められる機能が増えてきました。そこで、その状況に即してHTMLをバージョンアップしようという流れが起こり、HTML5の仕様策定が進められています。 HTML5では、HTMLのタグの仕様だけでなく、周辺のAPI(Application Programming Interface)の仕様も明確化して、Webブラウザによる動作の差異をなくそうという方向になっています。また、Webアプリケーションを作る上で従来不十分だった機能について、各種の新しいAPIも追加されます。 APIの中で、特に不足していた分野の1つとして、「データ管理」が挙げられます。

    HTML5関連のデータベースAPIとWeb Storageの基本
  • これからはじめるRuby on Rails

    はじめに Rubyと出会ったころ、その簡潔さに感動した著者は、「ここまで自然言語に近い形でプログラムが書けるのであれば、インターネットとPCの違いすら理解しないでも、少しはプログラミングができるようになるかもしれない」と、家庭での普及に挑戦したことがあります。 その試みは、渡した入門書を「はじめてのRUBAI」と読まれた時点で頓挫したわけですが、その経験から「Rubyの文法に従ってはいるが、何やら他言語の匂いを感じるコード」のことを、Rubyの潜在力を生かしきれていないという意味で「RUBAIコード」と呼ぶことにしました。 そして、社内のさまざまな分野のプログラマにRuby開発を指導してみて分かったのは、"RUBAIコード"には、実装レベルの間違いと、設計レベルの間違いがあるということです。 実装レベルの間違いとは、処理を他言語の習慣に従って記述することで引き起こされます。Javaプログ

  • [ThinkIT] 第8回:Cookieとセッション情報 (1/3)

    サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ

  • 工数見積もりの見える化

    なぜ工数の見積もりが必要なのか 最近ソフトウエア業界で話題となっている工事進行基準でも、「工事進ちょく度の計算根拠となる工事原価総額が信頼性を持って見積もられなければ工事進行基準を適用することができない」と述べられているように、ソフトウエア開発における工数見積もりの重要性はますます高くなってきている。 「見積もる」という言葉を広辞苑(こうじえん)で引くと、「1. 目で見て大体を測る。目分量ではかる。2. 物事のあらましを考え計算して予測を立てる。つもる。概算する」とある。ソフトウエアの工数見積もりは、2.の意味、つまり、対象となるソフトウエア開発のあらましを頭に描き、投入されるであろう、あるいは、投入すべき工数を予測する、ということになる。 ソフトウエア開発管理の主な観点はQCD(品質、コスト、納期)である。厳密にいえば、工数(人月)はコストとイコールではない。しかし、工数に基づき算出され

  • [ThinkIT] 第2回:Subversionによるバージョン管理(前編) (1/3)

    今回は、Subversionによるバージョン管理方法とウノウでの導入事例について前編と後編にわけて紹介していきます。 Subversionとは、無償で利用できるバージョン管理システムです。現在もオープンソースで活発に開発が進んでおり、執筆時点の最新バージョンは1.4.2となります。バージョン管理システムとは、ソースコードや仕様書などを含むドキュメントなど、時間とともに内容が変化するファイルを管理するシステムの総称です。 Subversionと同じようなバージョン管理システムとしては、CVS(Concurrent Version System)が有名ですが、SubversionではこのCVSで使いにくかった点を改良した次世代バージョン管理システムというコンセプトで開発が続けらています。筆者が実際にどちらも利用してみた結論として、導入をおすすめするバージョン管理システムは、やはり「Subver

  • 1