SlideShare a Scribd company logo
1 of 29
Download to read offline
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

More Related Content

What's hot

AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減gree_tech
 
大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイントgree_tech
 
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性gree_tech
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜gree_tech
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現gree_tech
 
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較gree_tech
 
インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動gree_tech
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例gree_tech
 
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインREALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインgree_tech
 
実践 自動復旧
実践 自動復旧実践 自動復旧
実践 自動復旧gree_tech
 
ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化gree_tech
 
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々gree_tech
 
Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用gree_tech
 
RPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoFRPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoFgree_tech
 
続・インターネットの維持
続・インターネットの維持続・インターネットの維持
続・インターネットの維持gree_tech
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
社内サービスのUI改善
社内サービスのUI改善社内サービスのUI改善
社内サービスのUI改善gree_tech
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることgree_tech
 

What's hot (20)

AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
 
大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント
 
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
 
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
 
インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動インフラエンジニアの楽しい標準化活動
インフラエンジニアの楽しい標準化活動
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインREALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
 
実践 自動復旧
実践 自動復旧実践 自動復旧
実践 自動復旧
 
ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化
 
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
 
Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用
 
RPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoFRPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoF
 
続・インターネットの維持
続・インターネットの維持続・インターネットの維持
続・インターネットの維持
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
社内サービスのUI改善
社内サービスのUI改善社内サービスのUI改善
社内サービスのUI改善
 
Keynote
KeynoteKeynote
Keynote
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
 

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

devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Amazon Web Services Japan
 
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)Developers Summit
 
Web サービス インフラの近未来
Web サービス インフラの近未来Web サービス インフラの近未来
Web サービス インフラの近未来Syuichi Murashima
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例agileware_jp
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれdsuke Takaoka
 
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編Mitsuhiro Tanda
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャHaruto Otake
 
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行PHP Version Up と AWS への移行
PHP Version Up と AWS への移行gree_tech
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019昌桓 李
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用Abe Junichiro
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方dena_study
 
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpacesAmazon Web Services Japan
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonightAmazon Web Services Japan
 
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)壽子 大倉
 

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

devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
 
Cedec2017 Lumberyard GameLift
Cedec2017 Lumberyard GameLiftCedec2017 Lumberyard GameLift
Cedec2017 Lumberyard GameLift
 
Web サービス インフラの近未来
Web サービス インフラの近未来Web サービス インフラの近未来
Web サービス インフラの近未来
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
 
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行PHP Version Up と AWS への移行
PHP Version Up と AWS への移行
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
 
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
 

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介gree_tech
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてgree_tech
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験gree_tech
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組みgree_tech
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違いgree_tech
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介gree_tech
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてgree_tech
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーgree_tech
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-gree_tech
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話gree_tech
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜gree_tech
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)gree_tech
 
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-gree_tech
 
REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化gree_tech
 

More from gree_tech (20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
 
REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化
 

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

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

Editor's Notes

  1. ここまでで 16:30 くらい
  2. ここまでで 16:30 くらい