Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ネットワークエンジニアがWeb開発をやってみて思ったこと
Search
gree_tech
PRO
December 02, 2019
Technology
0
400
ネットワークエンジニアがWeb開発をやってみて思ったこと
「Developers Boost 2019」で発表された資料です。
https://event.shoeisha.jp/devboost/20191130
gree_tech
PRO
December 02, 2019
Tweet
Share
More Decks by gree_tech
See All by gree_tech
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
130
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
2
1.8k
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
600
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
610
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
570
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
650
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
1k
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
680
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
800
Other Decks in Technology
See All in Technology
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
360
BEYOND THE RAG🚀 ~とりあえずRAG?を超えていけ! 本当に使えるAIエージェント&生成AIプロダクトを目指して~ / BEYOND-THE-RAG-Toward Practical-GenerativeAI-Products-AOAI-DevDay-2025
jnymyk
4
230
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
220
MCP とマネージド PaaS で実現する大規模 AI アプリケーションの高速開発
nahokoxxx
1
1.4k
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
12
3.2k
MCPと認可まわりの話 / mcp_and_authorization
convto
1
140
CSPヘッダー導入で実現するWebサイトの多層防御:今すぐ試せる設定例と運用知見
llamakko
1
210
MCPに潜むセキュリティリスクを考えてみる
milix_m
1
720
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
3
1.6k
スプリントゴール未達症候群に送る処方箋
kakehashi
PRO
1
190
怖くない!GritQLでBiomeプラグインを作ろうよ
pal4de
1
120
AI エンジニアの立場からみた、AI コーディング時代の開発の品質向上の取り組みと妄想
soh9834
6
260
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
370
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
RailsConf 2023
tenderlove
30
1.2k
Raft: Consensus for Rubyists
vanstee
140
7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
990
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Making Projects Easy
brettharned
116
6.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Scaling GitHub
holman
461
140k
Transcript
Copyright © GREE, Inc. All Rights Reserved. Confidential ネットワークエンジニアが Web
開発をやってみて思ったこと グリー株式会社 インフラストラクチャ部 吉浜 丈広
Copyright © GREE, Inc. All Rights Reserved. Confidential 自己紹介 •
吉浜 丈広(よしはま たけひろ) • 主担当はオンプレミス環境の ネットワーク管理・運用 • 最近 Web 開発にも参加 • 趣味: 旅行、ボルダリング、 コミュニティ活動
Copyright © GREE, Inc. All Rights Reserved. Confidential • 元々はオンプレミス環境のみでサービス提供
• キャッシュアウト削減のため AWS 移行へ • サーバの老朽化 • メンテナンスコストの上昇 • パブリッククラウドの低価格化 • リソースのより効率的な利用 • 一部はオンプレミス環境に残る • サーバ約 2000 台、ネットワーク機器約 200 台くらい • 引き続き管理・運用が必要 ネットワークエンジニアとしてのお仕事 〜背景〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • IP
アドレス、サーバ資源管理 • サーバ、ネットワーク機器の保守・運用 • データセンター内ネットワークの設計・運用 • 対外接続の管理・運用 • その他障害・メンテナンス対応 ネットワークエンジニアとしてのお仕事 〜具体的なお仕事〜 仕事でプログラムを書く必要はほとんどない
Copyright © GREE, Inc. All Rights Reserved. Confidential そんなある日、ふと思う
Copyright © GREE, Inc. All Rights Reserved. Confidential ゲーム開発会社に入ったのに、 ゲームを作ったことがないのは
もったいない?
Copyright © GREE, Inc. All Rights Reserved. Confidential せっかくだから作ってみたい!
Copyright © GREE, Inc. All Rights Reserved. Confidential • 1
on 1 でマネージャーに「ちょっとプロダクト開発やってみたい」 • 知り合いの開発チームマネージャーに「ちょっと(ry • 360°画像配信サービスのサーバサイド開発へ • 環境:AWS • 言語:PHP • フレームワーク:Laravel Web 開発参加 〜とりあえずやってみよう〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • 360°画像配信プラットフォーム
Web 開発参加 〜やったこと〜 auto scaling group https://aws.amazon.com/jp/architecture/icons/
Copyright © GREE, Inc. All Rights Reserved. Confidential • 360°画像配信プラットフォーム
Web 開発参加 〜やったこと〜 • AMI 作成 • API 仕様作成 • API サーバ開発 • 各種サービス設定 • テーブル設計 auto scaling group https://aws.amazon.com/jp/architecture/icons/
Copyright © GREE, Inc. All Rights Reserved. Confidential • 要件定義の段階から参加
• テーブル設計、API 仕様定義 • テーブル定義書、シーケンス図作成 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 Web 開発参加 〜やったこと〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • 要件定義の段階から参加
• テーブル設計、API 仕様定義 • テーブル定義書、シーケンス図作成 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 Web 開発参加 〜やったこと〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • API
をどう設計するべきかがわからない • Path はどう決める? -> 大まかなカテゴライズ・集合/特定の機能 • パラメータは Path? Body? -> 個別にキャッシュしたいときは Path に • どれくらい機能を分割? -> 利用側はまとめて取得できた方が便利、でも機能的に肥大化しないように • 複数人での開発に慣れていない • Service、Controller 等レイヤー分離が下手 -> ロジックは Service へ • 他人が読みにくいコード -> コーディング規約に気を付けつつ、たくさん読み書きして慣れよう Web 開発参加 〜やってて困ったこと、思ったこと〜
Copyright © GREE, Inc. All Rights Reserved. Confidential なんとなくわかってきた 気がする
Copyright © GREE, Inc. All Rights Reserved. Confidential 次いってみよう!
Copyright © GREE, Inc. All Rights Reserved. Confidential • 知識も大事だけど、やっぱり経験が大事
• スマートフォンゲームのサーバサイド開発 • 環境:AWS • 言語:PHP • フレームワーク:Laravel • 環境構成、担当範囲同じ ゲーム開発参加 〜もう一度やってみよう〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • ゲームのサーバサイド開発
ゲーム開発参加 〜やったこと〜 auto scaling group https://aws.amazon.com/jp/architecture/icons/
Copyright © GREE, Inc. All Rights Reserved. Confidential • ゲームのサーバサイド開発
ゲーム開発参加 〜やったこと〜 • AMI 作成 • API 仕様作成 • API サーバ開発 • 各種サービス設定 • テーブル設計 auto scaling group https://aws.amazon.com/jp/architecture/icons/
Copyright © GREE, Inc. All Rights Reserved. Confidential • 要件定義の段階から参加
• テーブル設計、API 仕様定義 • AWS で利用する各種サービス設定 • API サーバの AMI 作成 • API サーバ開発 ゲーム開発参加 〜やったこと〜
Copyright © GREE, Inc. All Rights Reserved. Confidential • API
の設計・実装時間が短くなった? • こんな感じで作ると良いかもと思えるように • 修正する回数が少なくなった • 複数人での開発に慣れてきた? • PR へのコメント数が圧倒的に少なくなった • 他人の PR レビューをするくらい余裕が持てた ゲーム開発参加 〜前回との違い〜 まだまだ学ぶことは多いが、 前回よりも役に立てた!
Copyright © GREE, Inc. All Rights Reserved. Confidential • 複数人開発は難しいが楽しい
• 色々な考え方、実装方法 • 共通認識を持つことが大事 • やれば大体何とかなる • ちゃんと取り組めば周りが助けてくれる • おそれずチャレンジしてみよう • 低レイヤーはあまり気にしない人が多い? • 特にネットワーク周り • 担当範囲が違う? • 弊社だとミドルウェア以下はインフラ部がまとめてみる 開発に参加して思ったこと 〜まとめ〜
Copyright © GREE, Inc. All Rights Reserved. Confidential せっかくなので、少しだけネットワークの話
Copyright © GREE, Inc. All Rights Reserved. Confidential • 組織のネットワークを相互接続したもの
インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX この一つのくもを AS(Autonomous System)と呼ぶ
Copyright © GREE, Inc. All Rights Reserved. Confidential • 例えば
CP B社へアクセス インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX
Copyright © GREE, Inc. All Rights Reserved. Confidential • 例えば
CP B社へアクセス インターネットとは 〜概略図〜 ISP A社 クラウド 事業者 IX CP B社 CDN 事業者 CP A 社 DC 事業者 ISP C社 ISP B社 IX
Copyright © GREE, Inc. All Rights Reserved. Confidential • どういう経路で通信が流れるかが大事
• 複数組織のネットワークを通過する場合もある • 到達性は経路に依存する • 経路は時と場合で変わる • どこから通信してる? • 誰に通信してる? • 途中で障害などがおきてたり • 意図的に迂回させてたり • 同じ通信相手が複数のネットワークに存在 インターネットとは 〜特徴〜 通信できるかどうかは状況によって変わりえる
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/ • データをダウンロードして解析する形になるので敷居が高いとおもう インターネットとは 〜どうやって確かめる?〜
Copyright © GREE, Inc. All Rights Reserved. Confidential 時間が足りないので、興味のある方は ブースに遊びに来てください!
or 懇親会でお話しましょう!
Copyright © GREE, Inc. All Rights Reserved. Confidential