InfoQ ホームページ Case_Study に関するすべてのコンテンツ
ニュース
RSSフィード-
Netflixが仮想スレッドを採用:パフォーマンスと落とし穴に関するケーススタディ
長年Javaを採用してきたNetflixは、最近Java 21にアップグレードした。同社は現在、JEP 439で導入された世代ZGCや、JEP 444で導入された仮想スレッドなどの新機能を活用して、同社の広範なマイクロサービス群全体のパフォーマンスを改善している。高スループットの並行アプリケーション向けに設計された仮想スレッドは、初期には有望視されていたが、実際のシナリオでは独自の課題ももたらした。
-
HashnodeがStep Functions、EventBridge、RedisでAWS上にスケーラブルなフィードアーキテクチャを構築
Hashnodeは、数千人のユーザーのフィードデータを構成するためのスケーラブルなイベント駆動アーキテクチャ(EDA)を構築した。同社は、Lambda、Step Functions、EventBridge、Redis Cacheを含むAWS上のサーバーレスサービスを使用した。このソリューションは、Step Functionsの分散マップ機能を活用し、高度な並行処理を可能にしている。
-
Uber、GraphQLサブスクリプションとKafkaでマイクロサービスを使用したスケーラブルなチャットを構築
Uberは、WAMPプロトコルを使用して構築されたレガシー・アーキテクチャを、GraphQLサブスクリプションを活用した新しいソリューションに置き換えた。新しいアーキテクチャを構築した主な要因は、信頼性、スケーラビリティ、オブザーバビリティ/デバッグ可能性、そして既存のソリューションを維持するチームの能力を妨げている技術的負債にまつわる課題であった。
-
DoorDash、CockroachDBを使用してマイクロサービス用の構成管理プラットフォームを構築
DoorDash社は、物流チームが増え続けるビジネス・プリファレンスと設定値を管理するために、構成管理プラットフォームを構築した。同社は、永続化にCockroachDBを使用し、以前のソリューションと比較してアーキテクチャを簡素化した。新しいプラットフォームは、実験を可能にし、設定値のライフサイクルを改善し、柔軟性と拡張性を提供する。
-
Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
Zendeskは、DynamoDBからMySQLとS3を使用した階層型ストレージソリューションに移行することで、データストレージのコストを80%以上削減した。同社は様々なストレージ技術を検討したが、コストを抑えつつ、クエリ性とスケーラビリティのバランスを取るために、リレーショナルデータベースとオブジェクトストアを組み合わせることにした。
-
Expedia、WebSocketとKafkaを使用してほぼリアルタイムのストリーミングデータをクエリする
Expediaは、同社のプラットフォームからのクリックストリームデータをほぼリアルタイムでクエリするソリューションを開発し、同社のプロダクトチームとエンジニアリングチームが、新しいデータ駆動型の機能使用事例に取り組んだり、既存のデータ駆動型の機能使用事例を強化したりしながら、ライブデータを探索できるようにした。チームは、WebSocket、Apache Kafka、PostgreSQLを組み合わせて使用し、クエリ結果をユーザーのブラウザに継続的にストリーミングできるようにした。
-
Contentsquare、通知配信にマイクロサービスとApache Kafkaを起用
Contentsquareは、プラットフォーム内の多くのユースケースで通知機能を必要としていた。そこで同社は、マイクロサービス・アーキテクチャの一部として、複数のサービスにまたがる汎用的なソリューションを作成。この実装で、開発者はオブザーバビリティを改善し、スケーラビリティの課題を克服する必要があった。
-
Pinterest、KubernetesとApache Helixで非同期コンピューティング・プラットフォームを刷新
Pinterestは次世代の非同期コンピューティング・プラットフォームであるPacerを開発し、大きくなり過ぎてスケーラビリティと信頼性の課題が生じた旧ソリューションであるPinlaterを置き換えた。新しいアーキテクチャは、ジョブ実行ワーカーのスケジューリングにKubernetes、クラスタ管理にApache Helixを活用している。
-
LinkedIn、マイクロサービス統合にプロトコルバッファを採用し、レイテンシを最大60%削減
LinkedInは、プラットフォーム全体でマイクロサービス間のデータ交換を効率化するためにProtocol Buffersを採用し、オープンソースのRESTフレームワークであるRest.liと統合した。全社的な展開後、レイテンシを最大60%削減し、同時にリソース利用率も向上した。
-
ファイザー、AWS上のサーバーレスアーキテクチャを使用してデジタルバイオマーカーの処理を拡張
ファイザーは、デジタルバイオマーカーデータを大規模に処理するためのサーバーレスアーキテクチャをアップグレードし、より柔軟で設定可能なものにした。彼らは、AWS Step Functionsと他のサーバーレスサービスで構築されたファイル処理パイプラインと、データ取り込みと処理のためのカスタムPythonパッケージを使用するフレームワークを作成した。
-
PayPalがGraphQLを採用し、開発者の生産性向上を実現
PayPalは先頃、近年のPayPalにおけるGraphQLの採用について解説したブログ記事を公開した。2018年のCheckoutアプリケーションひとつから始まった導入はその後、GraphQLフェデレーションを使用した統合型のフェデレーションAPIを構成するまでに至っている。組織全体に及ぶGraphSQLの採用は、開発者の生産性向上やアプリケーション提供の迅速化といった成果を生み出した。
-
Autodeskによるサーバーレスマイクロサービスのアーキテクチャ例
「What's Better Than Microservices? Serverless Microservices」というタイトルのウェブキャストで、Alan Williams氏 (Autodesk)、Asha Chakrabarty氏 (Amazon)、Alan Ho氏 (Apigee)らが、Apigeeエンドポイントを使いLambda関数で構築した、AWS上で動くサーバーレスマイクロサービスのアーキテクチャについて説明した。
-
Coverity 2012: 低欠陥密度を実現するには
この記事では何人かのプロジェクトリーダの証言を紹介する。いずれも極めて低いCoverity Scan欠陥密度を達成したプロジェクトにおいて採用されたプロセスを詳しく説明したものだ。