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
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 / cyberagen...
Search
komeinw
March 01, 2018
Technology
4.9k
11
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 / cyberagent-adtech-network-for-these-3years
komeinw
March 01, 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
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-engineer-gas
komeiy
2
3.7k
OkinawaOpendays2016_ネットワーク運用コード化への取り組み
komeiy
1
1.3k
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
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
200
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
210
背中から、背中へ /paying forward to community
naitosatoshi
0
210
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
180
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
460
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
370
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
370
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
490
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
250
Baseline対応のDOMの型定義を作った
uhyo
2
640
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
140
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
760
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Bash Introduction
62gerente
615
220k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
A Tale of Four Properties
chriscoyier
163
24k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
580
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Transcript
ここ3年におけるサイバーエージェントの ネットワークを取り巻く環境の変化 CyberAgent アドテク本部 山本 孔明 @komeinw
自己紹介 ❏ 山本 孔明@komeinw アドテク本部のインフラ組織(CIA)所属のネットワークエン ジニア 主な業務 • オンプレとパブリックのネットワーク(物理/仮想) •
OpenStack / CircleCI • Aritifactory ...etc • チームマネジメント
本日のアジェンダ 1. サイバーエージェントとアドテクスタジオについて 2. アドテクスタジオのプライベートクラウドについて 3. 3年の変化を振り返ってみる a. スタートライン b.
一歩進んだ c. もう一歩進んだ d. その他 4. まとめ
サイバーエージェントについて 1998年の創業以来、インターネットを軸に事業を展開し 現在では代表的なサービスである「Ameba」をはじめ、 スマートフォン向けに多数のコミュニティサービスやゲームを 提供しています。 and m ore !!
サイバーエージェントの事業内容
アドテクスタジオについて インターネット広告において、広告配信の最適化やメディアの収益最大化という観点から アドテクノロジーの重要度が高まっています。 サイバーエージェントではアドテクノロジー分野における これらのサービスについて各子会社を通じ開発しておりましたが、 各サービスの開発部門を横断して組織化する専門部署として アドテク本部・アドテクスタジオが設立されました。
https://adtech.cyberagent.io/pr/archives/3601 サイバーエージェントのアドテク
サイバーエージェントのアドテク 詳細は「日本一やさしいアドテク教室」を御覧ください! https://adtech.cyberagent.io/pr/archives/3601
アドテクスタジオのインフラって どうなっているの?
アドテク本部のインフラってどうなっているの? • 25を超えるプロダクト。約200名のエンジニア。 • インフラは各プロダクトで自由に選択 • AWS、GCP、プライベートクラウド インスタンス数ベースでは プライベートクラウド >
AWS > GCP 最近、GKE のために GCP を利用するケースが増えてきている
アドテクスタジオで提供している プライベートクラウドについて
プライベートクラウドについて • 本番用クラウド基盤 ◦ OpenStack (Izanami) • コンテナ基盤 ◦ AKE
• CI周り ◦ CircleCI ◦ Artifactory • 物理マシン ◦ MAAS • 個人開発用クラウド基盤 ◦ OpenStack (Mille) + Midonet • 分析基盤 ◦ Tableau
Meet Adtech Cloud Circle CI Enterprise 2.0 を βリリース中
ここ3年を振り返ってみる
スタートライン • 2014年3月 ◦ @komeinw 入社した時点の情報 ◦ 1U 物理サーバを大量に並べたラック構成 ◦
KVM で VM 数台起動 ◦ PXE boot で OS 入れて引き渡し ◦ NW はコアに L2SW を LAG で接続する構成 ◦ 申請ベースの作業 例えば、LBの設定などエクセルで来る申請をポチポチ手作業で実施していた。 サーバ担当がラック作って、ネットワーク担当がスイッチの設定して、サーバ担当が OS 入 れて KVM 上に VM 作って、開発者がアプリケーション入れて LB 申請してくる流れ
Excel での申請作業って・・・ • ヒューマンエラーおきやすい ◦ コピペミス ◦ 1行ズレた ◦ 大文字小文字間違えた
• なので、確認作業にも時間がかかる • Excel からコンフィグ生成する案もあるが・・・ 集中している作業を分断されるのは変わりない
一歩進んだ • 2014年8月 ◦ OpenStack になった。セルフサービス。 ◦ NW はよくある L2
構成にした(当時NeutronのL3は・・・) L3 と LB が物理の世界に取り残さることにより、申請作業が変わらない問題は残る。 というより、より課題が顕著になる恐れが。
一歩進んだ インフラ用の API Gateway を作成。 API を公開 すると共に「AXC (Adtech Studio
X Cloud) 」を リリース。簡単にアドテク内のインフラリソースを操作できるように。 Python 製。GitHub の organization 内で公開して配布。※ API Gateway がないと動かない https://adtech.cyberagent.io/techblog/archives/59
操作イメージと効果 • 学習コストが低い(アプリケーションの開発者が 各製品固有のコマンドを覚える必要がない) • メーカーの差を隠蔽できる • 簡単にJOBに組み込んだりすることが可能 • 思い立ったときにすぐインフラの操作ができる
こんな感じでのルータ・スイッチ・ロードバラン サー、Neutronの設定ができる。 Regionの概念も持たせています
Chatで話かけると・・・ SVI / VLAN作成、LB設定、Neutron設定、テスト、テスト環境削除 までの一連の流れを実施。結果はChatで通知。 面倒なものは chatbot も(1)
面倒なものは chatbot も(2) • グラフィカルな部分はChatでできるようにして おくと便利。 • “頼まれる側” も ”頼む側”
に取ってもストレス フリー • 他にも可視化と簡単なプロビジョンで活用 • Jobに組み込んだりする可能性があるものは CLIないしはAPIで提供した方がよい
もう一歩進んだ • 2015年2月 ◦ OpenStack + SDN で開発者向けの個人環境を構築 ◦ OpenSource
になったばかりだったが Midonet を採用 Zookeeper と Cassandara ネットワーク情報を管理し、各サーバ(Controler / Compute)で動作する Agent が OpenStack と連携しネットワークを作る。 VTEP の位置を考えるとネットワークは リーチャビリティが あれば難しい処理はしなくてよい http://www.sdnjapan.org/archive/2015/2015pdf/1503_hasegawa.pdf 自動化の限界、 VLAN自体を管理するのが面倒 →
作業からの解放\(^o^)/
トラブルシュートが変わってくる ネットワークエンジニアとしては Linux で構成される世界を 管理するかしないかでやるレベルに大きな差がでる • 「ネットワークがおかしい 」ってどこまでの範囲? • TAP? qbr? qvo? qvb?
• SoftIRQ 周り? Adapter の queuing ? netdev_budget ? backlog ? • zookeeper で管理しているネットワークがおかしい? • midonet の bug ? neutron との不整合? ユーザからすると、インスタンスから外に出れば管理者の範疇。 仮想ネットワークとか物理ネットワークとかは区別して問い合わせをしてくるわけではない。
もう一歩進んだ この辺りからエンジニア間の垣根がなくなってくる 現在は、得意分野は違えど全員が同じ業務を遂行できる(ネットワークは除く) Server Server Network Network API公開 守備範囲 拡大
さらにもう一歩進んだ • 2016年11月 ◦ Kubernetes as a service を始動 ◦
2017年1月に β をリリース ◦ 現在は OpenStack 上で複数のクラスタが稼働している コンテナの需要の高まりへの対応、Kubernetes を as a service 形式で稼働できることで 開発エンジニアがコンテナのメリットを受けるためのハードルを避ける AKE(Adtech Container Engine) OpenStack 上に専用の Kubernetes を気軽に構築できる環境 https://adtech.cyberagent.io/techblog/archives/3673
• Google 社が作った COE ツール • Docker コンテナのオーケストレーションを行う ◦ スケールアウト、スケールイン
◦ リソース管理、スケジューリング ◦ ロードバランシング、ヘルスチェック ◦ BlueGreen、ローリングアップデート ◦ クラスタ間ネットワークの提供 • コンテナをよしなに管理してくれる Kubernetes ってなに?
AKE や GKE の何がいいのか? • Kubernetes を構築するのが辛い問題... ◦ あまり本質的な所ではないので楽をしたい ◦
≒ OpenStack を構築する • Kubernetes クラスタを簡単にデプロイ • Kubernetes Node 自体を簡単にスケーリング • 動的な永続ボリュームの提供(Persistent Volume の Dynamic Provisioning)
Step 1. AKE / GKE クラスタを構築する Step 2. Kubernetes で
Pod/Service を作成する GKE AKE
Step 1. AKE / GKE クラスタを構築する Step 2. Kubernetes で
Pod/Service を作成する GKE AKE (AKE)# ake cluster create NAME ... (GKE)# gcloud container clusters create NAME ...
Step 1. AKE / GKE クラスタを構築する Step 2. Kubernetes で
Pod/Service を作成する GKE AKE (AKE)# kubectl ... (GKE)# kubectl ...
AKE を実現するために必要なこと • OpenStack 上に必要なリソースを展開する • Kubernetes をインストールする(最近イメージに内包した) • LoadBalancer
に登録する( or LoadBalancer 自体の構築) • CLI の提供 • master や worker のスケールイン / アウト • 提供する Kubernetes の CI / CD • CLI の CI / CD • ....etc
OpenStack Heat とは? • 構成情報を template で管理することができ る • AWS
CloudFormation / Terraform に近い OpenStack 上に必要なリソースを展開する
Kubernetes 時代のネットワークの 苦労ポイントを一つ紹介
type: LoadBalancerの壁 • Kubernetes には Service を「type: LoadBalancer」で作成すると Cluster 外に
LoadBalancer が作られる仕組みがある • この Service を使うと Cluster 外部から内部の pod にアクセスが可能 • 様々な Cloud Provier 連携が存在 (GCP / AWS / OpenStack …) • OpenStack の場合は Neutron LBaaS か Octavia と連携される • しかし、アドテクの OpenStack では Neutron LBaaS も Octavia も無い
type: LoadBalancerの壁(解消ポイント) • もともとアドテクスタジオでは Hardware LoadBalancer を使用しているが、その LB に対して API
で操作できる AXC という仕組みがある (前述の Adtech x Cloud) • Kubernetes からの LoadBalancer の作成時にこの AXC と連携させれば 「type: LoadBalancer」が実現できる • Kubernetes の Cloud Provider の OpenStack の pkg を改修 • しかしこれだけではまだ完全ではない • LoadBalancer 用の IP Address を自動で払い出す機能も作成
おまけ:Chatbot も進化している 簡易版。LB のヘルスって落ちてない ですか?という質問が多かったの で。 アラートに bot が反応してくれたり、 別の
bot を呼び出して処理をするよ うになっている
まとめ • ネットワークエンジニアの領域は変わってきている • OpenStack / SDN / Kubernetes によるインフラ環境の変化が起きている
• 単純作業から解放されれば、別のことをやる時間が作れる • いろいろ情報交換していきましょう
一緒に働きたい方を募集中です
ご清聴ありがとうございました