Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Native やる前とやりながら考えておきたいこと
Search
Recruit Technologies
November 28, 2019
Technology
0
540
Cloud Native やる前とやりながら考えておきたいこと
2019/11/28 cndjp第13回 俺たちの最適なCloud Nativeを求めて…。本気のこと始め!での藤原の講演資料になります
Recruit Technologies
November 28, 2019
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
640
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
41k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
50k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
Other Decks in Technology
See All in Technology
強いチームと開発生産性
onk
PRO
34
11k
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Become a Pro
speakerdeck
PRO
25
5k
Unsuck your backbone
ammeep
668
57k
How STYLIGHT went responsive
nonsquared
95
5.2k
Side Projects
sachag
452
42k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Writing Fast Ruby
sferik
627
61k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Transcript
Cloud Native やる前とやりながら考えておきたいこと 1 (C) Recruit Technologies Co.,Ltd. All rights
reserved. 株式会社リクルートテクノロジーズ ITエンジニアリング本部 プロダクティビティエンジニアリング部 クラウドアーキテクトグループ 藤原 涼馬
自己紹介 藤原 涼馬 株式会社リクルートテクノロジーズ ITエンジニアリング本部プロダクティビティエンジニアリング部 クラウドアーキテクトグループ 経歴 2011-2015 ユーザ系SIer にてR&D
2016/1〜 リクルートテクノロジーズに入社 主な活動(社外含む) • コンテナ・クラウド等の先進アーキテクチャの事業への装着 • Rancher JPコアメンバー • 各種勉強会登壇 (Rancher JP meetup, Docker meetup tokyo, Japan Container Days, Cloud Native Daysほか) • 寄稿 @IT 先行事例に学ぶKubernetes 企業活用の現実・コンテナベースのCI/CD本番事例大解剖, ThinkIT マルチクラウド時代の最強コンビ RancherによるKubernetes活用ガイド) • 執筆 • RancherによるKubernetes活用ガイド(Think IT Books, インプレス) 2 (C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートグループの紹介 3 (C) Recruit Technologies Co.,Ltd. All rights reserved. 創業
1960年3月31日 「大学新聞広告社」としてスタート グループ 従業員数 45,856名 (2019年3月31日時点) 連結売上高 23,107億円 (2018年4月1日〜2019年3月31日) 連結営業利益 2,230億円 (2018年4月1日〜2019年3月31日) グループ 企業数 344社 (子会社および関連会社、2019年3月31日時点) 目指す世界観 「あなた」を支える存在でありたい
事業内容の紹介 4 (C) Recruit Technologies Co.,Ltd. All rights reserved. 3
ラ イ フ イ ベント 領域 進学 就職 結婚 転職 住宅購⼊ ⾞購⼊ 出産/育児 旅⾏ ビジネス⽀援 ⽣活/地域情報 グルメ ・ 美容 ラ イ フ スタ イ ル領域 選択・ 意思決定を⽀援する情報サービスを提供し 、 「 まだ、 こ こ にない、 出会い。 」 を実現する。
所属組織の紹介: リクルートテクノロジーズ 5 (C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートグループのビジネス・サービス リクルートテクノロジーズ IT・マーケティング ソリューション ビジネス視点の ITマネジメント 横断的にソリューションを提供 上記は対象企業・サービスの一部抜粋です。
注意 本発表は様々な取り組みの中で得た個人の学びや考え方であり、 所属組織としての意見を代表するものではありません 6 (C) Recruit Technologies Co.,Ltd. All rights
reserved.
本セッションの目的 • クラウドネイティブ技術に取り組む前および取り組み中に考える&理解して おいた方が良いことを解説 • 取り組んだ中で”あ〜、これって世間にでてるものだけだと言葉足らずだな”という部分を、 解説。 • 自分の経験から振り返ってみてどう考えたのかなどをざっくりと共有 7
(C) Recruit Technologies Co.,Ltd. All rights reserved. これから取り組み始める際の参考になれば幸いです
目次 • クラウドネイティブ技術、取り組む前に考えること知っておくこと • クラウドネイティブ技術、取り組みながら考えること • まとめ 8 (C) Recruit
Technologies Co.,Ltd. All rights reserved.
クラウドネイティブ技術 取り組む前に考えておくこと (これが全てではないです) 9 (C) Recruit Technologies Co.,Ltd. All rights
reserved.
クラウドネイティブ技術 取り組む前に考えておくこと (これが全てではないです) 10 (C) Recruit Technologies Co.,Ltd. All rights
reserved. TL;DR 様々な概念について自分の認識・言葉で語れるようになることが重要
取り組む前に考えておきたいこと 1. そもそもクラウドネイティブ技術とはなになのか 2. 技術を活かすにはどう取り組むべきか
そもそもクラウドネイティブ技術って? 以下のような要件を満たす技術 • (仮想化技術を中心とした) クラウド技術を活用して動的な環境を作る • 動的な環境を通じてスケーラブルなアプリケーションを構築、実行するため の能力を組織にもたらす • 回復性・管理性・可観測性を備えた疎結合なシステムを実現する
• 上記特性を備えたシステムと堅牢な自動化を組み合わせることで、エンジニ アがインパクトのある変更を最小限の労力で頻繁かつ予想通り実施できるよ うにする。
そもそもCloud Nativeって?(もう少しわかりやすく) 言い直すと以下の要件を満たす技術 • 様々なレイヤの仮想化を活用 • 自動で大小の障害から復旧 • 高い管理性を備える •
詳細まで観測できる • 積極的に自動化している 上記を通じてアプリケーション・インフラの大胆な変更を 少ない労力で実施できる技術 13 (C) Recruit Technologies Co.,Ltd. All rights reserved.
そもそもCloud Nativeって?(もう少しわかりやすく) 言い直すと以下の要件を満たす技術 • 様々なレイヤの仮想化を活用 • 自動で大小の障害から復旧 • 高い管理性を備える •
詳細まで観測できる • 積極的に自動化している 上記を通じてアプリケーション・インフラの大胆な変更を 少ない労力で実施できる技術 14 (C) Recruit Technologies Co.,Ltd. All rights reserved. とはいえこれで大丈夫か?そんなに簡単な話なのか? 追加で考えないといけないこと、注意点を挙げてみる。
自動で大小の障害から復旧する Kubernetesをいれれば終わり 15 (C) Recruit Technologies Co.,Ltd. All rights reserved.
自動で大小の障害から復旧する Kubernetesをいれれば終わり • そもそもの障害種別の分類と対処方法 • 障害といってもいろいろあるけど、それぞれの障害をどうカバーするか • どこまでの障害対策をスコープに含めるか? • AWSでいうと単一のインスタンス・単一AZ・単一リージョン全体、どこまでをスコープ
にして復旧または、サービスへの影響が発生しないようにするか? • 定めたスコープに対してどうやってSPOFを排除するか? 16 (C) Recruit Technologies Co.,Ltd. All rights reserved.
自動で大小の障害から復旧する Kubernetesをいれれば終わり • そもそもの障害種別の分類と対処方法 • 障害といってもいろいろあるけど、それぞれの障害をどうカバーするか • どこまでの障害対策をスコープに含めるか? • AWSでいうと単一のインスタンス・単一AZ・単一リージョン全体、どこまでをスコープ
にして復旧または、サービスへの影響が発生しないようにするか? • 定めたスコープに対してどうやってSPOFを排除するか? 17 (C) Recruit Technologies Co.,Ltd. All rights reserved. どの程度の障害まで配慮するか、それぞれの障害に対して どのような手法・テクノロジーで対処するかを考える。 (たしかにk8sはこのレイヤではかなり強力なテクノロジーであることは事実)
自動で大小の障害から復旧する Kubernetesをいれれば終わり • そもそもの障害種別の分類と対処方法 • 障害といってもいろいろあるけど、それぞれの障害をどうカバーするか • どこまでの障害対策をスコープに含めるか? • AWSでいうと単一のインスタンス・単一AZ・単一リージョン全体、どこまでをスコープ
にして復旧または、サービスへの影響が発生しないようにするか? • 定めたスコープに対してどうやってSPOFを排除するか? 18 (C) Recruit Technologies Co.,Ltd. All rights reserved. そこまで考えた上でKubernetesなり、ECSなりのテクノロジーの 備える諸機能で対応するといった話になる
高い管理性を備える 管理性が高いとはそもそもどういうことか? • 手間がかからない (間違ってはないが…) 19 (C) Recruit Technologies Co.,Ltd.
All rights reserved.
高い管理性を備える 管理性が高いとはそもそもどういうことか? • 手間がかからない (間違ってはないが…) • コードによる管理が可能 20 (C) Recruit
Technologies Co.,Ltd. All rights reserved.
高い管理性を備える 管理性が高いとはそもそもどういうことか? • 手間がかからない (間違ってはないが…) • コードによる管理が可能 21 (C) Recruit
Technologies Co.,Ltd. All rights reserved. コードによる管理が可能 = ソフトウェア工学的な改善アプローチが適用しやすくなる
高い管理性を備える 管理性が高いとはそもそもどういうことか? • 手間がかからない (間違ってはないが…) • コードによる管理が可能 22 (C) Recruit
Technologies Co.,Ltd. All rights reserved. コードによる管理が可能 = ソフトウェア工学的な改善アプローチが適用しやすくなる 工学的な改善アプローチがポイント 種々の活動の再現性向上(≒属人性の低減)を実現するための手段を考えられるようになる
詳細まで観測することができる 道具は揃っている(OSSから商用まで幅広く) 23 (C) Recruit Technologies Co.,Ltd. All rights reserved.
詳細まで観測することができる 道具は揃っている(OSSから商用まで幅広く) • 詳細まで観測してどうする? 24 (C) Recruit Technologies Co.,Ltd. All
rights reserved.
詳細まで観測することができる 道具は揃っている(OSSから商用まで幅広く) • 詳細まで観測してどうする? 25 (C) Recruit Technologies Co.,Ltd. All
rights reserved. 観測結果(特に平常時と異なる状態が見られた場合)に応じた アクションにつながるものでなければ価値は低い。
詳細まで観測することができる 道具は揃っている(OSSから商用まで幅広く) • 詳細まで観測してどうする? 26 (C) Recruit Technologies Co.,Ltd. All
rights reserved. 観測結果(特に平常時と異なる状態が見られた場合)に応じた アクションにつながるものでなければ価値は低い。 クラウドネイティブ技術はアクションを自動化することを容易にはする。
詳細まで観測することができる 道具は揃っている(OSSから商用まで幅広く) • 詳細まで観測してどうする? 27 (C) Recruit Technologies Co.,Ltd. All
rights reserved. 観測結果(特に平常時と異なる状態が見られた場合)に応じた アクションにつながるものでなければ価値は低い。 クラウドネイティブ技術はアクションを自動化することを容易にはする。 どんなアクションをとるかについては人間が考えなければいけない
自動化が積極的に行われている 自動化するだけでは運用が最終的に破綻する • メンテナンス可能な自動化形態にできるか • 可能な限り環境が異なる場合も同じコード・設定で利用できるか • 環境による可変部分を最小化できるか 28 (C)
Recruit Technologies Co.,Ltd. All rights reserved.
自動化が積極的に行われている 自動化するだけでは運用が最終的に破綻する • メンテナンス可能な自動化形態にできるか • 可能な限り環境が異なる場合も同じコード・設定で利用できるか • 環境による可変部分を最小化できるか 29 (C)
Recruit Technologies Co.,Ltd. All rights reserved. ただし、相手はコードなのでまだ打つ手はある ソースコードのリファクタリングといった話になる (あまりコード書いたりが得意でないインフラエンジニアにはおそらく最も辛いところ)
クラウドネイティブ技術 見直してみる 言い直すと以下の要件を満たす技術 • 様々なレイヤの仮想化を活用 • 自動で大小の障害から復旧 • 高い管理性を備える •
詳細まで観測できる • 積極的に自動化している 上記を通じてアプリケーション・インフラの大胆な変更を 少ない労力で実施できる技術 30 (C) Recruit Technologies Co.,Ltd. All rights reserved.
おや? 31 (C) Recruit Technologies Co.,Ltd. All rights reserved.
考えなければいけないことはたくさんあるが… • 実はクラウドネイティブ関係なく本来は考えなきゃいけないこと • IPAの非機能要求グレードなどを広く捉えた場合 (https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html) 32 (C) Recruit Technologies
Co.,Ltd. All rights reserved.
考えなければいけないことはたくさんあるが… • 実はクラウドネイティブ関係なく本来は考えなきゃいけないこと • IPAの非機能要求グレードなどを広く捉えた場合 (https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html) 33 (C) Recruit Technologies
Co.,Ltd. All rights reserved. クラウドネイティブ技術は非機能に関連した課題について 部分的ではあるものの標準的かつ(以前に比べて)実現が容易な解決案をあたえてくれるだけ それを活かすプロセスについてはノータッチ(あくまでも技術なので)
もうちょっと立ち止まって考える そもそも…… 待てよ 我々が本来やりたいことってなんだ? 34 (C) Recruit Technologies Co.,Ltd. All
rights reserved.
本来やりたいこと ビジネスを成功させる 35 (C) Recruit Technologies Co.,Ltd. All rights reserved.
本来やりたいこと ビジネスを成功させる • そのために仮説検証サイクルを高速で回せるようにする • つまり、リードタイムを短縮して再短期間で学び(or 儲け)を最大化する 36 (C) Recruit
Technologies Co.,Ltd. All rights reserved.
本来やりたいこと ビジネスを成功させる • そのために仮説検証サイクルを高速で回せるようにする • つまり、リードタイムを短縮して再短期間で学び(or 儲け)を最大化する 37 (C) Recruit
Technologies Co.,Ltd. All rights reserved. DevOpsとクラウドネイティブ技術を組み合わせて考えてみる
クラウドネイティブ技術 と DevOps クラウドネイティブ技術 + DevOps文化・プロセス • クラウドネイティブ技術 • 高い非機能品質を実現するため技術を提供
• 高頻度なデプロイを支援するための仕組みを提供 (特に重要なポイントなので抽出) • DevOps文化・プロセス • 高速な仮説検証サイクルを回すための組織文化・プロセスを醸成 • ビジネスに直接貢献する部分はこちら 38 (C) Recruit Technologies Co.,Ltd. All rights reserved.
クラウドネイティブ技術 と DevOps クラウドネイティブ技術 + DevOps文化・プロセス • クラウドネイティブ技術 • 高い非機能品質を実現するため技術を提供
• 高頻度なデプロイを支援するための仕組みを提供 (特に重要なポイントなので抽出) • DevOps文化・プロセス • 高速な仮説検証サイクルを回すための組織文化・プロセスを醸成 • ビジネスに直接貢献する部分はこちら 39 (C) Recruit Technologies Co.,Ltd. All rights reserved. 文化やプロセスがあって初めてクラウドネイティブ技術が活きる。 文化やプロセスを技術でブースト(≒実現を容易化・効果を最大化)する
DevOps + クラウドネイティブ技術において特に重要な技術的ポイント • コードリポジトリ(大前提) • 様々なレイヤのコード化を通じた再現性の向上 • テストの自動化 +
テスト駆動開発(+ テスト環境の動的な払い出し) • テスト駆動開発と開発スピードについては下記URLを参照 • 質とスピード(https://speakerdeck.com/twada/quality-and-speed, t-wada) • デプロイプロセスのシンプル化・自動化 40 (C) Recruit Technologies Co.,Ltd. All rights reserved.
DevOps + クラウドネイティブ技術において特に重要な技術的ポイント • コードリポジトリ(大前提) • 様々なレイヤのコード化を通じた再現性の向上 • テストの自動化 +
テスト駆動開発(+ テスト環境の動的な払い出し) • テスト駆動開発と開発スピードについては下記URLを参照 • 質とスピード(https://speakerdeck.com/twada/quality-and-speed, t-wada) • デプロイプロセスのシンプル化・自動化 41 (C) Recruit Technologies Co.,Ltd. All rights reserved. エンジニア個々人が品質に対する責任を果たしやすくする ここまでやったからには失敗したら誰のせいとかではないよねと言える状態 の実現を目指す。
DevOps + クラウドネイティブ技術において特に重要な技術的ポイント • コードリポジトリ(大前提) • 様々なレイヤのコード化を通じた再現性の向上 • テストの自動化 +
テスト駆動開発(+ テスト環境の動的な払い出し) • テスト駆動開発と開発スピードについては下記URLを参照 • 質とスピード(https://speakerdeck.com/twada/quality-and-speed, t-wada) • デプロイプロセスのシンプル化・自動化 42 (C) Recruit Technologies Co.,Ltd. All rights reserved. エンジニア個々人が品質に対する責任を果たしやすくする ここまでやったからには失敗したら誰のせいとかではないよねと言える状態 の実現を目指す。 非難のないポストモーテムとそこからの確実な学びへと繋げる
参考 & 宣伝 DevOpsの文化や技術については以下の資料を参照してもらえると良いと思います。 43 (C) Recruit Technologies Co.,Ltd. All
rights reserved. https://speakerdeck.com/rtechkouhou/devopsdao-ru-zhi- nan-ji-ben-bian
取り組む前に考えること まとめ • クラウドネイティブ技術について自分なりの解釈をもって語れるようになり ましょう • クラウドネイティブ技術はあくまでも技術なので、それを活かすためのプロ セスや文化についても理解する必要があります 44 (C)
Recruit Technologies Co.,Ltd. All rights reserved.
クラウドネイティブ技術 取り組みながら考えること (一例です) 45 (C) Recruit Technologies Co.,Ltd. All rights
reserved.
クラウドネイティブ技術 取り組みながら考えること (一例です) 46 (C) Recruit Technologies Co.,Ltd. All rights
reserved. TL;DR 個別の判断に根拠を持つこと
取り組みながら考えないといけないこと 1.どうやって登るか? 2.どこまで登るか(または登れるか)? 47 (C) Recruit Technologies Co.,Ltd. All rights
reserved.
どうやって登るか 48 (C) Recruit Technologies Co.,Ltd. All rights reserved. 指針としてのCloud
Native Trail Map
Cloud Native Trail Map 49 (C) Recruit Technologies Co.,Ltd. All
rights reserved. https://github.com/cncf/trailmap
Cloud Native Trail Map 50 (C) Recruit Technologies Co.,Ltd. All
rights reserved. https://github.com/cncf/trailmap 1. コンテナ化 2. CI/CD 3. オーケストレーション ・アプリケーション定義 4. 可観測性と分析 5. サービスプロキシ ・ディスカバリ・メッシュ
Cloud Native Trail Map 51 (C) Recruit Technologies Co.,Ltd. All
rights reserved. https://github.com/cncf/trailmap 1. コンテナ化 2. CI/CD 3. オーケストレーション ・アプリケーション定義 4. 可観測性と分析 5. サービスプロキシ ・ディスカバリ・メッシュ いったん5までで解説 (6以降は完全に未経験なので)
Cloud Native Trail Map 1. コンテナ化 2. CI/CD 3. オーケストレーション・アプリケーション定義
4. 可観測性と分析 5. サービスプロキシ・ディスカバリ・メッシュ 52 (C) Recruit Technologies Co.,Ltd. All rights reserved. 個別の項目で特に何を達成することを期待するかを意識する
Cloud Native Trail Map (何を達成することを期待するかの一例) 1. コンテナ化 – ビルドの定型化 2.
CI/CD – テストプロセスの定型化 – デプロイプロセスの定型化 3. オーケストレーション・アプリケーション定義 – デプロイ後の定性的な非機能品質の実現 – ある程度複雑なアプリケーションのデプロイプロセスの単純化・定型化 4. 可観測性と分析 – デプロイ後の定量的な非機能品質の測定 – 観測結果を用いた改善の判断 5. サービスプロキシ・ディスカバリ・メッシュ – より複雑なデプロイプロセスの実現(カナリアリリースなど) 53 (C) Recruit Technologies Co.,Ltd. All rights reserved.
Cloud Native Trail Map (何を期待するのかの一例) 1. コンテナ化 – ビルドの定型化 2.
CI/CD – テストプロセスの定型化 – デプロイプロセスの定型化 3. オーケストレーション・アプリケーション定義 – デプロイ後の定性的な非機能品質の実現 – ある程度複雑なアプリケーションのデプロイプロセスの単純化・定型化 4. 可観測性と分析 – デプロイ後の定量的な非機能品質の測定 – 観測結果を用いた改善の判断 5. サービスプロキシ・ディスカバリ・メッシュ – より複雑なデプロイプロセスの実現(カナリアリリースなど) 54 (C) Recruit Technologies Co.,Ltd. All rights reserved. ツール選定・個別の機能をどこで実現するかについては を期待する内容を軸にして考えると納得感のある構成となりやすい (参考) Kubernetes、コンテナ技術を活用した開発アジリティー向上にインフラアーキテクトはどう貢献したのか (@IT, https://www.atmarkit.co.jp/ait/articles/1902/18/news013.html)
どこまで登るか? 既存の組織としての技術資産 を意識する 55 (C) Recruit Technologies Co.,Ltd. All rights
reserved.
どこまで登るか? 既存の組織としての技術資産 を意識する 56 (C) Recruit Technologies Co.,Ltd. All rights
reserved. いきなり、Docker, Kubernetes, Helm, Istioと…… みたいなことをすると破綻しやすい。 細かくステップを刻む
どこまで登るか? 既存の組織としての技術資産 を意識する 57 (C) Recruit Technologies Co.,Ltd. All rights
reserved. いきなりジャンプアップはできない ただし過去や他の事例から学んでスピードアップはできる いきなり、Docker, Kubernetes, Helm, Istioと…… みたいなことをすると破綻しやすい。 細かくステップを刻む
やりながら考えること まとめ • Cloud Trail Mapを軸に考えてみましょう • 個々のステップで何を達成したいかを明確にしましょう • どこまで登るかは既存の組織としての技術資産を意識しましょう。一気に登
り切るのは難易度が高いです。 58 (C) Recruit Technologies Co.,Ltd. All rights reserved.
ご清聴ありがとうございました 59 (C) Recruit Technologies Co.,Ltd. All rights reserved.