DUICUO

Instagramを支えるオープンソース技術

Facebookによる10億ドルでのInstagram買収は大きな話題となりました。しかし、創業当初、ユーザーベースが予測不可能で、資金と人員も限られていた中で、彼らはどのようにして今日のような複雑なインフラシステムを構築したのでしょうか?Instagram開発チームが最近公開した記事で、創業当時の裏話が明らかになりました。

「Instagramを支えるもの:数百のインスタンス、数十のテクノロジー」というタイトルの記事は、実際には2011年末には既に存在していましたが、当時Instagramは巨額の買収を受けていなかったため、あまり注目を集めませんでした。開発チームによると、有名になってから最もよく聞かれる質問の一つは、Instagramを支えるテクノロジーに関するものでした。InstagramのユーザーインターフェースはiOSとAndroidで利用可能ですが、Linuxでも動作します。

Instagramのサーバーは、Amazon EC2でホストされているUbuntu 11.04で動作しています。開発チームによると、以前のバージョンのUbuntuではネットワークトラフィックが集中するとクラッシュすることがありましたが、Ubuntu 11.04以降ではこの問題は発生していません。InstagramはLinuxに加え、Apache Solr、PostgreSQL、Redis、Djangoなど、多くのオープンソース技術も利用しています。さらに注目すべきは、本稿執筆時点では、Instagramシステム全体をわずか3人のエンジニアが管理していたことです。現在、Instagramの経営陣は13人にまで増えていますが、1,400万人以上のユーザーと1億5,000万枚以上の写真を抱えるネットワークサービスを管理していることは、依然として驚くべき功績と言えるでしょう。

もちろん、クラウドサービスを活用するという考え方も重要です。かつてオンラインサービスを立ち上げるには、まずユーザー数とその成長率を見積もり、その後、新しいハードウェアやサーバーを購入し、スタッフを雇用する必要がありました。しかし、ハイエンドサービスを一般向けに提供するとなると、ユーザー数の見積もりは難しくなります。クラウドの利点は、コンピューターリソースを電気や水道のように従量課金制に変えられることです。この従量課金制は、今後数年間で必然的にトレンドになるでしょう。Instagramは買収後、Amazon EC2からFacebookのデータセンターに移行する可能性が高いですが、オープンソース技術とクラウドサービスを組み合わせて活用することが、今後のオンラインサービスの主要な方向性となるでしょう。

[編集者のおすすめ]

  1. マイクロソフトが子会社を設立:オープンソースソフトウェアとオープンスタンダードに注力
  2. オープンソースシステムはRAIDを使用して企業のデータセキュリティを保護します
  3. 世界のオープンソースソフトウェア開発動向の分析