Successfully reported this slideshow.
Your SlideShare is downloading. ×

ネットワークエンジニアがWeb開発をやってみて思ったこと

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 29 Ad
Advertisement

More Related Content

Slideshows for you (20)

Similar to ネットワークエンジニアがWeb開発をやってみて思ったこと (20)

Advertisement

More from gree_tech (20)

Advertisement

ネットワークエンジニアがWeb開発をやってみて思ったこと

  1. 1. Copyright © GREE, Inc. All Rights Reserved.Confidential ネットワークエンジニアが Web 開発をやってみて思ったこと グリー株式会社 インフラストラクチャ部 吉浜 丈広
  2. 2. Copyright © GREE, Inc. All Rights Reserved.Confidential 自己紹介 ● 吉浜 丈広(よしはま たけひろ) ● 主担当はオンプレミス環境の ネットワーク管理・運用 ● 最近 Web 開発にも参加 ● 趣味: 旅行、ボルダリング、 コミュニティ活動
  3. 3. Copyright © GREE, Inc. All Rights Reserved.Confidential • 元々はオンプレミス環境のみでサービス提供 • キャッシュアウト削減のため AWS 移行へ • サーバの老朽化 • メンテナンスコストの上昇 • パブリッククラウドの低価格化 • リソースのより効率的な利用 • 一部はオンプレミス環境に残る • サーバ約 2000 台、ネットワーク機器約 200 台くらい • 引き続き管理・運用が必要 ネットワークエンジニアとしてのお仕事 〜背景〜
  4. 4. Copyright © GREE, Inc. All Rights Reserved.Confidential • IP アドレス、サーバ資源管理 • サーバ、ネットワーク機器の保守・運用 • データセンター内ネットワークの設計・運用 • 対外接続の管理・運用 • その他障害・メンテナンス対応 ネットワークエンジニアとしてのお仕事 〜具体的なお仕事〜 仕事でプログラムを書く必要はほとんどない
  5. 5. Copyright © GREE, Inc. All Rights Reserved.Confidential そんなある日、ふと思う
  6. 6. Copyright © GREE, Inc. All Rights Reserved.Confidential ゲーム開発会社に入ったのに、 ゲームを作ったことがないのは もったいない?
  7. 7. Copyright © GREE, Inc. All Rights Reserved.Confidential せっかくだから作ってみたい!
  8. 8. Copyright © GREE, Inc. All Rights Reserved.Confidential • 1 on 1 でマネージャーに「ちょっとプロダクト開発やってみたい」 • 知り合いの開発チームマネージャーに「ちょっと(ry • 360°画像配信サービスのサーバサイド開発へ • 環境:AWS • 言語:PHP • フレームワーク:Laravel Web 開発参加 〜とりあえずやってみよう〜
  9. 9. Copyright © GREE, Inc. All Rights Reserved.Confidential • 360°画像配信プラットフォーム Web 開発参加 〜やったこと〜 auto scaling group https://aws.amazon.com/jp/architecture/icons/
  10. 10. Copyright © GREE, Inc. All Rights Reserved.Confidential • 360°画像配信プラットフォーム Web 開発参加 〜やったこと〜 ● AMI 作成 ● API 仕様作成 ● API サーバ開発 ● 各種サービス設定 ● テーブル設計 auto scaling group https://aws.amazon.com/jp/architecture/icons/
  11. 11. Copyright © GREE, Inc. All Rights Reserved.Confidential • 要件定義の段階から参加 • テーブル設計、API 仕様定義 • テーブル定義書、シーケンス図作成 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 Web 開発参加 〜やったこと〜
  12. 12. Copyright © GREE, Inc. All Rights Reserved.Confidential • 要件定義の段階から参加 • テーブル設計、API 仕様定義 • テーブル定義書、シーケンス図作成 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 Web 開発参加 〜やったこと〜
  13. 13. Copyright © GREE, Inc. All Rights Reserved.Confidential • API をどう設計するべきかがわからない • Path はどう決める? -> 大まかなカテゴライズ・集合/特定の機能 • パラメータは Path? Body? -> 個別にキャッシュしたいときは Path に • どれくらい機能を分割? -> 利用側はまとめて取得できた方が便利、でも機能的に肥大化しないように • 複数人での開発に慣れていない • Service、Controller 等レイヤー分離が下手 -> ロジックは Service へ • 他人が読みにくいコード -> コーディング規約に気を付けつつ、たくさん読み書きして慣れよう Web 開発参加 〜やってて困ったこと、思ったこと〜
  14. 14. Copyright © GREE, Inc. All Rights Reserved.Confidential なんとなくわかってきた 気がする
  15. 15. Copyright © GREE, Inc. All Rights Reserved.Confidential 次いってみよう!
  16. 16. Copyright © GREE, Inc. All Rights Reserved.Confidential • 知識も大事だけど、やっぱり経験が大事 • スマートフォンゲームのサーバサイド開発 • 環境:AWS • 言語:PHP • フレームワーク:Laravel • 環境構成、担当範囲同じ ゲーム開発参加 〜もう一度やってみよう〜
  17. 17. Copyright © GREE, Inc. All Rights Reserved.Confidential • ゲームのサーバサイド開発 ゲーム開発参加 〜やったこと〜 auto scaling group https://aws.amazon.com/jp/architecture/icons/
  18. 18. Copyright © GREE, Inc. All Rights Reserved.Confidential • ゲームのサーバサイド開発 ゲーム開発参加 〜やったこと〜 ● AMI 作成 ● API 仕様作成 ● API サーバ開発 ● 各種サービス設定 ● テーブル設計 auto scaling group https://aws.amazon.com/jp/architecture/icons/
  19. 19. Copyright © GREE, Inc. All Rights Reserved.Confidential • 要件定義の段階から参加 • テーブル設計、API 仕様定義 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 ゲーム開発参加 〜やったこと〜
  20. 20. Copyright © GREE, Inc. All Rights Reserved.Confidential • API の設計・実装時間が短くなった? • こんな感じで作ると良いかもと思えるように • 修正する回数が少なくなった • 複数人での開発に慣れてきた? • PR へのコメント数が圧倒的に少なくなった • 他人の PR レビューをするくらい余裕が持てた ゲーム開発参加 〜前回との違い〜 まだまだ学ぶことは多いが、 前回よりも役に立てた!
  21. 21. Copyright © GREE, Inc. All Rights Reserved.Confidential • 複数人開発は難しいが楽しい • 色々な考え方、実装方法 • 共通認識を持つことが大事 • やれば大体何とかなる • ちゃんと取り組めば周りが助けてくれる • おそれずチャレンジしてみよう • 低レイヤーはあまり気にしない人が多い? • 特にネットワーク周り • 担当範囲が違う? • 弊社だとミドルウェア以下はインフラ部がまとめてみる 開発に参加して思ったこと 〜まとめ〜
  22. 22. Copyright © GREE, Inc. All Rights Reserved.Confidential せっかくなので、少しだけネットワークの話
  23. 23. Copyright © GREE, Inc. All Rights Reserved.Confidential • 組織のネットワークを相互接続したもの インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX この一つのくもを AS(Autonomous System)と呼ぶ
  24. 24. Copyright © GREE, Inc. All Rights Reserved.Confidential • 例えば CP B社へアクセス インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX
  25. 25. Copyright © GREE, Inc. All Rights Reserved.Confidential • 例えば CP B社へアクセス インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX
  26. 26. Copyright © GREE, Inc. All Rights Reserved.Confidential • どういう経路で通信が流れるかが大事 • 複数組織のネットワークを通過する場合もある • 到達性は経路に依存する • 経路は時と場合で変わる • どこから通信してる? • 誰に通信してる? • 途中で障害などがおきてたり • 意図的に迂回させてたり • 同じ通信相手が複数のネットワークに存在 インターネットとは 〜特徴〜 通信できるかどうかは状況によって変わりえる
  27. 27. Copyright © GREE, Inc. All Rights Reserved.Confidential • ping, traceroute, mtr などのコマンド • 通過した AS (= 組織のネットワーク)が分かる • 各社の looking glass を利用 • ping, traceroute, 経路情報の表示などができる • RIPE Atlas の probe を利用する • https://atlas.ripe.net/probes/ • probe を持っていれば他の probe からも自分でクエリを発行できる • その他経路が確認できるサービスを利用する • https://stat.ripe.net/special/bgplay • Web で見れ、過去の変動も見れる • http://www.routeviews.org/routeviews/ • データをダウンロードして解析する形になるので敷居が高いとおもう インターネットとは 〜どうやって確かめる?〜
  28. 28. Copyright © GREE, Inc. All Rights Reserved.Confidential 時間が足りないので、興味のある方は ブースに遊びに来てください! or 懇親会でお話しましょう!
  29. 29. Copyright © GREE, Inc. All Rights Reserved.Confidential

Editor's Notes

  • ここまでで 16:30 くらい
  • ここまでで 16:30 くらい

×