Upload
kiyotaka-kunihira
View
563
Download
1
Embed Size (px)
DESCRIPTION
DevLOVE甲子園2014 西日本大会 技トラックの発表資料です。 http://devlove-kansai.doorkeeper.jp/events/12334
Citation preview
Scala開発チームの挑戦 -技術編-
DevLove甲子園2014 関西大会 2014/08/23 国平清貴(Kuchitama)
#devkan技
#devkan技
•タイトルは釣りです •あんまりScalaの話は出てきません •Scalaをいきなりプロダクトに導入しちゃった会社だけど他の技術導入はどんな感じなんっていうのを話します
•成功談・失敗談あるのでなんかの参考になればこれ幸い
#devkan技
自己紹介• Kuchitama(国平清貴) • FuRyu株式会社(新卒入社4年目) • SIerとか知らない27歳 • 技術ブログ編集長(自称)
• 携帯乙女ゲーム開発 • Scala、Ruby、Clojure • Javaはもう忘れた
#devkan技
フリュー
• 総合エンタメ企業 • ソーシャルゲーム • 社員旅行が新聞沙汰になる会社
北海道新聞 2013/07/06
#devkan技
乙女ゲーム
and more …
#devkan技
Scala• Scala • Play2.0 • nginx • AWS • GitHub
#devkan技
今日の話
•失敗事例 •成功事例 •まとめ
#devkan技
Case.1 Chef
#devkan技
ある日の出来事
#devkan技
EC2スケールアウトスケールアウト
#devkan技
EC2スケールアウトスケールアウト
#devkan技
EC2スケールアウトスケールアウト
AMI作って
#devkan技
EC2スケールアウトスケールアウト
AMI作って作成
#devkan技
EC2スケールアウトスケールアウト
AMI作って作成手動で
#devkan技
手順1元になるAMIを選択
#devkan技
手順1元になるAMIを選択
多いわ!
#devkan技
手順2作成したEC2インスタンスに接続
#devkan技
手順2作成したEC2インスタンスに接続
どれやねん!
#devkan技
]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
手順3から
#devkan技
]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
手順3から
・・・
#devkan技
]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
手順1~3
#devkan技
]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
手順1~3
これをx10
#devkan技
結果
#devkan技
そこで Chef
#devkan技
���
� ���!$������ ������������ ���� "�#���� %������� "
#devkan技
やりたいこと•AMIからEC2を起動 •EC2でChefレシピを実行 •EC2をAMIとして保存 •実行も自動化したい •タイミングはrecipeとかを更新したときがいい → Git push時
#devkan技
作った
Push
POST
#devkan技
実際のチームの現状
#devkan技
実際のチームの現状Chef未導入
#devkan技
チームの現状•手順書化 •初期のサーバ構築自体は機会が少ない •ルーチンはスクリプトで •毎日本番環境をAMI化 •サーバ増設時はAMIからインスタンス起動 •コマンド一つで任意台数作成可能 •別のチームはAnsible
#devkan技
チームの現状•手順書化 •初期のサーバ構築自体は機会が少ない •ルーチンはスクリプトで •毎日本番環境をAMI化 •サーバ増設時はAMIからインスタンス起動 •コマンド一つで任意台数作成可能 •別のチームはAnsible
Ansible
#devkan技
Chef導入失敗
•導入コスト •チームとして取り組まなかった •個人でノウハウ溜めてから導入しようとした
#devkan技
Case.2 Play2.0 + Java
#devkan技
Play2+Java
•乙女ゲーム運用ツール •サービスはPlay1系 •サービスインまでに必要
#devkan技
Play2+Java• マスタデータの登録 • テスト系RDBから本番系RDBへのレコードのコピー • Play1系では複数DBの操作に非対応だった
テストDB 本番DB
運用ツール
#devkan技
進捗
•Play1系とPlay2系の違いに苦戦 •フレームワークに対する知識不足 •ドキュメント不足
#devkan技
進捗
•Play1系とPlay2系の違いに苦戦 •フレームワークに対する知識不足 •ドキュメント不足あきらめたS2Strats + S2Dao (古い構成)に変更(́Д`)
#devkan技
Play2導入失敗•納期最優先 •学習コスト •メンバーのノウハウ不足 •特にJDBC周り •ドキュメント不足 •コードリーディング力不足
#devkan技
Play2導入失敗•納期最優先 •学習コスト •メンバーのノウハウ不足 •特にJDBC周り •ドキュメント不足 •コードリーディング力不足
#devkan技
Play2導入失敗•納期最優先 •学習コスト •メンバーのノウハウ不足 •特にJDBC周り •ドキュメント不足 •コードリーディング力不足基礎力大事
#devkan技
失敗に学ぶ
#devkan技
•Chef導入 •チームで取り組む •Play2 + Java •基礎力大事 •諦めたらそこで(ry
#devkan技
Case.3 EMLauncher導入
#devkan技
テストアプリの インストールに
課題
#devkan技
インストール手順iOS 1.ファイルサーバから任意環境のipaの最新バージョンを取得 2.iTunesに追加 3.ローカルPCへiOS端末を接続 4.iTunesからアプリをインストール
Android 1.apkのDLページにアクセス 2.任意環境のapkの最新バージョンをDL 3.DLしたapkを実行 4.パッケージインストーラでインストール
#devkan技
インストール手順Android 1.apkのDLページにアクセス 2.任意環境のapkの最新バージョンをDL 3.DLしたapkを実行 4.パッケージインストーラでインストール
iOS 1.ファイルサーバから任意環境のipaの最新バージョンを取得 2.iTunesに追加 3.ローカルPCへiOS端末を接続 4.iTunesからアプリをインストール
#devkan技
インストール手順Android 1.apkのDLページにアクセス 2.任意環境のapkの最新バージョンをDL 3.DLしたapkを実行 4.パッケージインストーラでインストール
iOS 1.ファイルサーバから任意環境のipaの最新バージョンを取得 2.iTunesに追加 3.ローカルPCへiOS端末を接続 4.iTunesからアプリをインストール
めんどくせ
#devkan技http://www.klab.com/jp/press/140304.html
#devkan技
�������� ��
使ってる人の評判
#devkan技
�������� ��おお!
使ってる人の評判
#devkan技
�������� ��
使ってる人の評判
よっしゃ導入だ
#devkan技
インストールした
#devkan技
インストールした
が、動かない
#devkan技
インストールした
#devkan技
インストールしたエラー読む
#devkan技
#devkan技
コード読む
#devkan技
#devkan技
PHPわからん
#devkan技
ググって
#devkan技
ググってググって
#devkan技
ググってググってググった
#devkan技
ググってググってググったはっ!
#devkan技
ググってググってググった
PHPのバージョンが低い
#devkan技
うごいたーーー
#devkan技
作った
https://github.com/Kuchitama/EmlauncherRegister
#devkan技
作った
EMLauncherRegisterhttps://github.com/Kuchitama/EmlauncherRegister
#devkan技
作り中
#devkan技
作り中
EMLauncher4s
#devkan技
•EMLauncher便利 •便利ツール導入しよう •でも一回投げ出しかけた •粘り強く調べた •エラー/ソースを読み込んだ(基礎/基本) •チームで時間を作れた •結果、他チームにも波及
#devkan技
•EMLauncher便利 •便利ツール導入しよう •でも一回投げ出しかけた •粘り強く調べた •エラー/ソースを読み込んだ(基礎/基本) •チームで時間を作れた •結果、他チームにも波及
#devkan技
•EMLauncher便利 •便利ツール導入しよう •でも一回投げ出しかけた •粘り強く調べた •エラー/ソースを読み込んだ(基礎/基本) •チームで時間を作れた •結果、他チームにも波及
諦めない!
#devkan技
•事前情報でチームにとってメリットがあると確信できた
•開発チームで導入を支援してもらえた
#devkan技
•事前情報でチームにとってメリットがあると確信できた
•開発チームで導入を支援してもらえた情報大事!
#devkan技
成功に学ぶ
#devkan技
•アンテナを高くはる •自分たちにメリットがある技術を選り分ける
•確信があれば、協力を得られる/粘り強く取り組める
#devkan技
まとめ
#devkan技
•Chef導入 •チームで取り組む •Play2 + Java •基礎力大事 •諦めたらそこで(ry •EMLauncher •情報収集大事
#devkan技
もう一言
#devkan技
もう一言新技術に取り組み、 そしてブログを書こう
あなたのアウトプットは 誰かのインプット
#devkan技
ここから宣伝
#devkan技
勉強会
•9/20 関西Scalaビギナーズ •2014/冬 関西ソーシャルゲーム勉強会
#devkan技
エンジニア募集
•サーバサイドエンジニア • Scalaで仕事したい人 • Scalaを学ぶ意欲がある人 •フロントエンドエンジニア • HTML5 + CSS3 + JavaScript