fbpx

CL LAB

HOME > CL LAB > Chef > ChefConf 2015 レポート (part 5) #getchef

ChefConf 2015 レポート (part 5) #getchef

 ★ 8

2015年3月31日から4月2日まで実施されたChefConf 2015の現地レポートpart4です。

ChefConf 2015 レポート Part1

ChefConf 2015 レポート Part2

ChefConf 2015 レポート Part3

ChefConf 2015 レポート Part4


Building and Releasing an Online Game from nothing with NoOps
Jamie Windsor: Undead Labs
Undead Labs社は、オンラインゲームの開発ベンダー。ゲームタイトルとして有名なのは、Moonriseと呼ばれるもの。
NoOps = No Dedicated Operations (運用管理者のいない開発環境:開発者が各々、オペレーションの責任を持つ、という考え方)
c005001
  • 同社のゲームアプリケーションに関する考え方:
    • 40%の工数はソフトウェアのエンジニアリング作業
    • 残りの60%の時間はチーム内の結束強化とコミュニケーションに費やされる
c005002
  • もっとも注目している課題:
    • どうやってアプリ開発に集中できるか?
    • シングルユーザアプリ開発から大量のマルチユーザ型オンラインゲームアプリ開発に移行する
    • ゲームタイトルを保有するPublisherとの間との良好な関係
    • 企業カルチャーを強化する
  • この辺の課題は、従業員が20人程度の頃は簡単だった。
c005003
  • これらの課題に取り組むに際して重要なのは、才能のあるプログラマーではなく、エンジニアを採用することにある。エンジニアとは、プログラマと異なり、問題を解決する能力に優れている。
c005004
  • アプリ開発環境
    • 言語はErlangとRails
    • ErlangとRailsは開発期間の短縮に大きく寄与している。
c005005
当初、チームとして採用する開発言語の候補は下記のリスト
    • C/C++
    • C# mono
    • Python
    • Ruby
  • 最終的に、Erlang言語のブランチである、Elixirを採用
c005006
c005007
  • ElixirはErlangと同じコンセプトをもつ
    • ProcessとMailboxとの関係
    • Supervision Treeによるプロセスの構造
    • Pattern Matchingの手法
    • 末端再帰型のプログラミング
c005008
  • Chefの利用にあたっての考え方
    • アプリケーションのエンジニアは、そのアプリケーションのCookbookの開発/運用責任をもつ
c005009
  • 全てのアプリケーションは自動ディスカバリを意識して開発されている。
    • Consulがサービスディスカバリ機能として採用されているため、それを意識したアプリ開発が行われる
c005010
  • Discovery: Undead Labsが開発した、Erlangノードに対してサービスを自動的に見つけてくれるOTPアプリ
    • GitHubでオープンソース提供されている
c005011
  • Terraform:仮想マシンのビルドにはTerraformを採用
    • クラウドサービスプロバイダーの違いを吸収
c005012
  • Terraformを使った設定情報の記述例
c005013
  • 運用環境はChef、Consul、Terraformの3つのツールの組み合わせで運用

CL LAB Mail Magazine

CL LABの情報を逃さずチェックしよう!

メールアドレスを登録すると記事が投稿されるとメールで通知します。

メールアドレス: 登録

※登録後メールに記載しているリンクをクリックして認証してください。

Related post