>100 Views
June 01, 17
スライド概要
Yahoo! JAPAN は現在オンプレミスにて Cloud Foundry の構築・導入を進めています。
そんな弊社が「何故」「どのように」Azure を利用したハイブリッドクラウド検証を行ったのか?をご紹介します。
https://www.microsoft.com/ja-jp/events/decode/2017/
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Yahoo! JAPAN における Cloud Foundry と Azure による ハイブリッドクラウド検証 2017年5月24日 ヤフー株式会社 システム統括本部 プラットフォーム開発本部 本部長 服部 典弘
自己紹介 服部 典弘 ヤフー株式会社 システム統括本部プラットフォーム開発本部本部長 地図関連会社勤務,Linuxディストリビューターの立ち上げを 経て,GIS系システムインテグレーター会社を設立し,大手地 図サービスのバックエンドシステムを多数手掛ける。 2008年、買収によりヤフー株式会社へ。Yahoo!地図の技術責 任者を務めたのち、2015年より現職。ヤフーのエンジニアが 利用する開発基盤の提供に責任を負っている。 1
アジェンダ Yahoo! JAPAN紹介 Cloud Foundry導入の経緯 なぜAzure? Hack Festとは? 検証内容 まとめ 2
Yahoo! JAPAN紹介
Yahoo! JAPANのアクセス数 月間ページビュー 698億※1 アプリ累計ダウンロード数 3億8000万以上※2 月間アクティブユーザーID数 3430万※3 1日あたりユニークブラウザー数 9000万※1 サービス数 100以上※4 ※1. 2016年度4月~6月平均) ※2. (2016年3月末時点)※出典:App Annie 2015年アプリ市場総括レポート ※3. 2016年6月末時点) ※4. 2016年9月末時点) 4
サービスが沢山ある 増え続ける 100以上のサービス (2016年9月末時点) 開発言語の違い C, Perl, C++, PHP, Node.js, Java... 5
それぞれアーキテクチャも違う 小規模サービス 例)新規サービス等 6 大規模サービス 例)コマース系サービス等
共通の開発言語やフレームワークで統一するのは難しい 7
Cloud Foundry 導入の経緯
社会インフラとして 24時間365日サービスを提供する責務 台風・地震情報、ニュース、メール、検索 9
複数のIDC 10
膨大なサーバ 物理、仮想サーバの合計 10万台以上 ※2015年6月時点 11
お客様のデータを守るために ~膨大なサーバのソフトウエア更新~ ・リリース作業 ・脆弱性対応 ・EOLソフトウェア交換 12
効率を上げる必要があった 新規リリース 脆弱性対応 EOL対応 13
そのためには 開発者がインフラを意識しない世界 に システム運用環境構築 システム運用環境構築 開発業務 開発業務 14
Cloud Foundryを導入 15 従来 IaaS PaaS アプリケーション アプリケーション アプリケーション ランタイム ランタイム ランタイム ミドルウェア ミドルウェア ミドルウェア OS OS OS ハードウェア ハードウェア ハードウェア ネットワーク ネットワーク ネットワーク Open Stack
Cloud Foundryとは? オープンソースのPaaSプラットフォーム • 多くのベンダーで採用 Cloud Foundryベースのプロダクトなので、 他プラットフォームのノウハウも参考にできる • 動作環境を選ばない 複数のIaaS(OpenStackなど)や 仮想化基盤を利用できる • 拡張性が高い 好みの開発言語やデータベースなどを追加・拡張して 独自のPaaSとしてカスタマイズしやすい 16
プログラムをデプロイするだけ • プログラムをデプロイするだけで、サーバーを構築してくれる cf push {アプリケーション名} {オプション} {アプリケーション名}:開発者がデプロイするアプリを一意に認識 -n:ホスト名(例. hoge) -d:ドメイン(例. example.co.jp) 実行URLはオプションで指定した “ホスト名” + “ドメイン” となる hoge.example.co.jp 17
何が起こっているのか? App CF Droplet Application push Runtime Extension Droplet Container OS 18 xxx.yahoo.co.jp
開発パイプラインツールは Concourse.ci 19
デモ1 20
デモ1説明 Cloud Foundryと Concourse.ciを使った アプリケーションのデプロイ 21
デモ1説明 GHE xxx.yahoo.co.jp commit check Concourse 22 test deploy CF push CF
動画1 23
プライベートクラウドがある Yahoo! JAPANがなぜAzure?
災害の際でも 災害の発生! アクセスが集中! 25
アクセス集中時でも (アクセス数) 大型販促キャンペーン等 (期間) 26
処理能力を 落としたくない 27
Cloud Foundryを使えばAzureに展開できるはず APP 28 APP APP APP
例えば 29
現在 APP 30 APP Yahoo! JAPAN
もしものときに APP 31 APP Yahoo! JAPAN
APP 32 APP Yahoo! JAPAN APP Azure
いざという時のオフロード APP 33 APP Yahoo! JAPAN APP Azure
または 34
一時的なアクセスをさばくため APP 35 APP
一時的なアクセスをさばくため APP 36 APP APP
一時的なアクセスをさばくため APP 37 APP APP APP
一時的なアクセスをさばくため APP 38 APP APP APP APP
理想的な構成 Yahoo! JAPAN EDGE Service Azure CF CF 入稿 加工 参照 参照 同期 39
Hack Festとは?
エバンジェリストの方が 一緒に検証をしてくれるらしい = Hack Fest 41
Hack Festとは? 事前にVSM1日 本番 ・3日間 ・共同開発 ・ヤフーエンジニア+MSエヴァンジェリスト 42
VSM=Value Stream Mappingのこと 価値創造に関係するプロセスの流れを 可視化と共有、課題の共有 43
検証内容
検証内容 既存のCFアプリを CF on Azureで動かす 45
知りたい事 現時点で 何ができて何ができないか? 46
当日の様子 開発 VSM 発表 47
Hack Festでの構成 Yahoo! JAPAN EDGE Service CF CF 参照 48 Azure 参照 加工 入稿
アプリケーションの展開は容易だった APP 49 APP APP APP
実際にはデータの同期が必要 Yahoo! JAPAN EDGE Service Azure CF CF 参照 参照 同期 50 加工 入稿
実際にはEDGE Service経由に EDGE Service CF CF 参照 51 Azure 参照 加工 入稿
デモ2 52
デモ2説明 オンプレとAzureの Cloud Foundryに 同じアプリをデプロイ 53
デモ2説明 GHE commit xxx.yahoo.co.jp Azure push check Concourse 54 test deploy CF Yahoo! JAPAN
動画2 55
まとめ
Cloud Foundryで開発に集中 57 従来 IaaS CF アプリケーション アプリケーション アプリケーション ランタイム ランタイム ランタイム ミドルウェア ミドルウェア ミドルウェア OS OS OS ハードウェア ハードウェア ハードウェア ネットワーク ネットワーク ネットワーク Open Stack
CF上の展開は想像以上に容易だった APP 58 APP APP APP
更なる検証が必要な項目 Yahoo! JAPAN EDGE Service Azure CF CF 入稿 加工 参照 参照 同期 59
総括 CFとAzureの組み合わせで クラウド間のポータビリティが 実現する(可能性がある) 60
ご清聴 ありがとうございました 素材提供:アフロ