Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ネットワークエンジニアがWeb開発をやってみて思ったこと
Search
gree_tech
PRO
December 02, 2019
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ネットワークエンジニアがWeb開発をやってみて思ったこと
「Developers Boost 2019」で発表された資料です。
https://event.shoeisha.jp/devboost/20191130
gree_tech
PRO
December 02, 2019
More Decks by gree_tech
See All by gree_tech
1on1、進捗確認だけになっていませんか?〜明日から使えるTips〜
gree_tech
PRO
0
85
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
1.1k
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
1.2k
ゲームにおけるメディアミックス展開との向き合い方 -ヘブンバーンズレッドのメディアミックス企画の立て方-
gree_tech
PRO
0
1.2k
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
1.2k
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
1.1k
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
1.8k
我々はどう生きるか
gree_tech
PRO
2
1.1k
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5.7k
Other Decks in Technology
See All in Technology
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
100
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
430
12 個 Tool と、 4,096 Token
hlum
0
110
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
0
110
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
1.9k
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
250
自分で立ててみるLLMサービス
y_sera15
0
150
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
会社説明資料
persolserverworks
0
9.7k
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
130
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.2k
The Language of Interfaces
destraynor
162
27k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
The World Runs on Bad Software
bkeepers
PRO
72
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Site-Speed That Sticks
csswizardry
13
1.6k
Amusing Abliteration
ianozsvald
1
330
Tell your own story through comics
letsgokoyo
1
1.1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
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