アマゾンはperlでできている - Javaジャバ言ってる間にも(7)

長らく謎だと思っていたことが、あっさり判明した。 アマゾンのWebサイトはperl言語でできている。

以下、http://www.masonhq.com/?AmazonDotComより。

Since mid-2002, Mason has been Amazon.com's official website templating system, powering the main Amazon.com site as well as partner sites. As one engineer at Amazon writes, "Mason elegantly solves the problem of large-scale web development, giving Amazon.com web developers the power of industry-standard Perl and the simplicity of re-usable components. This has made it easy to manage and evolve a very large mission-critical global codebase, and has halved the ramp-up time for new developers."

The web tech team at Amazon is intent on contributing Mason changes back to the community where possible. For example, about half of the changes in 1.21 and 1.22 (mostly performance improvements) originated at Amazon. See also the MasonPlugins project.

And now the recruiting plug: Amazon.com is seeking experienced Perl and Mason users for full-time web development positions. See http://www.amazon.com/jobs for details.

以下筆者翻訳:
2002年中ごろ以来、Amazon.comはWebサイトテンプレートシステムにMasonを正式に使用しています。 それはamazon.comだけでなくパートナーサイトにおいても同様です。 Amazonのあるエンジニアはこう書いています。 「Masonは大規模なWeb開発における問題をエレガントに解決してくれています。 業界標準であるPerlのパワーと、コンポーネント再利用の容易性を Amazon.comの開発者に与えてくれています。 それによって巨大でミッションクリティカルなコードベースの発展と管理が容易になり、 また新しい開発要員の立ち上がり(育成)に必要な期間が半減しています。」

AmazonのWeb技術チームはMasonを改良しそれを可能な限り積極的にコミュニティに還元しています。 例えば、バージョン1.21と1.22の間の変更(ほとんどがパフォーマンス関連の改良)の 約半分はAmazonの技術チームによるものです。 MasonPluginsプロジェクトも参照してください。
Masonというのはperlで書かれたWebサイト開発向けのテンプレートライブラリだ。 配布元のページによると、 たとえば Masonをインストールしてapacheの設定ファイル(httpd.confとか)に
PerlModule HTML::Mason::ApacheHandler
<Location />
    SetHandler perl-script
    PerlHandler HTML::Mason::ApacheHandler
</Location>
と書き、
% my $noun = 'こんちは';
やあ、<% $noun %>!
元気?
と書いたindex.htmlファイルをドキュメントルートにおいて、 http://www.example.com/index.html をブラウザで見ると
やあ、こんちは!
元気?
となるという寸法。PHPやJSPと書き方が非常によく似ているようだ。

はたと思い出してamazon.co.jpのスタッフ募集ページを見直してみたら、しっかり書いてある。

・・・ C/C++、オブジェクト指向の設計および分析、RDB、SQLおよび業務処理システムに強い方。 XML、XSL、HDML、WAP、XHTML、 CSS、Perl、Python、MasonおよびCORBAの知識がある方。 RPC、SOAPおよび他のメッセージ技術とネットワークプロトコル および UNIXシステムの高度な経験がある方。
ざっと見たことはあったのだが、 Masonがperl言語で書かれたWebサイト向けライブラリであることを 恥ずかしながら知らなかったせいか、ピンときていなかった。 主なシステムはC言語で、perlやpythonはそれらの主なシステム間の ちょっとしたつなぎ程度の小さなプログラムの開発に使っているのだろう、くらいにしか思っていなかったのだ。 (実際そういうケースはよくある) ちなみにアメリカ本国のアマゾンのスタッフ募集ページも技術者の求人スキルについては ほぼ同様の書き方だった。

なお、アマゾンのソフトウェアが全てperlかというとそうではないだろう。 「アマゾンで使用されているソフトウェアのうちWebサイト用なのは 全体の4割に満たない」というような話をアマゾン関係者の インタビュー記事かなにかで昔読んだ覚えがある。

たしかに、物販系のECサイトでは消費者向けのフロントエンドだけでなく、バックヤード、つまり在庫や物流の管理、卸業者との取引管理のほうがよほど重要だし、ソフトウェアの本数的にも大きいだろう。 それらのバックヤード側のソフトウェアにもperlがメインに使われているという確証は無い。

しかし、ひとつのビジネスを展開するうえで、そのIT基盤を作り上げるためのプログラミング言語は少なければ少ないほど良い。 技術者を融通しやすいからだ。したがってどんな企業であれ、 必要以上に多種類の言語に手を出したりはしない。

この記事を書くきっかけとなった、 Six Apartの宮川氏に深謝。 ちなみに宮川氏のサイトにあるこの翻訳も 参考になる。

See also:
Javaジャバ言ってる間にも (2003/12)
Javaジャバ言ってる間にも(2) (2004/3)
いまおすすめの言語はPHP −Javaジャバ言ってる間にも(3)(2004/5)
Javaジャバ言ってる間にも(4) − FriendSterはJavaからPHPに乗り換えていた(2004/9)
IBM、PHPの支持を表明 − Javaジャバ言ってる間にも(5)(2005/3)
「従来のEJBは存在自体が間違いだった」 - Javaジャバ言ってる間にも(6) (2005/6)

トラックバックURL

このエントリーのトラックバックURL:
http://www.ywcafe.net/mt/mt-tb.cgi/480

トラックバック

» アマゾンはperlでできている - Javaジャバ言ってる間にも from じっぷろぐ
http://neta.ywcafe.net/000492.html え!?知りませんでした…。バッチとかWebアプリを使ってスタティックなHTMLをはき出し... 続きを読む

» 時代はperl? from ブログモード
http://del.icio.us/ なぜかエラーコードをはいていたので見てみると.pmなる文字が。。 どう見てもperl..Mason はてなもmixiも... 続きを読む

» Perl でできてるサービス from naoyaのはてなダイアリー
長らく謎だと思っていたことが、あっさり判明した。 アマゾンのWebサイトはperl言語でできている。 Mason を使っているというオフィシャルのコメントから... 続きを読む

» [IT][Prog] Perlの力 from 技術系のシバチョがコラムを書く
最近、はてなブックマークで上がっている記事だが、amazonはPerlで出来ているらしい。 アマゾンはperlでできている - Javaジャバ言ってる間にも(... 続きを読む

» Light weight from CATch a TAIL!
AmazonはPerlでできている。どうしてもあの超トラフィックを処理していることを考えると『意外』と言ってしまいそうになるが、実際Webコンテンツを表示すると... 続きを読む

» Amazon でも Perl を使ってた from perl と ごはん
Amazon でも Perl を使ってるみたいびっくりした。 Java 使ってる... 続きを読む

» アマゾンはperlでできている from FLIPFLOP -note-
[http://neta.ywcafe.net/:title]さんより.http://neta.ywcafe.net/000492.html なんとperlとは... 続きを読む

» アマゾン・ドット・コム from inquisitor
Amazonに関する本をいくつか その前に、「ストールマンの教えに逆らってまでア 続きを読む

» Web デザイン・構築技術の一例かな? from Mar de Leite : 凪の海
Webサイトをデザインし、構築する言語・技術の一例かな?と思ったサイトをココのところよく見かける。 というか僕はそういった言語に関してあまり詳しくないから... 続きを読む

» While there are more than one languages to do it from 404 Blog Not Found
Then why perl? (anything that follows is in Japanese. Sorry those who can't ... 続きを読む

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)


画像の中に見える文字を入力してください。