80.5%
CI/CD パイプラインにおけるマシン関連の構築の失敗が 80.5% 減少
コスト削減
18.4%
信頼性と安定性が向上
デベロッパーを強化し
革新的なサービスの構築に専念できる
概要
Pinterest は、ウェブおよびモバイルアプリケーションにおいて、全世界で毎月 4億 4,400 万人以上のユーザーにサービスを提供しています。Pinterest のデベロッパーは、iOS アプリケーションをサポートするために、macOS および Apple の Xcode 統合開発環境にアクセスできるオンプレミスのコンピュータを使用しました。この環境は、Apple アプリケーションのアップグレードと新機能を開発、構築、テスト、およびデプロイするために必要となるものです。しかし、このビジュアルディスカバリープラットフォームは、iOS の構築環境をより高速で効率的なインフラストラクチャにしたいと考え、アマゾン ウェブ サービス (AWS) でソリューションを模索しました。
Pinterest は、iOS アプリケーションの継続的インテグレーションおよび継続的デリバリー (CI/CD) パイプラインを Amazon Elastic Compute Cloud (Amazon EC2) Mac インスタンスに移行し、デベロッパーがクラウド上で macOS コンピューティング環境をシームレスにプロビジョニングしてアクセスできるようにしました。Amazon EC2 Mac インスタンスを使用することで、Pinterest はマシン関連の構築の失敗を 80.5% 削減し、開発速度を 18.4% 向上させました。
機会 | クラウド内の macOS 環境にアクセスする
Pinterest は、住まい、食べ物、スタイル、ビューティーなどのカテゴリーでユーザーがインスピレーションを得るために使用するビジュアルディスカバリーエンジンとして、グローバルなプラットフォームへと成長しました。Pinterest のデベロッパーは、iOS ユーザー向けのアプリケーションを構築、テスト、デプロイするために、オンプレミスのコンピュータを使用しましたが、これらのコンピュータの調達、設定、およびアップグレードは手動で行う必要がありました。「物理的なマシンを管理することは非常に困難でした」と Pinterest のシニアソフトウェアエンジニア、Oliver Koo 氏は述べています。「すべてのノートパソコンを設定し、継続的に監視やアップグレードを行うスタッフが必要でした。1 台のマシンに問題が発生すると、サービスの中断と遅延の増大が発生することがあり得ました」。 このオンプレミス環境は開発を長期化させ、Pinterest が iOS 機能を市場に投入するまでの時間に影響を及ぼしました。
Pinterest は、iOS の機能およびアップグレードを構築、テスト、デプロイするためのスケーラブルで効率的な方法を必要としていました。2010 年のサービス開始以来 AWS のサービスを利用してきた同社は、AWS にアドバイスを求め、Amazon EC2 Mac インスタンスのことを知りました。Pinterest は、このサービスを利用すると、macOS 環境のプロビジョニングとアクセスを数分で完了し、必要に応じて容量を拡張して、コンピューティングコストを最適化できることに気付きました。「AWS に移行すると開発の能率が上がることがわかりました」と、Koo 氏は言います。「Amazon EC2 Mac インスタンスは、ユーザーがオンデマンドで macOS 環境をクラウド上で実行できる初のサービスであり、これはゲームチェンジャーでした」。 2021 年 3 月、Pinterest は CI/CD パイプラインの Amazon EC2 Mac インスタンスへの移行を開始しました。
Amazon EC2 Mac インスタンスを使用することで、マシン関連の構築の失敗が 80.5% 減少しました。これは非常に大きな減少です」
Oliver Koo 氏
Pinterest、シニアソフトウェアエンジニア
ソルーション | Amazon EC2 Mac インスタンスを使用して市場投入までの時間を短縮する
Pinterest は 2021 年 8 月までに Amazon EC2 Mac インスタンスへの移行を完了しました。このソリューションにより、同社は CI/CD パイプラインを合理化し、iOS の構築環境をオンデマンドで拡張できるようになりました。「AWS では、静的なマシングループを管理するのではなく、需要のピーク時に構築マシンの数を 400% 増やすことができます」と、Koo 氏は言います。Pinterest は、サーバーレスのイベント駆動型コンピューティングサービスである AWS Lambda 上の機能として実行される Buildkite Agent Scaler を使用して、実行する必要のあるジョブ数を追跡し、それに応じて Pinterest の Amazon EC2 Mac インスタンスのフリートサイズを調整することによって、同社の CI/CD インフラストラクチャを効率的に拡張しています。「需要が少ない期間は、簡単にスケールダウンできます」と、Koo 氏は言います。デベロッパーは需要のピーク時に容量が空くのを待つ必要がなくなるため、開発スピードが向上します。新しいマシンを調達するのに数時間から数日かかるのに比べ、Pinterest が新しい Amazon EC2 Mac インスタンスを起動するのにわずか数分しかかかりません。オンプレミスのマシンで構築を実行する場合と比較して、Pinterest は Amazon EC2 Mac インスタンスを使用して iOS アプリケーションを 18.4% 速く構築してリリースすることができます。マシンを調達する必要がなくなり、料金は使用する macOS のコンピューティング能力に対してのみ発生するため、Pinterest は開発コストを大幅に削減することができました。
Pinterest は、Amazon EC2 Mac インスタンスを使用して構築プロセスを簡素化しました。新機能やアップグレードのテストをより速く簡単に行えるようになりました。「アップグレード、パッチ適用、セキュリティ修正プログラムを CI/CD パイプラインにデプロイするプロセスは非常に複雑でした」と Koo 氏は言います。「しかし、Amazon EC2 Mac インスタンスと、私たちが構築した新しいプロセスは、非常にシンプルで簡単に理解できます」。 Amazon EC2 インスタンスを起動するために、Pinterest は Amazon マシンイメージ (AMI) を構築しています。AMI には、どの AWS アカウントが AMI を使用できるかを制御する権限などの情報が含まれています。デベロッパーが AMI を作成してこれらのルールを迅速に設定できるようになったため、Pinterest の開発速度は 42% 向上しました。また、インフラストラクチャが合理化されたことで、新しい従業員のオンボードも簡単になりました。その結果、デベロッパーの作業の開始が早まり、迅速に革新を進められるようになりました。
Pinterest は、CI/CD パイプラインの安全性を維持するため、すべての AWS に詳細なアクセス制御を提供する AWS Identity and Access Management (AWS IAM) などの AWS サービスを利用しています。Amazon EC2 Mac インスタンスの各クラスターは、異なる権限が割り当てられた異なる AWS IAM ロールを使用します。ユーザーがクラスターにアクセスしようとすると、Pinterest が設定したセキュリティポリシーに基づいて、システムが自動的にアクセスを許可または拒否します。また、同社は AWS Secrets Manager を使用しているため、デベロッパーはライフサイクル全体を通じてデータベースの認証情報と API キーを簡単にローテーション、管理、取得できます。Pinterest は AWS Secrets Manager を使用して macOS 認証を一元化することで、不正なユーザーが iOS 構築環境にアクセスするのを防いでいます。
Pinterest はAmazon EC2 Mac インスタンスを使用して CI/CD パイプラインの安定性を向上させ、デベロッパーが新しい機能をより迅速にリリースできるようにしています。以前は、長時間のアップタイム後にオンプレミスマシンをデベロッパーが頻繁に再起動しなければならず、開発が中断されていました。現在では、信頼性の高い CI/CD インフラストラクチャに常にアクセスすることができます。その結果、Pinterest のデベロッパーは、より優れた機能を構築し、Apple App Store にアップデートを送信する際の遅延を回避できるようになりました。「Amazon EC2 Mac インスタンスを使用することで、マシン関連の構築の失敗が 80.5% 減少しました。これは非常に大きな減少です」。 Pinterest のデベロッパーは、Amazon EC2 Mac インスタンスを使用することで、問題の解決やインフラストラクチャの管理に時間を費やす必要がなくなり、Pinterest のユーザーを手厚くサポートするための革新的な新機能の開発に専念できるようになりました。
成果 | AWS での継続的なイノベーションをサポートする
Amazon EC2 Mac インスタンスを使用することで、Pinterest は開発期間、市場投入までの時間、CI/CD パイプラインの安定性を大幅に改善しました。将来的には、クラウド上でリレーショナルデータベースのセットアップ、運用、拡張を簡単に行える Amazon Relational Database Service (Amazon RDS) を利用して、構築の失敗をログに記録して監視する予定です。これらのインサイトをもとに、Pinterest は特定のエラーの発生頻度を把握し、それを解決するためのソリューションをデプロイすることができます。「クラウドでオンデマンドの macOS 環境を提供するのは AWS が初めてです」と Koo 氏は言います。「Amazon EC2 Mac インスタンスを使用することで、デベロッパーが iOS の構築環境と Mac マシンをすぐに利用でき、アクセスも簡単になりました」。
Pinterest について
Pinterest は、毎月 4 億 4,400 万人以上の人々が、レシピ、住まい、スタイルのアイデアなどを見つけるために利用しているビジュアルディスカバリーエンジンです。カリフォルニア州サンフランシスコに本社を置く Pinterest は、2010 年にサービスを開始しました。
使用されている AWS のサービス
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。デベロッパーがウェブスケールのクラウドコンピューティングを簡単に利用できるように設計されています。
Amazon EC2 Mac インスタンス
Amazon EC2 Mac インスタンスにより、お客様は初めて、クラウドでオンデマンドの macOS ワークロードを実行できるようになります。AWS の柔軟性、スケーラビリティ、およびコストメリットを、すべての Apple デベロッパーが享受できるようになります。
AWS Secrets Manager
AWS Secrets Manager は、アプリケーション、サービス、IT リソースへのアクセスに必要なシークレットの保護を支援します。
AWS を使用した Pinterest のイノベーションの取り組みを詳しく見る
Pinterest のその他の事例
今すぐ始める
あらゆる業界のさまざまな規模の組織が AWS を活用してビジネスを変革し、日々ミッションを遂行しています。当社のエキスパートにお問い合わせいただき、今すぐ AWS ジャーニーを開始しましょう。