3.4K Views
July 23, 19
スライド概要
CloudNative Days Tokyo 2019 / OpenStack Days Tokyo 2019 にて、ヤフー吉岡、ゼットラボ河がお話ししたスライドです。
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
ヤフーのクラウドネイティブへの取り組みと それを⽀えるシステム開発 2019年 7⽉ 22⽇ ヤフー株式会社 テクノロジーグループ システム統括本部 クラウドプラットフォーム本部 吉岡 圭 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
⾃⼰紹介 吉岡 圭 ヤフー株式会社 テクノロジーグループ システム統括本部 クラウドプラットフォーム本部 本部⻑ システム統括本部 テクニカルディレクター(兼) 2008年5⽉ ヤフー株式会社 ⼊社 Yahoo!フォト、Yahoo!ブリーフケース、Yahoo!ブックマーク、 Yahoo!トップページ を担当 2016年4⽉ システム統括本部テクニカルディレクター 2019年4⽉ システム統括本部クラウドプラットフォーム本部 本部⻑ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2
アジェンダ • Yahoo! JAPANの紹介 • Why?モダナイゼーション • Yahoo! JAPANのモダナイゼーション • モダナイゼーションの効果 提供:アフロ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 3
Yahoo! JAPANの紹介 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
100を超えるサービスの提供 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 5
⾮常に⾼い利⽤数 ⽉間総PV ※1 757 億 ※1.2017年度2Q平均 ※2.2017年度2Q平均 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ブラウザ数 (デイリーユニーク) ※2 9302 万 6
マルチビッグデータカンパニー PCの時代 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. スマホの時代 データの時代 7
特に強みとなる領域のデータセット メディア コマース ⾦融 など など など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 8
様々な業種のグループ企業と連携 様々な業種のグループ企業と連携 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 9
Yahoo! JAPANはマルチビッグデータカンパニーを⽬指します Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 10
Why?モダナイゼーション Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Why?モダナイゼーション データ利活⽤で 競争⼒強化 開発競争⼒の向上 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. レガシーからの 脱却 12
Why?モダナイゼーション データ利活⽤で 競争⼒強化 開発競争⼒の向上 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. レガシーからの 脱却 13
データ利活⽤で競争⼒強化 出典:⽇経ビジネス、Forbes、Wikipedia 2010年 2018年 1 1989年 NTT ペトロチャイナ アップル 2 住友銀⾏ エクソンモービル アルファベット 3 ⽇本興業銀⾏ マイクロソフト マイクロソフト 4 第⼀勧業銀⾏ ICBC アマゾン 5 富⼠銀⾏ ウォルマート テンセント 6 IBM チャイナモバイル フェイスブック 7 三菱銀⾏ BHPビリトン バークシャー・ハザウェイ 8 エクソンモービル バークシャー・ハザウェイ アリババ 9 東京電⼒ ペトロブラス 中国⼯商銀⾏ 10 三和銀⾏ アップル JPモルガン・チェース 8年前と⽐較すると、IT企業は2→7企業に Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 14
マイク ロ ソフト アップ ル アリバ バ Yahoo! JAPANが⽬指す先 フェイ スブッ ク Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. アル ファ ベット アマゾ ン テン セント 提供:アフロ 15
データ利活⽤で競争⼒強化 リリース データを利活用した 開発・改善 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. このサイクルを スピーディに ユーザーからの Fe e d B a c k 開発競争⼒の 向上 16
Why?モダナイゼーション データ利活⽤で 競争⼒強化 開発競争⼒の向上 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. レガシーからの 脱却 17
レガシーからの脱却 Yahoo! JAPANは設⽴20年… Legacy Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 18
Yahoo! JAPANのモダナイゼーション Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Yahoo! JAPANのモダナイゼーション 約3年前から全社における 最重要案件の⼀つ として現在も取り組み中 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 20
Yahoo! JAPANのモダナイゼーション Yahoo! JAPANの 100を超えるサービスを ⽀えるPlatformから 対応 Platform “Modernization” Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 21
Platform “Modernization” Culture Process Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Technology 22
Culture テクノロジートレンド の変化は 年々加速している 提供:アフロ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 23
Culture 要 件 の 不 明 確 さ ⾼ カオス Platform 領域 要件の不明確さが⾼く、 技術的難易度も⾼く、 ⾮常に複雑な領域 単純 技術的難易度⾼ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 24
Culture リリー ス • 加速するテクノロジー の変化 • 複雑なPlatform領域 上記を対応するためには Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 改善 FB スピーディな 改善サイクルが必須 25
Scrumの採⽤ アジャイル開発 ------Scrum ------- Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Scrumとは? 反復的かつ漸進的にプロセスを進め、 現状や問題を把握するフレームワーク Scrumの3本柱 透明性 現状や問題の⾒える化 検査 ⾒える化により問題点を ⾒つけること 適応 問題の改善策を考えて 対処すること 26
Platform “Modernization” Culture Process Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Technology 27
Process Scrumに即した組織作り 組織としてのバックログ作成 PO,SM,開発Mgrの役割明確化 1プロダクト1チーム体制 組織横断のSM育成 One-Platformとしてのマインド向上 ※PO同⼠の横連携強化のための合宿等 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 28
Process CI/CDの促進 サイクルを よりスピーディに回す ⾃動テスト リリース ✅ ⾃動デプロイ 改善 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. FB リードタイム の短縮 ⽣産性向上 29
Platform “Modernization” Culture Process Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Technology 30
Technology コンテナ化 IaaS Infrastructure as a Service Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. CaaS Container as a Service 提供:アフロ 31
Technology コンテナ化 サービスエンジニアは インフラ環境に依存せず、 サービス開発に集中 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 32
Technology コンテナ化 約50のサービスが kubernetesを利⽤し、 稼働中 ※2019/2現在 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 33
Technology Not just CaaS PaaS アプリケーション開発に特化した Platform環境の提供 FaaS イベントドリブン型のサーバレスな アプリケーション実⾏環境の提供 Platform as a Service Function as a Service Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 34
Technology IaaS CaaS PaaS FaaS Function Function Function Function Application Application Application Application Data Data Data Data Runtime Runtime Runtime Runtime Middleware Middleware Middleware Middleware OS OS OS OS Virtualization Virtualization Virtualization Virtualization Server Server Server Server Storage Storage Storage Storage Networking Networking Networking Networking Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 35
Technology IaaS CaaS PaaS FaaS OSを⾃由選択・設定可能 ミドルウェア等の カスタマイズ性が⾼い 開発環境をフルセット⽤意 アプリ開発に集中 サーバレスで イベントドリブンな アクション作成可能 サービスの要件に沿った最適な環境を使⽤してもらうため、 各開発環境を構築 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 36
Technology MakeとUse Make Use 未だ世の中に無いもの 世の中に既にあるもの Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 37
Technology Make 未だ世に無いモノや、既存の資産を活かしたモノは「Make」 1から構築 OSSをベースにして構築 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 今回は こちらにフォーカス 38
OSSへの貢献 プロダクトへの貢献 Yahoo! JAPANのサービスの特徴 ⾼帯域トラフィック ⼤規模ユーザー ペタバイトのデータ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 想定通りの動作× OSSに適⽤ 新たなBug発⾒ 39
OSSへの貢献 Yahoo! JAPANが開発協⼒ Apache Software Foundation Top-Level Project昇格 スケーラブルで 低レイテンシーな Pub/Sub メッセージキュー Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 安⼼安全な RBAC(ロールベース アクセス制御) システム 中央集中型の CI/CD システム 40
OSSへの貢献 スポンサー Yahoo! JAPANは Cloud Native Computing Foundationの スポンサー(SilverMember) CNCFのカンファレンスである KubeConや各カンファレンスに 積極的にブース出展 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2018 • KubeCon China 出展済 • KubeCon NA 出展済 2019 • KubeCon Euro 出展済 • KubeCon China 出展済 • KubeCon NA 出展予定 • Cloud Native Days Tokyo 出展済 41
OSSへの貢献 OSSのリスクも・・・ OSS利⽤ ガイドライン OSSライセンスの 教育 社内で徹底的に対応 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 42
Technology MakeとUse Make Use 未だ世の中に無いもの 世の中に既にあるもの Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 43
Technology Use 世の中にあるモノで、いち早く価値を届けられる場合は「Use」 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 44
Technology MakeとUseのバランス 様々な課題、要件に対して 1から内製すべき? OSSを利⽤? ソフトウェアの使⽤? テクノロジートレンドを⾒て判断 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 45
モダナイゼーションの効果 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
効果 デプロイ頻度 ・⽉1,2回 ・週1回 ・⽉4回 ・週2、3回 (1⽇に複数回も) 変更リードタイム 1⽇ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 1時間 ※あるサービスで計測 47
モダナイゼーションの効果 ASIS TOBE その他 その他 新機能開発 システム 改善 定常 緊急 保守運⽤ 保守運⽤ 新機能開発 システム 改善 定常保守運⽤ 緊急保守運⽤ サービス開発エンジニアは より磨かれたサービスをお客様に届ける事が可能に Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ※あるサービスで計測 48
課題点 モダナイゼーションへの理解とスキルチェンジ 社内全体で ・モダナイゼーションが必要である事への理解 ・それを⾏うためのスキルチェンジ が必要になります。 ※あるサービスで計測 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 49
課題点 最も効果的だったもの ① “モダナイゼーション”な Platform アーキテクチャ図 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ② ①を構成する サービスカタログ ③ “モダナイゼーション”への クックブック 提供:アフロ 50
Doing Culture Technology Lean XP Microservice ServiceMesh Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 51
まとめ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Why?モダナイゼーション データ利活⽤で 競争⼒強化 開発競争⼒の向上 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. レガシーからの 脱却 53
Platform “Modernization” Culture Scrumに 即した組織 CI/CDの促進 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Process Scrum Technology コンテナ化 MakeとUse 54
効果 / 苦労点 “モダナイゼーション”への理解とスキルチェンジ デプロイ頻度 ・⽉1,2回 ・週1回 ・⽉4回 ・週2、3回 変更リードタイム 1⽇ 1時間 サービスエンジニアは よりサービスを磨くことが可能に Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ※あるサービスで計測 ① “モダナイゼーション”な Platform アーキテクチャ図 ② ①を構成する サービスカタログ ③ “モダナイゼーション”への クックブック 55
モダナイゼーションに終わりは無い Culture・Process・Technology の観点で、モダナイゼーションを 常に追い続ける Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 提供:アフロ 56
Yahoo! JAPANʼs “Modernization” Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 提供:アフロ 57
EOP Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ヤフーのKubernetes as a Service(CaaS)の現状紹介と ゼットラボによる保守開発 ゼットラボ株式会社 河 宜成 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Who am I 河 宜成 (Takanari Ko) ゼットラボ株式会社 代表取締役 ヤフー100%子会社 昨年 OpenStack Days「Cloud Nativeを企業に促進させるには」で登壇 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ゼットラボとヤフーの関係 ヤフーのインフラ課題に対し、ゼットラボがR&Dでソリューションを提供 現在ゼットラボが Kubernetes as a Service(CaaS) を開発、ヤフーに提供 課題共有 ソリューション提案/提供 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
本日お伝えすること • ヤフーのKubernetes as a Service • Kubernetes as a Serviceの保守開発 • 新しい課題、ゼットラボの取り組み Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ヤフーのKubernetes as a Service ヤフーにおけるMake Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ヤフーのKubernetes as a Service(CaaS) • Kubernetesクラスタの作成・削除・アップグレードを簡単に行える マネージド・サービス • On-premisesのOpenStack環境にKubernetesクラスタを作成可能 CRUD Kubernetes as a Service Create/Update Master Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. etcd Worker Delete
ヤフーでのCaaS利用実績 Kubernetesクラスタ 400 VMs 5,500 Pods 37,000 Containers 50,000 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2019/7時点
Kubernetesの利用状況の変化 この1年で Kubernetesの利用が急増 400クラスタ 8倍 5クラスタ 2017/7 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 50クラスタ 2018/7 2019/7
利用者増加=全社的な課題増加 利用者が増え、会社全体で取り組むべき課題が増加 • 全社共通の認証認可/権限管理 • スケーラブルなモニタリングシステム • 安定し、スケールするCI/CD • 全社共通のシークレット管理 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
個別の要望・要件も増加 利用者が増え、稼働させるアプリケーション毎の要望・要件も多様化 • 50万同時接続/100万rpsのWebサービスを稼働させたい • 運用負荷を減らすために1,000VM規模のクラスタが欲しい • CPU Pinning/独自Flavorの独自OpenStackクラスタが欲しい • 長時間バッチを稼働させたい Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Kubernetes as a Serviceの保守開発 多くの課題・要件に応じながら、最新のKubernetesを提供するために Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
組織間の責任範囲を明確に • ヤフーのCaaSはヤフーで運用。ヤフーにしかないシステムはヤフーが連携機能を開発 • 個社で担当範囲を決めること=組織内での迅速な意思決定、開発コスト低減に寄与 CaaS開発 認証 CaaS運用・システム間連携開発 CI/CD 認証 認可 モニタリング CI/CD Kubernetes as a Service Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 納品 Kubernetes as a Service シークレット
共同で取り組むべき箇所も忘れずに • CaaS利用者のサポートはゼットラボ・ヤフー共同で責任を担い、取り組んでいる • 利用者サポートはKubernetesを使った開発フローに長け、かつ社内事情に詳しくなければならない Customer Success 技術セミナー 設計相談・レビュー CRE Addon開発・提供 負荷試験 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. CaaS利用者 ?
最新の環境を提供しつづける • ヤフーの 400 Kubernetesクラスタは 2019/7 時点ですべて v1.13~1.14 • 常に最新のバージョンを提供できるようにゼットラボで対応 EOL v1.12 v1.13 v1.14 v1.15 2018/9 2018/12 2019/3 2019/6 稼働中 2019/7 ゼットラボ検証完了 2019/8 ヤフー利用者提供予定 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
保守だけでなくR&Dも継続するために ゼットラボは保守だけしているわけではない。R&Dも主要業務 開発リソースをどう確保するか? • 開発時間を増やす≠業務時間を増やす • 毎日テストする Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
開発時間を増やす - Toilを減らす Toilの一例:Kubernetesのバージョンアップ anonymous commented 25 days ago • /prepare-k8s-upgrade 1.15.0 バージョンアップに伴う各作業はbotが実施 Gitコマンド -> 設定変更のPR -> Gitコマンド -> CIツールでe2eテスト CaaS-bot referenced this issue 25 days ago Update k8s support versions #xx anonymous commented 25 days ago エンジニアは、テストの実施ではなく、 機能改修・開発・テストの拡充に集中 … /update-kubectl-version 1.14.3 CaaS-bot referenced this issue 25 days ago Update kubectl versions 1.14.3 anonymous commented 25 days ago • … … /run-e2e --new-k8s=1.15.0 CaaS-bot commented 3 days ago … e2e Job e2e/e2e-caas-bot-caastasks-1234-1234567890 was deployed to stg/e2e successfully. botを活用したKubernetesのバージョンアップ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
開発時間を増やす - Overheadの認識 Overheadの一例:不要なMTG • MTGは必要だが、MTG中にはプロダクトは産まれない 開発時間を増やし、開発効率をあげるためにMTGに取り組む • チームメンバーは最小に 小さなチームは意思決定が早い。チームが扱う担当範囲/責任範囲を明確にする • 大きなOSS コミュニティから学ぶ MTGをせずとも圧倒的早さで開発が進むOSSコミュニティ。学びは多い コードを属人化させない、Issueで管理する、スコープを小さく切る、要件が変わればコードを捨てる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
毎日テストする • テストの存在はプロダクト品質に直結 テストコードを作る・テストを仕組み化する。Unit Test, Conformance Test, e2e Test • 毎日e2eテストを実行 CaaS, Kubernetesの破壊・再生成を繰り返す • 壊して作り直す=最新のコードの対障害性の確認に繋がる テスト失敗=コード or テストコードが誤っている • • 不具合・デグレの早期発見・早期復旧ができ、プロダクトの品質をあげる コードもテストコードも開発ライフサイクルに組み込み、常に新陳代謝する仕組みを作る Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ゼットラボが取り組んでいる新しい課題 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
ゼットラボが取り組んでいる新しい課題 • Stateful Application on Kubernetes • 運用・学習コストが小さいアプリケーションPF • コンピュートリソースの集約 • MLでの活用 • Secureなシークレット引き渡し Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Stateful Application on Kubernetes On-premises KubernetesでStateful Applicationを稼働させる • ストレージの種類・予算は?Local volume/ Appliance/SDS? • デプロイは?StatefulSet/Operator? • データのバックアップ・スナップショット・マ イグレーション? • 権限管理? 誰が何をどう管理する? • 利用者サポートはテーラーメイドかも? Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. [KubeCon + CloudNativeCon Europe2019] Debunking the Myth: Kubernetes Storage is Hard https://speakerdeck.com/the̲saad̲ali/debunking-the-myth-kubernetes-storage-is-hard-kubecon-keynote
運用・学習コストが小さいアプリケーションPF Kubernetesは学習に時間がかかり、運用コストがかかる • ヤフーのCaaS利用者を対象にアンケートを実施 8割超がより効率よくアプリケーション運用・Kubernetesの学習をしたい • 小さなアプリケーションをデプロイするだけで、Kubernetesの学習、アプリケーショ ン運用はコストが大きい。特に業務委託や契約社員に学習を強いることも難しい • より簡単に使え、サーバレスかつマネージドなアプリケーションPFが求められている Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
コンピュートリソースの集約 VMからコンテナにアプリケーションを移行した結果、コンピュートリソースの余剰が目立つ • 既存環境からの移行時、現サービスのVM数と同数でのクラスタ作成がよく行われている • マイクロサービス化・コンテナ化によるプロセスの集約が考慮されないため、コンピュー トリソースが余る • パブリッククラウドと比べ、On-premisesでは利用者がリソースを削減する動機が乏しい • 適切なタイミングで適切なスケールインができる仕組み作りが必要 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
MLでの活用/Secureなシークレット引き渡し GPUを用いたML用途でのKubernetes利用 • vGPU/Baremetal上でのGPU利用 • 予算/効率よく活用するにはどうしたらよいか Secureなシークレット引き渡し • OpenStackにはインスタンス認証の仕組みがない VMのIdentityを証明できれば、人を介するオペレーションをより削減できる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
さいごに 本セッションでは、ヤフー、ゼットラボによる サービスを支えるプラットフォームのモダナイゼーションへの取り組みを紹介しました 近い将来、皆様にさらに一歩踏み込んだ結果をお伝えできればと思います Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.
Thank you! Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Photo by Hermansyah on Unsplash