BlogKLabは、多くのスマートフォン向けゲームを開発・提供しています。スマートフォン向けゲームの開発と運用は、Webソーシャルゲームと比べて格段に複雑で、またコンシューマゲーム開発とも異なったノウハウが求められる領域もあります。このブログでは、KLabのゲーム開発・運用の中で培われた様々な技術や挑戦とそのノウハウについて、広く紹介していきます。Platformハンズオンに参加しました!こんにちは!技術広報グループのなりなりです。業務では、Unityでクライアント側のゲーム開発に関わっています。Platform)の講習へ参加いたしました。Platform)とはGCPとは、Googleクラウド上で利用できる複数のサービス群の総称です。Engineやビックデータを高速解析できるBigQueryなど様々なサービスがあります。GCPハンズオン講習を行いました。福岡事業所では実際に運用している各種の社内システムをGCPに移行することを考えた場合にどうするのがよいかという、構成提案と検討の会も行われました。それぞれの内容についてレポートします。GoogleのGCP担当エンジニアの方に講義をしていただきました。Engine)ハンズオンおよそ5時間かけて講義を行いました。その特徴について説明いただきました。GoogleConsoleの使い方やインスタンスの立て方などをハンズオンしました。各種ハンズオンを行っていき説明->実作業を繰り返しながら講義を進めました。次のハンズオンに移るという流れで進みました。最後にGKEのハンズオンを行いました。講義中、大きく詰まることもなく進行する事ができました。GCPに限らない様々な話をGoogle様と行うことができました。各講義の内容を簡単に振り返ってみます。ShellについてGCEは仮想マシンの提供サービスでVMインスタンスの作成や管理ができます。ハンズオンで触った感想としてはVMインスタンスの立ち上げが速く30秒ほどで1インスタンス立ち上げることができ、インスタンス作成の速さやマシン構成の選択肢の豊富さを知ることができました。Shellを利用してアクセスしました。過去バージョンの管理スケール変更の体験GAEはGoogleインフラ上でアプリの作成や実行を行うサービスです。Handlerなどの設定を行うだけ必要な環境が自動生成されコーディングするだけでアプリ実行する事ができる様になっています。ハンズオンで触った感想としては、言語に合わせて事前にライブラリやフレームワークなどを用意せず、いくつかの設定ファイルを記載するだけで言語に合わせた環境が用意ができたのでかなり便利に感じました。GAEがサポートしてる言語でのみ利用できる形になりますが主要な言語は、ほとんどサポートされており、自由度は維持しつつ事前準備などを省略できアプリ制作が迅速行えそうでした。コード修正やコマンド実行などブラウザ内で完結しておりソフトを事前に入れたりせず環境構築がほぼ不要で利用できるのはとても良いと感じました。自己修復機能の体験オートスケールの方法デプロイ手法の紹介と実践Blue-GreenデプロイカナリアデプロイGKEはDockerのコンテナ機能を管理するサービスです。今回のハンズオンのメインであるため少し詳しく説明したいと思います。Dockerを利用して大きなサービスを作るとコンテナは多くなっていきアップグレードやコンテナ単位の障害や複数コンテナにデプロイする場合どうするかなど多くの課題発生するのですがGKEではそうした課題が解消できます。GKEではコンテナの集まりをPodと呼び、更にPodを管理するNodeがあります。サービスの一部が障害になった場合、Nodeが自動で障害起こしているPodを再起動する形になっており、またPod単位でコンテナにまとめてDeployできるになっています。スケールアウトする際はPodの複製数の上限下限を予め決めてアクセス負荷に合わせてスケーリングを行ってくれます。ハンズオンで触った感想としては、複数のコンテナをまとめて管理した上で障害等あった場合は、自動で復旧ができるので可用性があり、活用しやすいと感じました。DockerファイルをGKE上で管理するためDockerとGKEの両方学習コストが必要ですがGKE側は少ない作業でシステムを構築して管理できるため、大きなデメリットにならないことがわかりました。実際に当社のサービスの一部をGCPに入れたらどのような構成になるかGoogleのGCP担当エンジニアの方にご提案いただきました。ハンズオンに参加したエンジニアと本社のエンジニアを交えながら懸念等がないか深いところまで掘り下げて話し合うことができました。終わりに当社では積極的にクラウドの活用を進めていますが、今回、GCPハンズオンを通じて実際にどういったサービスが使えるのか活用するにはどうしたらいいのかを、さらに多くのエンジニアが学ぶことができました。同時に当社の既存サービスをGCPに乗せるにはどういった構成ができるのか提案を行ってもらい、実際に業務利用する場合は、どうしていくべきなのか等の検討を進めていくことができました。今後も技術広報グループではこうした取り組みについて積極的にレポートしていこうと思っております。