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
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 / cyberagen...
Search
komeinw
March 01, 2018
Technology
5k
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.8k
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-engineer-gas
komeiy
2
3.7k
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.4k
Interop2016_Mellanox_ca_40g_hasegawa.pdf
komeiy
0
1.5k
Interop2016_huawei_ca.pdf
komeiy
0
1.4k
mellanox_switch_shortreview_interop_2015.pdf
komeiy
0
200
Other Decks in Technology
See All in Technology
The seven pitfalls of AI (revised version)
ufried
0
310
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
570
SREでアラート疲れを 解決しよう!
kairim0
1
220
Loop Engineering これくらいでいい
mikanichinose
0
200
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
140
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
120
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
250
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
120
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
120
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
130
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
370
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
It's Worth the Effort
3n
188
29k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
790
KATA
mclloyd
PRO
35
16k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
630
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
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 によるインフラ環境の変化が起きている
• 単純作業から解放されれば、別のことをやる時間が作れる • いろいろ情報交換していきましょう
一緒に働きたい方を募集中です
ご清聴ありがとうございました