Pokemon Go –DevOps原則の完璧なユースケース



このブログでは、ゲームアプリのスムーズな機能を確保するためにDevOps手法をPokemonGoでどのように使用できたかについて説明しています。

Pokemon Goのような大ヒットゲームは、多くの便利なDevOpsツールを活用して、グローバルなリーチと人気を確保します
岩の下に住んでいない限り、世界中のスマートフォンユーザーを巻き込んでいるポケモンゴーの波に流されていないことは不可能です。初めて、ユーザーが実際に物理環境で仮想オブジェクトを検索する「仮想世界と現実世界が出会う」シナリオの例があります。これは人間がカロリーを消費するのに役立ちますが(このゲームをプレイすると、人々は1週間に約2000カロリーを消費すると報告されています)、ゲームが到達した規模だけでも大きな課題と機会があります。

ポケモンGO–世界的な現象

リリースからわずか3日以内に、Pokemon GoはTwitterよりも多くのユーザーを引き付け、AppStoreの収益チャートのトップになりました。今日、それは世界的な現象になっています。 Survey Monkeyによると、Pokemon Goは歴史上最も人気のあるモバイルゲームになり、米国だけで1日2,100万人のアクティブユーザーがいます。





Javaでメソッドを終了する方法

合理化された戦略の必要性

拡張現実を使用してポケモンのキャラクターを検索、キャプチャ、トレーニングする必要があるこのゲームは、毎日ゼータバイトに達する膨大な量のデータを生成します。このような膨大な量のデータは、典型的なものです。 大量のデータをリアルタイムで処理するという課題。しかし、さらに重要なことは、Niantic(Pokemon Goの作成者)が、ユーザーの前例のない急増にもかかわらず、そのアプリがメンテナンスサイクル全体に展開されたプロセスとベストプラクティスの存在を明らかにした場合に、スムーズな機能を保証する方法です。

Pokemon Goは、合理化され自動化されたエンドツーエンドのDevOpsパイプラインの理想的な例であり、配信のバリューチェーンを最適化し、ソフトウェア開発ライフサイクル全体の制約と依存関係を排除します。



devops-cycle-used-for-pokemon

人間の行動を変える

他のモバイルアプリとは異なり、同じことを別の方法で行うことは考えられませんでした(たとえば、Uberでは別の方法でタクシーを予約するオプションが提供されていました)。むしろ、ポケモンゴーは人々にまったく違うことをさせています。あなたが何か新しいことをしているとき、あなたは定義上、あなたが何をしているのか正確にはわかりません。したがって、それを正しく行うには、テストの複数のサイクルを繰り返し実行する必要があります。これらのサイクルが遅く、考えられるすべてのユースケースをテストしない場合、必要な環境をプロビジョニングするのに時間がかかりすぎます。このような不測の事態を回避するには、合理化され自動化されたエンドツーエンドのDevOpsパイプラインが必要です。 Pokemon Goのコンテキストでは、考えられるユースケースは、ジオロケーション、デバイス、オペレーティングシステム、ハードウェア、さまざまなトランザクションなどです。

iOS向けアプリのリリース後、Nianticは、大規模かつほぼ不可能な時間枠でパフォーマンスを継続的に改善および強化する必要がありました。ここでも、DevOpsが簡単に解決できるものです。



plSQLを学ぶ方法

ポケモンGOシナリオに最適なDevOpsツール

ポケモンGOの人気が高まっている規模の中で、スムーズで中断のないユーザーエクスペリエンスを確保するために理想的に使用する必要のあるツールがたくさんあります。基本的な方法論は、 計画-> コード-> ビルド-> テスト-> リリース-> デプロイ-> 操作-> モニター サイクルには、DevOpsサイクル内の特定のタスクに使用できる特定のDevOpsツールがあります。これらのツールとタスクのいくつかは次のとおりです。

  • バージョン管理とソースコード管理 -
  • ビルドとテスト – Ant、Gradle、 セレン 、LoadStorm
  • 継続的インテグレーション - ジェンキンス
  • 構成管理と展開 – Chef、Puppet、Ansible
  • モニタリング – Nagios、Sensu、New Relic

業界の専門家からDevOpsについてもっと知りたいですか? Edurekaは、さまざまなDevOpsプロセスとツールを習得するのに役立つDevOpsに関するトップクラスのコースを作成しました。 もっと知りたいなら。

関連記事:

抽象クラスとインターフェースの違い

DevOpsでキャリアの機会を探る