Slide 1

Slide 1 text

Presented by @makocchi 1 CNBF Meetup #01 Ϋϥ΢υωΠςΟϒͰɺاۀ৘ใγεςϜʹ ໌Δ͍ະདྷΛ੾Γ։͘ Google Kubernetes Engine と オンプレミス Kubernetes 基盤 に関する取り組み

Slide 2

Slide 2 text

Presented by @makocchi CNBF #1 2 Makoto Hasegawa Working at // AI Division, CyberAgent, Inc Currently // Develop and maintain private OpenStack cloud. Develop and maintain Kubernetes as a Service platform. CKA (Certified Kubernetes Administrator) CKA-1700-0150-0100 CKAD (Certified Kubernetes Application Developper) CKAD-1800-0005-0100 Job Title // Technical Lead Infrastructure Engineer WHO am I Twitter // @makocchi Facebook // makocchi0923 Hobby // Playing bass

Slide 3

Slide 3 text

Presented by @makocchi CNBF #1 3 TODAY'S AGENDA CyberAgent について Google Kubernetes Engine に関する取り組み オンプレミス Kubernetes 環境 に関する取り組み Kubernetes に強いエンジニアを育成する施策

Slide 4

Slide 4 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 4 当社は「21世紀を代表する会社を創る」というVISIONを掲げ、メディア事業、広告 事業、ゲーム事業を中心に事業拡大中 成長産業であるインターネットに軸足を置き、変化対応力を支える「技術力」「創出 力」「人材力」を強みに、持続的な成長を目指しています

Slide 5

Slide 5 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 5 グループ会社全体での売上は このように遷移しています

Slide 6

Slide 6 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 6 詳細はこちらの「CyberAgent Way」を是非ご覧ください https://www.cyberagent.co.jp/ir/library/annual/

Slide 7

Slide 7 text

Presented by @makocchi CNBF #1 7 Google Kubernetes Engine に関する取り組み ※以後 GKE と略します

Slide 8

Slide 8 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 8 GKE に関する取り組み 〜沿革〜 CyberAgent では開発者が開発環境を選択することができるケースが多い Public Cloud を選択するケースもあればオンプレミスを選択するケースもあります 開発するシステムによって最適な環境を選択することになります GKE に関しては GCP においてサービス開始された頃から採用 (2015年8月にGA) GKE の大きな利用事例としては AbemaTV における事例 「AbemaTVにおけるKubernetesを使った継続的デリバリーの取り組み (Google Cloud Next ’18 in Tokyo)」 「AbemaTVでのGKE運用事例のご紹介」

Slide 9

Slide 9 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 9 GKE に関する取り組み 〜なぜGKEを採用したのか〜 マネージドサービスで提供されている点 マスターの運用をしなくていい ノードの自動プロビジョニング機能を使うことでノードの運用もしなくていい (そもそも Kubernetes のクラスターの運用は専門家が複数人いないと厳しい面がある) 様々なマネージドサービスと連携が容易 アプリケーションのログは Stackdriver Logging で見ることができる、等 Google Cloud Shell があるので自分の PC に Kubernetes の認証情報を持たなくていい 同様に GCP のコンソールから GKE のアプリケーションの状態を見ることができる

Slide 10

Slide 10 text

Presented by @makocchi CNBF #1 10 オンプレミス Kubernetes 環境に関する取り組み ※以後 AKE と略します

Slide 11

Slide 11 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 11 AKE に関する取り組み 〜沿革〜 CyberAgent では開発者が開発環境を選択することができるケースが多い (再掲) Public Cloud を選択するケースもあればオンプレミスを選択するケースもあります 開発するシステムによって最適な環境を選択することになります

Slide 12

Slide 12 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 12 AKE に関する取り組み 〜沿革〜 CyberAgent では開発者が開発環境を選択することができるケースが多い (再掲) Public Cloud を選択するケースもあればオンプレミスを選択するケースもあります 開発するシステムによって最適な環境を選択することになります GKE/GCP におけるサービス開発が多くなり、オンプレミスのリソースが余り始める・・

Slide 13

Slide 13 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 13 AKE に関する取り組み 〜沿革〜 CyberAgent では開発者が開発環境を選択することができるケースが多い (再掲) Public Cloud を選択するケースもあればオンプレミスを選択するケースもあります 開発するシステムによって最適な環境を選択することになります GKE/GCP におけるサービス開発が多くなり、オンプレミスのリソースが余り始める・・ このままではオンプレミスの償却費と Public Cloud の 2 重課金が増えてしまう オンプレミスでも Kubernetes のクラスタが作れればオンプレミスの利用も進むのでは? オンプレミスでも GKE のような使い勝手のいい基盤を作ろう

Slide 14

Slide 14 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 14 AKE に関する取り組み 〜誕生〜 Private Cloud(OpenStack) 上で簡単に Kubernetes のクラスターを展開できる仕組み いろいろ検討しましたが、OpenStack Heat による自動構築を採用 当時は「アドテク本部」という組織であった為に、Adtech Container Engine と命名 当時は「Google Container Engine」だった (現在は Google Kubernetes Engine) 試行錯誤を繰り返しながらもなんとか完成し、現在ではオンプレミスの環境で絶賛稼働中 せっかくなのでロゴも作成!

Slide 15

