302 Views
February 25, 16
スライド概要
Developers Summit 2016 Yahoo! JAPAN Tech Conference
http://event.shoeisha.jp/devsumi/20160218/tokusetsu
【18-A-5】15:15~16:00【第2部】
Yahoo! JAPANの実践から学ぶ、超大規模Webシステムのフロントエンドとインフラ
『Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用』
システム統括本部 サイトオペレーション本部 インフラ技術1部 部長
伊藤 拓矢
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Yahoo! JAPANが実践するOpenStackと 大規模環境でのコンテナ利用 伊藤 拓矢 2016/2/18 システム統括本部サイトオペレーション本部 OpenStack 黒帯
自己紹介 名前: 伊藤 拓矢 所属: システム統括本部サイトオペレーション本部 インフラ技術1部 担当領域 ・ OpenStackをベースとしたプライベートクラウドの 設計、開発、検証、構築、運用 ・ アプライアンスベンダーとの調整、協力 ・ サーバ、OSの検証、導入など Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Agenda • データセンタを支えるOpenStack事例紹介 • ハードウェアライフサイクルについて • アプリケーションレイヤでのライフサイクル • ソフトウェアライフサイクルについて • ライフサイクルを実現する上でのコンテナ • まとめ Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
データセンタを支える OpenStack事例紹介 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
OpenStackとは? • クラウド基盤を構築するソフトウェアのひとつ • NASAとRackSpaceからコードがOpenStackプロ ジェクトに寄贈され、初回のリリースは2010年でし た。現在も活発に開発が進んでいます。 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
OpenStackとは? 様々なプロジェクトがある • インフラ基盤として動作するプロジェクト - Cinder, Ironic, Manila, Neutron, Nova - Barbican, Designate, Glance, Heat, Horizon, Keystone, Telemetry • プラットホーム、ミドルウェア系プロジェクト - Murano, Sahara, Swift, Trove • コンテナ技術にフォーカスしたプロジェクト - Kolla(OpenStackコントローラ側をコンテナ化) - Magnum(COEのライフサイクル管理) - Kuryr(Calico, Midonetなどコンテナネットワーク接続) Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 昨年10月27日にYahoo! JAPANは国内企業で初めて OpenStack SummitのKeynoteで発表しました Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 話したこと • APIのフォーマットが変わらないことが重要 Neutron API Apps Nova API KVM VM ware Contai ner Bare metal API Cinder API API API API Platforms API API Infrastructures Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 話したこと • 異なる環境であっても同じAPIで動作することが重要 Neutron API Apps Nova API KVM VM ware Contai ner Bare metal API Cinder API API API API Platforms API API Infrastructures Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 話したこと • インフラのAPIはアプリに近づくことが前提 Neutron API Apps Nova API KVM VM ware Contai ner Bare metal API Cinder API API API API Platforms API API Infrastructures Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 話したこと • Yahoo! JAPANではデータセンタ抽象化のコア技術 としてOpenStackを採用した KVM VM ware Bare metal KVM VM ware Bare metal Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Yahoo! JAPANにおけるOpenStack 話したこと • インフラ部門側からハードウェアライフサイクルを 実施することが可能になった KVM VM ware Bare metal KVM VM ware Bare metal Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
データセンタ抽象化の一例 オープンハードウェアの採用 • 最初にOpenStack基盤へOCPの採用 後に大規模Hadoop基盤へ繋げる • 利用者は意識しない部分での改革 従来型のサーバとOpenStack上の 操作性は変らない Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
データセンタ抽象化の一例 オープンハードウェアの採用 • 技術向上とコスト貢献 海外にて直接交渉によるスキル向上 コスト意識を持たなくてはならない Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
データセンタ抽象化 ハードウェア抽象化と継続的なハードウェア ライフサイクルが実現 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アプリケーションのライフサイクルについて アプリケーションのレイヤまで継続的な ライフサイクルを実現したい Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アプリケーションのレイヤまで継続的 なライフサイクルを実現したい Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アプリケーションのライフサイクルについて ハードウェア抽象化と継続的なハードウェアライフ サイクルが実現 継続的なソフトウェアライフサイクルを行い、実行環境 をBaremetal, VM, コンテナに対応する Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アプリケーションの実行環境は人が選ばない どこでデプロイされるかは関係ない Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
どこで実行されるのか 性能 △ ○ ◎ 可搬性 ○ ◎ × 簡易性 ◎ オーバーヘッド大きい 完全に隔離された自由な環境 OS含めると軽量とは言えず Baremetalからの移行は簡単 ? オーバーヘッド小さい 最軽量を目指すと性能対要求 リソースが最適化される 移行ではなく1から組み上げたい × 性能を使い切るアプリケーション も少ない 多くの場合において無駄 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
今日のフォーカス コンテナ、Docker Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナ(Docker)の良いところ • イメージの管理性 • 上手く作れば最軽量 • 持ち運びが楽 • レイヤを重ねなくても高いメリット • コンテナは性能劣化が少ない • エミュレーションしていないのでVMより早い • 計算資源に対する実性能が高いため高集約 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナ(Docker)での注意点 VMからコンテナへの移行は難しい 1. イメージサイズが大きいとメリット薄 - 可搬性が下がっていく、詰め込みすぎない Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナ(Docker)での注意点 2. ネットワーク機能の違い - 複雑なアプリケーションになるほど難しい - コンテナ独自のNW機能も多い - 実環境においてはCalicoなどの純粋な IPネットワークを重視 Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナ(Docker)での注意点 3. ストレージ機能の違い - 永続的にデータを持たせることは考えない - データはSwift/S3とDocker Volumeを使い分け (Object, File) Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナの向き不向き • モノリシックは不向き コンテナへ重量級のデプロイはメリットが無いケースが多い 従ってコンテナするなら、軽量化、分割化を行う • マイクロサービスもコスト高い オーバーヘッドもあり、管理対象が増えてくる トラブルシュート大変なので、ログとメトリクスの集約が必須 メトリクスも俯瞰できないと意味無し マイクロサービスを取り入れていない場合は、コンテナ 利用の前に、軽量化と分割化に取り組む Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
コンテナの向き不向き • コンテナを手でデプロイするのは大変 大量にあるコンテナを組み上げていくのは人では無理 デプロイとオーケストレーションを自動でやる必要がある • デプロイ自動化には、前段も自動化する必要がある いわゆるCIの実現 アプリケーションの作り方から変えていく 揃えるものは多い Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
本日のまとめ Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
本日のまとめ • Yahoo! JAPANがOpenStackを導入した理由 • OCPへの取り組み • コンテナを利用した継続的なソフトウェアライフサ イクルについて Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止