Hotmailの舞台裏

画像 こんにちは、私の名前はArthur de Haanで、Windows Liveのテストとシステム設計を担当しています。 Hotmailの舞台裏を紹介し、このような世界規模でWindows Live Hotmailを作成、展開、実行するために必要なものについて詳しく説明します。



サーバーへのメールとデータ(および独自のデータ)の保存は大きな責任であり、品質、パフォーマンス、信頼性に大きな注意を払っています。 Hotmailが年中無休で1日24時間動作するように、エンジニアリングとインフラストラクチャに多額の投資を行っています。 これらの取り組みについてほとんど耳にすることはありません。何かがうまくいかないときは、まれなケースでそれらについて聞くことになり、当社のサービスは問題に直面します。



Hotmailはあらゆる面で巨大なサービスです。 主なものは次のとおりです。



Hotmailのユーザーインターフェイスは氷山の一角にすぎず、ほとんどの革新は内部で行われ、ユーザーには見えないことが想像できます。 この記事では、システム全体のアーキテクチャの概要を説明します。 後続の投稿のいくつかの機能を詳しく見ていきます(翻訳者から:コミュニティがこの記事を気に入ったら、これらの後続の投稿を翻訳できます)



建築



Hotmailおよびその他のWindows Liveサービスは、世界中のいくつかのデータセンターでホストされています。 Hotmailは、論理的にスケーラブルな要素-クラスターに編成されます。 さらに、各データセンターのクラスター間で負荷を分散するインフラストラクチャがあります。







1つのクラスターには、数百万人のユーザー(ハードウェアの年齢に応じて異なります)と、以下を含むサーバーの自律セットがあります。







誤動作とデータ損失の防止は最優先事項であり、これを防ぐためにあらゆる予防措置を講じています。 失敗する可能性のあるものはいずれも時間が経つにつれてそうなるという前提で、障害を効率的に処理するようにサービスを設計しました。 ハードウェア障害が発生しています。使用している数十万のハードドライブのうち、障害が発生しているものがあります。 幸いなことに、アーキテクチャと障害のタイムリーな処理により、顧客はこの種の障害に気付くことはほとんどありません。



クラッシュを防ぐいくつかの方法を次に示します。







技術プロセス





私たちのアーキテクチャと、中断のないサービスを確保するための手順について少しお話ししました。 ただし、当社のサービスは静的ではありません。 使用による成長に加えて、定期的に更新を行っています。 したがって、私たちのプロセスは、途切れないサービスを提供するためのアーキテクチャと同じくらい重要です。 パッチや小さなアップデートからメジャーリリースまで、新しいコードをデプロイする際には、特定の予防措置を講じています。



テストと展開。 開発者ごとに、開発者と協力して仕様の開発と作成、テストインフラストラクチャの作成、新しい機能をテストする自動テストの作成、および品質の確保に貢献するテストエンジニアがいます。 品質について話すときは、安定性と信頼性だけでなく、使いやすさ、パフォーマンス、セキュリティ、アクセシビリティ(障害を持つユーザー向け)、プライバシー、スケーラビリティ、すべてのブラウザの機能性についても話します。



私たちは広告によって資金提供されている無料のサービスであるため、非常に効果的でなければなりません。 したがって、システムの展開、構成、およびメンテナンスは高度に自動化されたプロセスです。 自動化により、人為的エラーのリスクも軽減されます。



コードの展開と変更管理。 テストラボには数千台のサーバーがあり、クライアントに届くずっと前にコードを展開してテストします。 データセンターには、開発の最終段階で「ドッグフード」とベータ版をテストするために特別に予約されたクラスターもあります。 ハードウェアまたはソフトウェアの更新、またはセキュリティパッチであるかどうかにかかわらず、ラボでのすべての変更を確認します。



すべてのエンジニアリンググループがリリースに署名すると(テスターやエンジニアを含む)、世界中のクラスターで段階的な更新プログラムの展開を開始します。 通常、これには数か月かかるため、時間がかかるだけでなく、サービスの品質とパフォーマンスに影響を与えないようにします。



一部の機能を個別に有効または無効にすることもできます。 更新プログラムを展開することもありますが、それらの組み込みを遅らせます。 まれに、セキュリティまたはパフォーマンス上の理由で一部の機能をブロックします。



おわりに





このトピックでは、Hotmailが示唆する開発の規模を理解する必要があります。 私たちはあなたのために私たちのサービスの技術的な卓越性と継続的な改善に取り組んでいます。 私たちはサービスがどのように成長しているかを研究し続け、あなたのフィードバックに真剣に耳を傾けます。あなたの考えや質問をここに私にコメントてください。 私は、Windows Liveチーム全体のように、サービスの情熱的なファンです。エンジニアになることもできますが、何百万人ものユーザーと一緒にサービスを利用しています。



All Articles