Yahoo! JAPAN Tech Conference 2018参加メモ
Yahoo! JAPAN Tech Conference 2018に参加してきたので個人的メモ残します。すべてのセッションに参加したわけではなく、インフラ関連のセッションのみ参加しています。
データセンターネットワークの取り組みと大規模サーバインフラの戦略
村越さん
プロダクションネットワークを担当。
ネットワーク概要
- バックボーン
- CDN
- DCネットワーク
上記全てを見ている
機器台数は、サーバーが8万台、スイッチが7500台、ルータが70台ぐらい。
バックボーン
- 四つのDCを繋ぐ
- 東と西でAS分けて、それぞれにインターネットの出口がある
- CDNも二箇所
トラフィックはだいたい500Gbpsぐらいで、お昼が一番多い。トラフィックの内訳は動画が7〜8割。トラフィック増に対する対応は機器のスケールアップで対応。
■DCネットワーク
TORのトラフィックは1.5Tbpsとか3.6Tbpsとかで、全拠点で10Tbpsにもなる。East-Westトラフィックが多い理由は、ストレージ分離とかが普及してきたから。
East-Westトラフィックが増加しているのはYahooだけではなく、OTT全般に見えている。次のグラフはFacebookのDC内トラフィックグラフ。
Facebook Gives Lessons In Network-Datacenter Design
これに対応するためにクロスファブリックネットワークを導入した。
データセンタネットワークの取り組みとFacebook Backpack – Yahoo! JAPAN Tech Blog
データセンターネットワークの取り組み
- 自動化
Home grown + OSS + Apstra - ソフトウェア
EOS + Cumulus + NX-OS/Junos - Chip
Broadcom + カスタムASIC - BOX
Arista + Cisco + Juniper + Whitebox
デザイン
現在はコアスイッチでACL書いているが、最大で11万行になってる。そこで、Iptablesベースのシステムを開発中。
BOX
昔はメーカーをマルチベンダーにして信頼性を確保していたが、今はチップベースでダイバーシティしている。
自動化
自社開発で自動化しているが、配線ミスや予兆検知ができていない。そこでApstraを導入している。
藤見さん
サーバインフラ概要
- メンバー10人とパートナー数十人で対応
- 運用しているサーバは10万台
- モデルの種類は80くらい
- パーツ単位だと20万ぐらいになる
台数が多いので一台レベルで最適化するのではなく、全体最適化するようにしている。(型番を減らすとか)
OCP
サーバは二種類で一般的なラックマウントサーバーとOCP。一般的なやつは全体の80%ぐらいで、残りの20%がOCPで1000台ぐらい導入している。
OCPのメリット
- 物理運用
フロントオペレーションで背面に移動する必要がない - パーツ選定
ベンダのポリシーに影響を受けない - IPMI/SEL
独自フォーマットがなく、OCP準拠
Yahooで導入しているOCPサーバ
戦略的パートナー
- サーバベンダ
- パーツサプライヤー
- ディストリビューター
全部で約30社のパートナーとやりとりしていて、提案を受けるだけでなくこちらから逆提案もしている。(ラッキングレールの提案とか、パーツの提案とか)
将来の取り組み
- 自立したサーバインフラへ
- 主体的にパーツ選定
- 故障率等の統計を活用して、不要なサポートを削減していきたい
Yahoo! JAPANを支える開発基盤 PaaS
甲斐さん
paas概要
- OSSのcloud foundryを採用
- ポイントは動作環境を選ばないとか拡張性が高いとか
- CI/CDはconcource採用
Cloud foundryとの相性が良い
なぜPaaS?
- サービスを今よりも10倍開発したい
- 社内のサポートや基盤の共通化
これからのPaaS
- 導入して三年経った
- 今後はさらにクラスタやrpsを増やしていきたい
Joshuaさん
複雑さと自律性について文化的な側面から語ってみる。
- なぜクラウドネイティブ?
ゴールは自動化
ただ実現は難しい。
「No plan survice contact with the enemy」
そこには人が介在しているから。そのため組織の変革が必要。
半自律型チーム
- なぜやるのかをみんなが理解している状態が重要
- 完璧ではなく十分
- 「半」なのが大事。完全は簡単。でもそれではダメ。
Experimental mind
- 完璧な計画なんてない
- 失敗を前提に置く
- 振り返ることが大事
- これからも常に学んでいかなければいけない。
これからひつようなスキル
- コードを書くことだけでは重要ではない。
- 「聞いて」「話して」「コード書いて」「学んで」「振り返る」ことが大事
これからはスピードが重要。
だからこそ完璧ではなく、十分だということを受け入れること。
この先、そのサービスを上回るものが生まれる。でもそれで良い。