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
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-enginee...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
komeinw
January 12, 2018
Technology
3.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-engineer-gas
komeinw
January 12, 2018
More Decks by komeinw
See All by komeinw
kubevirt動かしてみた_npstudy#19 / try_kubevirt_npstudy#19
komeiy
3
1.7k
Datadog_で作る_NW_監視のメリット_デメリット.pdf / Datadog_NW_Monitoring
komeiy
3
3.7k
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 / cyberagent-adtech-network-for-these-3years
komeiy
11
4.9k
OkinawaOpendays2016_ネットワーク運用コード化への取り組み
komeiy
1
1.4k
Interop2016_Mellanox_ca_yamamoto.pdf
komeiy
0
1.3k
Interop2016_SDI_OpenStage-アドテクに必要なSDN_NFV_ca_yamamamoto.pdf
komeiy
0
1.3k
Interop2016_Mellanox_ca_40g_hasegawa.pdf
komeiy
0
1.4k
Interop2016_huawei_ca.pdf
komeiy
0
1.4k
mellanox_switch_shortreview_interop_2015.pdf
komeiy
0
190
Other Decks in Technology
See All in Technology
My broken English still works: speaking at global OSS events
naruoga
0
110
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.4k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.5k
JavaScript 研修 (2026)
recruitengineers
PRO
2
600
関東Kaggler会発表資料
takoi
1
250
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
440
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
170
ハーレムエンジニアリング
kazuma777777
0
180
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
システム思考で問題に対処する
yussak
0
320
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
710
Test your architecture with Archunit
thirion
1
2.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
Side Projects
sachag
455
43k
Site-Speed That Sticks
csswizardry
13
1.4k
Fireside Chat
paigeccino
42
4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
650
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
ネットワークエンジニア こそGASを覚えるべきと思っ た話 CyberAgent アドテク本部 山本 孔明
❏ 山本 孔明 アドテク本部のインフラ組織所属のエンジニア 今はプライベートクラウドチームのリーダーをやっていま す 主な業務 • オンプレとパブリックのネットワーク(物理/仮想) •
OpenStack / CircleCI / Aritifactory ...etc • チームマネジメント 自己紹介
アドテク本部について インターネット広告において、広告配信の最適化やメディアの収益最大化という観点から アドテクノロジーの重要度が高まっています。 サイバーエージェントではアドテクノロジー分野における これらのサービスについて各子会社を通じ開発しておりましたが、 各サービスの開発部門を横断して組織化する専門部署として アドテク本部が設立されました。
サイバーエージェントのアドテク 詳細は「日本一やさしいアドテク教室」を御覧ください! https://www.cyberagent.co.jp/ir/personal/adtech/adtech_01/
ポート表の作成ってめんどくさい・・・ • モデルごとに違うポート番号 • ディスクリプションに書いてあることを転記する無駄感 • スイッチの VLAN 変えたらポート表を変えないといけない二度手間感 •
更新を何回か忘れて管理が事実上崩壊 そもそもポート表を作るのが本質ではない・・・!!
で、どうする? • Ansible で管理すればいいのでは? ◦ ios_config 並べるみたいな管理を全メーカーやる・・・? ◦ ( 割とありかもしれない
) • GitHub にコンフィグを自動でアップしておけばいいのでは? ◦ 簡単だけどネットワークエンジニア以外の可読性がいまいち問題 ◦ ( 便利っちゃ便利なので活用はしている ) そういえば、ポート表を自動生成する方法はないのかな?
Ansible 2.4の話 Ansible 2.4 でネットワークプログラマビリティな運用を考える https://adtech.cyberagent.io/techblog/archives/3801 • parse_cli_textfsm + ntc-templates
がスーパー便利 • ios_command などで各メーカーの ネットワーク機器を操作するのは割と楽 • json で情報取れるので加工しやすい
あ、Databaseに入れちゃえば いいんじゃない??
Databaseに入れることで • いろんな場面で二次利用できる • フロントに Redash 使ったりして可視化が楽 • スプレッドシート使えばまさにポート表いらない ファイル共有のしやすさ、同時編集などを考えると
CSV よりスプレッドシートがおすすめ。
構成概要 MySQL Switch Jenkins ① ② ③ 定期取得
GAS (Google App Script) について • JavaScript をベースにしている • カレンダーやスプレッドシートなど多数の
Google Apps を操作可能 • マニュアルがしっかりしている • こういうレベルの活用なら学習コストが意外と低い Let’s Try GAS!!
結構簡単にできちゃう • DB に接続してテーブル作る例 SQL そのまんま !!
今回GASでやること • DB に接続 • 任意のテーブルを select する • 目的のシートに書き出す
すごく Simple !!
今回GASでやること • DB に接続 ◦ var conn = Jdbc.getConnection(dbUrl, user,
userPwd); ◦ var stmt = conn.createStatement(); • 任意のテーブルを select する ◦ var result = stmt.executeQuery(sql); • 目的のシートに書き出す ◦ var sheet = SpreadsheetApp.getActiveSheet(); ◦ var cell = sheet.getRange('A1'); ◦ cell.offset(row, 0).setValue(results.getString(1)); やっぱり Simple !!
技術的なハードルは 意外と低い?
まとめ • とりあえず DB へ入れておくとなにかと便利 • フロントにはスプレッドシートがおすすめ • この用途なら GAS
はそんなに難しくない • 自動化するコストとポート表にかけてるコストと要相談 プライベートクラウドでそもそも ポート表に管理コストそんなにか かってない疑惑・・・。