Facebookはハックの助けを求める

コードベースが大きくなると、開発者の勢いは減速し、開発の安全性は低下します。それが、Facebookのエンジニアリング担当副社長Jay Parikh氏と彼のコーディング担当者が直面した課題でした。

応答は、3月にソース開発を開くために、リリースされてから先週最初の開発者の日を迎えた新しいプログラミング言語、Hackを書くことでした。

Facebookは、「規模の技術」について、変更を加えようと努力してきたが、Parikhは最初のイベントで代表者に語った。

「Facebookを今日のものにするためにやっていることは、私たちにとって非常に重要です。それには、オープンソースに対する新しいアプローチが含まれています。

Facebookは、オープンソースプロジェクトを中心としたより堅牢なコミュニティを望んでおり、「内部的にも外部的にもより良い」ものとなるよう求めています。

「我々は、スタックの重要な部分に焦点を当てており、数年前に思ったかもしれない「壁の上をくくっているもの」と比べて深く進んでいます。

Parikh氏は、新しいアプローチはソフトウェアだけでなく、オープンコンピューティングプロジェクト(Open Compute Project:OCP)によるハードウェアとデータセンター設計についても言及しています。 Facebookは今、100%OCPだったと彼は言った。

「コミュニティで話すことは、Facebookを今日実行していることです。」

クラウドコンピューティングは1度に1つのAPIを成長させ、開発者はApigeeを6億2500万ドルで買収し、ハードウェアはラスベリーパイが1000万回の売上を上げ、プレミアムバンドルで賞賛し、セキュリティは4年間後にNPAPI FlashをLinux用に復活させるスタシス

開発者の日には、Parikhが「開発者インフラストラクチャ」と呼ぶものの利点に焦点を当てています。

何年も前から、PHPはFacebookのスタックに欠かせない要素だった、と彼は言った。それは速く動くことに大きな利点をもたらし、コミュニティがアイデアや機能を想起させ、開発者の手に素早く手に入れることができました。

しかし、コードベースが大きくなると、勢いは減速します。

「失われた戦いになるある時点では、あなたの速度、変更、エンジニアの数、このチャーンに追いつかないところにいることになります。コード内に公開されている可能性がある脆弱性に常に遅れを取っています。

2009年と2010年頃に、FacebookはPHPの抽象化に取り組み、より速くスケーラブルにしました。

その努力の製品は、ヒップホップコンパイラとヒップホップ仮想マシン(HHVM)であり、どちらも開発者の勢いを維持するのに役立った。

それに伴い、エンジニアのJulien VerlaguetとAlok Menghrajaniが率いるFacebookのサイト完全性チームの努力が増え、それがHackになるだろう。そのチームは、開発者が意図せずユーザーを傷つけているのを見て、これを避けるためのツールを開発し始めました。

「Hackは、静的な型指定によって提供される規律とPHPの高速開発サイクルを調整し、他の最新のプログラミング言語でよく見られる多くの機能を追加しています。

HHVMチームとHackチームが協力し合うと、Hackの努力への投資が増えました。パリキは、これはすべて有機的に起こったと指摘しました。

その努力は小さく始まり、2人のスタッフが2000年のグローバル・エンジニアリング・チームに「大胆で大胆になり、破壊的なことをする」ことができました。

採用は同様に有機的でした。「時間の経過とともにエンジニアは古い世界ではなく、この世界にいたい」

昨年、Facebookは、ほぼすべてのPHPコードベースをHackに移行したと語った。

「私たちが開発インフラストラクチャに投資することはたくさんあり、私たちにとってROIが高いと思います。私たちが信じるコアコンピタンスであり、すべてのエンジニアが心配しています」とParikh氏は述べています。

Parikh氏は、コミュニティのメンバーが小規模または大規模な企業に所属しているのか、小規模または大規模なコードベースで作業しているのか、実験を開始して「購入する前に試してみてください」と述べています。

「非常に早い時期です。私たちは一人でやりたいとは思わない。 Facebookには大きな影響があり、誰もが助けを必要としている」と語った。

イベントでは、ニュージーランドのSaaS開発者PocketRentのSimon Wilson氏によると、HHVMとHackを使って開発するためのより良い言語とより速いプラットフォームを開発するための新しい機能と方向性に焦点を当てたセッションが行われました。

ウィルソン氏によると、約150人がイベントに登録され、1500人近くがライブストリームに続きました。

HHVM / Hack Twitterアカウントに続いて3000人、HHVM GitHubリポジトリに続いて8,600人がいるにもかかわらず、「Hackコミュニティはかなり新しい」

さらに、#hhvm IRCチャンネルでは数十人が活躍している、と彼は言った。

PocketRent baganは昨年10月ごろ、Hackを使っていました。

「ハックが存在することを知る前でさえ、タイプシステムではないが、ハック機能を使用していたときに、実際の日付を追跡するのは少し難しい。

PocketRentの今後のPro版では、Facebookと同じ基盤システムを利用して、パフォーマンスの向上を通じてユーザーエクスペリエンスを最大限に高めています。

Wilson氏によれば、Hackの利点には、型安全なコードを書くこと、IOバウンドコマンドを並行して実行できること、必要に応じて不変性を含むset / vector / mapのセマンティクスを強制するコレクションクラス、関数呼び出しの後続カンマ、コンパイル時ジェネリックス。

彼は、1つの欠点は、現在、Linux開発環境が必要とされているという。

「OSXとWindowsの両方のビルドで作業が行われているが、実際にHHVMを使用するのではなく、むしろLinux開発環境が必要となるだろう。

この努力へのPocketRentの主な貢献は、バンドルされた拡張機能を古い厳密なIDL形式から新しいHNI形式に変換していたという。

「このフォーマットは、コンパイル時とランタイム時の両方で、拡張機能を書いた方がはるかに優れていて、はるかに強力で高速です。

クラウドコンピューティングの成長

GoogleがApigeeを6億2,500万ドルで買収

ラズベリーパイは1000万回の売り上げを記録し、「プレミアム」バンドルで賞賛します

アドビは、4年間の停滞後、NPAPI Flash for Linuxを再編