タグ

ブックマーク / www.publickey1.jp (5)

  • 「バックエンドの経験はなかった」Instagram創業者は、どうやってシステムをスケールさせてきたか

    昨日のPinterestの記事「Pinterestの急成長を支えてきたアーキテクチャとは? Pythonで開発しAmazonクラウドで運用」に続いて、やはり写真を中心としたサービスで急成長してきたInstagramのスケーラビリティについて、まとめてみました。 InstagramもPinterestと同様に、基Amazonクラウド上でPythonとフレームワークのDjangoを使ったシステムを構築しています。興味深いのは、創業者の二人ともバックエンドの経験がないなかで試行錯誤をしてシステムをスケールさせてきた点です。 Instagramは先月、Facebookに買収されると発表されています。この先、Instagramのシステムはどう変わっていくのでしょうか。 Instagramのシステム構成 約半年前、昨年12月にInstagramのブログに投稿された記事「What Powers In

    「バックエンドの経験はなかった」Instagram創業者は、どうやってシステムをスケールさせてきたか
    teinex
    teinex 2012/05/25
  • データベースのスケーラビリティをどうやって向上させるか

    これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケーラビリティに関する技術を少しまとめて紹介しようと思います。 従来のリレーショナルを拡張 従来のリレーショナルデータベースに対して、技術的工夫を凝らすことでスケーラブルなデータベースを実現しようというアプローチにも、さまざまなものがあります。 データベース研究者の大御所、マイケル・ストーンブレイカー氏は、リレーショナルデータベースは決して遅くないと主張。リレーショナルデータベースが遅い原因はロック、ラッチ、リソース管理にあるとして、それらを極力排除した「VoltDB」を開発しています。 NoSQLを上回る性能のVoltDB、そのアーキテクチャ

    データベースのスケーラビリティをどうやって向上させるか
    teinex
    teinex 2011/06/22
  • テスト駆動開発の効果はどのくらいある?

    ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ

    テスト駆動開発の効果はどのくらいある?
    teinex
    teinex 2011/04/21
    96%の被験者がデバッグの工数を減らすと感じた。 92%の被験者がコードの品質を上げると感じた。 88%の被験者が要求が洗練されると感じた。
  • 知られざる「マルチテナントアーキテクチャ」(1)~SaaSはみんな同じではない?

    クラウドが備えるスケーラビリティやアベイラビリティ、そして膨大な処理能力を実現する技術として、MapReduceやキーバリュー型データベースが注目を浴びています。「リレーショナルデータベースはもう古い」という人さえいるほどです。 ところが、そんな話題の新テクノロジーに背を向けて、既存技術であるリレーショナルデータベースを核にしつつクラウドを構築し、絶大なスケーラビリティと信頼性を実現している企業があります。セールスフォース・ドットコムです。 彼らはMapReduceもキーバリュー型データベースも使わずに、どうやってスケーラビリティや信頼性を備えたクラウドを実現しているのでしょうか? 同社が公開している情報はそれほど多くないのですが、それらをつなぎ合わせて見えてきたいくつかの技術的な仕組みを、何回かに分けて紹介したいと思います。 Salesforceはどれほどスケーラブルか 同社のクラウドが

    知られざる「マルチテナントアーキテクチャ」(1)~SaaSはみんな同じではない?
    teinex
    teinex 2010/06/07
  • [ディスカッション]ソフトウェアインスペクション/コードレビューを成功させる方法(前編)

    「ソフトウェアインスペクション」あるいは「ソフトウェアレビュー」とは、一般にプログラムが動作する以前の段階から問題やバグを発見することをいいます。ソースコードの静的解析やコードレビューは、ソフトウェアインスペクションの中でもよく行われていることの1つといえるでしょう。また、コード以前の要件定義や仕様書などもソフトウェアインスペクションの対象となります。 7月2日に、このソフトウェアインスペクションをテーマにしたイベント「ソフトウェアインスペクション・ワークショップ 2009」が行われました。ソフトウェアレビューやインスペクションの経験者を前提として参加者に集まってもらい、Javaソースコードのインスペクションを実際に実施することを目的としたこのイベントは、地味なテーマ設定のためそれほど参加者が集まらないのではないか、と予想されていました。 しかし実際には約115名もの応募が寄せられ、定員で

    [ディスカッション]ソフトウェアインスペクション/コードレビューを成功させる方法(前編)
    teinex
    teinex 2010/05/11
  • 1