Slide 15 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 15 AKE に関する取り組み 〜誕生〜 Private Cloud(OpenStack) 上で簡単に Kubernetes のクラスターを展開できる仕組み いろいろ検討しましたが、OpenStack Heat による自動構築を採用 当時は「アドテク本部」という組織であった為に、Adtech Container Engine と命名 当時は「Google Container Engine」だった (現在は Google Kubernetes Engine) 試行錯誤を繰り返しながらもなんとか完成し、現在ではオンプレミスの環境で絶賛稼働中 せっかくなのでロゴも作成!

Slide 16

Slide 16 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 16 AKE に関する取り組み 〜普及に向けて〜 AKE が完成したとは言え、まだまだ GKE が第一候補であることは変わらない 利用者からすれば得体の知れない(実績のない)社内の基盤を使うには抵抗がある 普及に向けてがんばっているいろいろな施策達 GKE と AKE でのコストメリットの説明 社内向け AKE のハンズオン Kubernetes を使った開発の相談・サポート GKE の便利機能の AKE へのポーティング クラスター自動スケール Kubernetes のバージョン更新の仕組み提供 などなど・・・

Slide 17

Slide 17 text

Presented by @makocchi CNBF #1 17 Kubernetes に強いエンジニアを 育成する施策 めざせクラウドネイティブ

Slide 18

Slide 18 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 18 Kubernetesに強いエンジニアを育成する施策 そもそも・・・ クラウドネイティブとはどういう考え方なのか? クラウドネイティブなシステムは何が嬉しいのか? クラウドネイティブなシステムを実現させる為に Kubernetes が必要なことは分かった そもそも Kubernetes ってなんだ? どうやって運用するんだ? どうやって開発するんだ? どうやって CI/CD を組めばいいんだ? セキュリティはどう担保する? 最新の Kubernetes はどんな機能があるの? こういった疑問が出てきた時に社内で相談できる人、チームが必要

Slide 19

Slide 19 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 19 Kubernetesに強いエンジニアを育成する施策 〜その1〜 海外カンファレンス(KubeCon + CloudNativeCon)に積極 的に参加し、最新情報を社内にフィードバック 最新のアップデートや事例が発表される NA / EU / CN で開催 2020年は ボストン / アムステルダム / 上海 毎年各部署から数人ずつ参加

Slide 20

Slide 20 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ Developer Experts 制度 特定の分野に抜きん出た知識とスキルを持ち、第一人者として実績を上げているエンジニア に、新たな活躍の場を提供するとともに、各専門領域の発展およびサイバーエージェントグ ループへの還元に貢献することを目指す制度 Kubernetes/CloudNative 領域があります 20 Kubernetesに強いエンジニアを育成する施策 〜その2〜

Slide 21

Slide 21 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 全社横断ゼミ制度 参加自由の任意の勉強会とは異なり、大学における研究室やゼミのように少数メンバーにて 研究テーマに沿って活動を行う制度です 所属プロダクトに関わらず、興味関心のある研究テーマを軸にゼミ生が集まり活動します 就業時間の最大 20% までゼミ活動に割り当てることが可能です CloudNative に関わる知見を集め、社内に還元していく目的で「CloudNative Experts ゼ ミ」が発足 最近では Google が提供しているハイブリッド/マルチクラウドのソリューションの1つである Anthos につい て検証中 21 Kubernetesに強いエンジニアを育成する施策 〜その3〜

Slide 22

Slide 22 text

Presented by @makocchi CNBF #1 22 まとめ GKE を採用することで運用の手間を減らし、開発に集中できる環 境を手に入れることができるようになった オンプレミスでも GKE のような Kubernetes を使った開発ができ るように AKE を作り、社内に展開することで開発環境の選択肢を増 やしている Kubernetesに強いエンジニアを育成する施策 • 積極的な海外カンファレンスへの参加 • Developer Experts 制度 • 全社横断ゼミ制度 最後に一言

Slide 23

Slide 23 text

Presented by @makocchi CNBF #1 23 最後に一言! ※これだけは覚えて帰って欲しい!

Slide 24

Slide 24 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 今日の Meetup は「聞いて終わり」にせずに、是非「何らかのアクション」をするまでを ゴールにして欲しいと思っています 24 最後に一言

Slide 25

Slide 25 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 今日の Meetup は「聞いて終わり」にせずに、是非「何らかのアクション」をするまでを ゴールにして欲しいと思っています アクションについては何でもいいです!例えば 社内に情報を持ち帰って周りの反応を確かめてみた 実際に Kubernetes について触ってみた もっといろいろな情報を知りたいから公開されている資料を探した 今あるシステムで改善できる部分は無いか振り返ってみた 自分たちにとってクラウドネイティブは本当に必要なのか、考えてみた などなど・・・・ 是非この Meetup の時間を次のステップへの足がかりにしてください! 25 最後に一言

Slide 26

Slide 26 text

Presented by @makocchi 26 Ϋϥ΢υωΠςΟϒͰɺاۀ৘ใγεςϜʹ ໌Δ͍ະདྷΛ੾Γ։͘Meetup Google Kubernetes Engine と オンプレミス Kubernetes 基盤 に関する取り組み Thank You For Your kind Attention All photos by https://pixabay.com/

Slide 27

Slide 27 text

Presented by @makocchi CNBF #1 ͘Β͏ͲͶ͍ͯ͌Ϳ 27 付録:チーム作りに関してはいろいろ考え中・・・ 過去にはこのようなテーマで発表していますので、もしよろしければ御覧下さい https://speakerdeck.com/makocchi/cndjp-13-cloud-native-team 「Cloud Native ぽいチーム作りを目指す」 @cndjp