Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Cybozu Meetup #18 SRE/Neco, 2018-10-17
Shin'ya Ueoka
Cybozu Inc.
インフラ刷新プロジェクト
Necoが目指す
最高のクラウドとは
サイボウズ株式会社
グローバル開発本部 アプリ基盤チーム・Necoチーム
Shin'ya Ueoka
@ueokande
 2016年4月、エンジニアとして新卒入社
 趣味: インフラからフロントエンドまで
 Vim Vixen というW...
目次
 cybozu.comについて
 インフラ刷新プロジェクト「Neco」とは
 まとめ
3
cybozu.com
4
cybozu.com
 2011年リリースの企業向けクラウドサービス
 サブドメインごとのプライベートクラウド
 国内オンプレミスDCで運用
onsha.cybozu.com
heisha.cybozu.com
5
7年目のcybozu.comの規模
 契約ユーザー数: 100万人以上
 契約社数: 25,000社以上
 ホスト数: 1,500以上 (実機 + VM)
 データ量: 800TiB
 リクエスト数: +2億/day
6
7年目のcybozu.comのビジネス要求
 ユーザー数は今後も順調に伸び続ける
 より多くのユーザー・多くのデータでも安定して運用したい
 サービスの価値を素早くユーザーに届けたい
7
サービス拡大の技術的課題
 インフラのスケールが厳しくなってきた
 スケーラビリティに欠けるモノリシックなアーキテクチャ
 cybozu.comの運用コストが大きい
 数百の機材をほぼ手動で管理・修理依頼
8
「Neco」プロジェクト発足「Neco」プロジェクト発足
9
インフラ刷新プロジェクト「Neco」
 2018年1月に本格スタート
 Project Manager 1人、PG 6人、QA 2人
 cybozu.comのインフラをゼロベースで作り直す
 プロジェクトのゴール
 cybozu.co...
Necoの計画
2018 物理機材の管理の容易化
機材管理の容易化・コンテナ基盤の構築
2019 データベース・検索エンジン
MySQL・Elasticsearchクラスタの構築
2020 分散オブジェクトストレージクラスタ
Cephクラスタの...
オープンソース化!
 NecoではほとんどのプロジェクトをGitHubで公開
 自社事情への過度な特化の防止
 継続的な品質向上
 ドキュメント・コードの品質の担保
 CIによるテスト
12
機材管理コストの低減
13
現cybozu.comの機材構成
 用途ごとに異なるネットワーク・機材構成
 機材ごとにセットアップ・メンテナンス手順が異なる
 毎週、機材修理・交換のため業者とコンタクト
14
Storage
ServerDMZ
Proxy
Load ...
Necoの機材構成
 ラック内構成を統一して汎用的な機材構成に
15
計算機サーバー
ストレージサーバー
Rack Rack Rack
sabakan | DC内の機材をセットアップ
 DC内の機材一覧を保持
 機材情報から各種設定(IPアドレスなど)を生成
 管理者は機材のシリアル番号・ラック位置などを入力するのみ
 各機材はsabakanからLinuxをブートして各...
sabakanによる機材セットアップ
② 機材情報登録
17
Rack
Server
Storage
Server
Storage
Server
Server
Storage
Storage
① 機材が搬入
saba
kan
シリアル: ABC...
Necoで変わる機材管理
 機材のセットアップ・メンテナンス方法が異なる
⇒ 管理者は搬入した機材情報の登録のみ
⇒ 用途・ネットワークはソフトウェアで定義
 毎週、機材修理・交換のため業者とコンタクト
⇒ 汎用構成なので機材をDCにプール...
アプリケーションデプロイ
19
現cybozu.comのアーキテクチャ
physical
VM VM
physical
VM VM
physical
VM VM
kint
one
Garo
on
kint
one
Garo
on
kint
one
Garo
on
kint
o...
Necoのデプロイの方針
 コンテナベースのアプリケーション
 リソース管理は人間がしない
 開発チームもデプロイできる環境
 適切な認証・権限を設定
21
22
Kubernetes導入のメリット
 リソース管理はKubernetesがいい感じに
 クラスタ管理者とサービス開発者で責務を分離
 サービス管理者がデプロイ・管理できる
 リリースタイミングをビジネス・開発側で決められる
23
Necoのアプリケーションデプロイ
 クラスタ管理者とサービス管理者で役割分担
physical physicalphysical
kint
one
kint
one
Garo
on
Wor
ker
Wor
ker
Kubernetes
Ga...
Necoで変わるデプロイ
 VMの構築先はリソースが空いてる機材を探して手動
⇒ リソース管理はKubernetesがいい感じに
 構成が複雑で環境構築からリリースまでSRE依存
⇒ サービス管理者がデプロイ・管理できる
25
Kubernetesのオンプレ運用…?
 Kubernetesデプロイツールはいくつかある
 kubeadm, kops, bootkube, ......
 これらはデプロイ・スケール時に人が利用することを想定
 いろいろ調べた結果、...
CKE (Cybozu Kubernetes Engine)
 Kubernetesクラスタを構築・メンテナンス
 クラスタが壊れたらオートヒーリング
 Kubernetesのデプロイ先はsabakanと連携
https://github...
CKEによるKubernetesデプロイ
 sabakanに登録された機材がCKEがロード
 CKEは自律的にKubernetesデプロイやクラスタ修復する
28
CKE
Node A
Node B
saba
kan
Node C
Node...
まとめ
29
Necoの計画
2018 物理機材の管理の容易化
機材管理の容易化・コンテナ基盤の構築
2019 データベース・検索エンジン
MySQL・Elasticsearchクラスタの構築
2020 分散オブジェクトストレージクラスタ
Cephクラスタの...
まとめ
 Necoはcybozu.comのインフラを刷新するために絶賛開発中
 機材管理システムと素のKubernetes構築まではできた
 これからも最高のクラウドを目指していくぞい
31
Upcoming SlideShare
Loading in …5
×

of

インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 1 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 2 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 3 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 4 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 5 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 6 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 7 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 8 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 9 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 10 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 11 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 12 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 13 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 14 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 15 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 16 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 17 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 18 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 19 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 20 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 21 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 22 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 23 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 24 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 25 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 26 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 27 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 28 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 29 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 30 インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは Slide 31
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

8 Likes

Share

Download to read offline

インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは

Download to read offline

Cybozu Meetup #18 SRE/Necoでの発表です
https://cybozu.connpass.com/event/103789/

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは

  1. 1. Cybozu Meetup #18 SRE/Neco, 2018-10-17 Shin'ya Ueoka Cybozu Inc. インフラ刷新プロジェクト Necoが目指す 最高のクラウドとは
  2. 2. サイボウズ株式会社 グローバル開発本部 アプリ基盤チーム・Necoチーム Shin'ya Ueoka @ueokande  2016年4月、エンジニアとして新卒入社  趣味: インフラからフロントエンドまで  Vim Vixen というWebExtensions作ってます
  3. 3. 目次  cybozu.comについて  インフラ刷新プロジェクト「Neco」とは  まとめ 3
  4. 4. cybozu.com 4
  5. 5. cybozu.com  2011年リリースの企業向けクラウドサービス  サブドメインごとのプライベートクラウド  国内オンプレミスDCで運用 onsha.cybozu.com heisha.cybozu.com 5
  6. 6. 7年目のcybozu.comの規模  契約ユーザー数: 100万人以上  契約社数: 25,000社以上  ホスト数: 1,500以上 (実機 + VM)  データ量: 800TiB  リクエスト数: +2億/day 6
  7. 7. 7年目のcybozu.comのビジネス要求  ユーザー数は今後も順調に伸び続ける  より多くのユーザー・多くのデータでも安定して運用したい  サービスの価値を素早くユーザーに届けたい 7
  8. 8. サービス拡大の技術的課題  インフラのスケールが厳しくなってきた  スケーラビリティに欠けるモノリシックなアーキテクチャ  cybozu.comの運用コストが大きい  数百の機材をほぼ手動で管理・修理依頼 8
  9. 9. 「Neco」プロジェクト発足「Neco」プロジェクト発足 9
  10. 10. インフラ刷新プロジェクト「Neco」  2018年1月に本格スタート  Project Manager 1人、PG 6人、QA 2人  cybozu.comのインフラをゼロベースで作り直す  プロジェクトのゴール  cybozu.comの運用コストの劇的な削減  製品のスケーラビリティ向上 10
  11. 11. Necoの計画 2018 物理機材の管理の容易化 機材管理の容易化・コンテナ基盤の構築 2019 データベース・検索エンジン MySQL・Elasticsearchクラスタの構築 2020 分散オブジェクトストレージクラスタ Cephクラスタの構築 今から話す内容
  12. 12. オープンソース化!  NecoではほとんどのプロジェクトをGitHubで公開  自社事情への過度な特化の防止  継続的な品質向上  ドキュメント・コードの品質の担保  CIによるテスト 12
  13. 13. 機材管理コストの低減 13
  14. 14. 現cybozu.comの機材構成  用途ごとに異なるネットワーク・機材構成  機材ごとにセットアップ・メンテナンス手順が異なる  毎週、機材修理・交換のため業者とコンタクト 14 Storage ServerDMZ Proxy Load Balancer Misc Manager Boot
  15. 15. Necoの機材構成  ラック内構成を統一して汎用的な機材構成に 15 計算機サーバー ストレージサーバー Rack Rack Rack
  16. 16. sabakan | DC内の機材をセットアップ  DC内の機材一覧を保持  機材情報から各種設定(IPアドレスなど)を生成  管理者は機材のシリアル番号・ラック位置などを入力するのみ  各機材はsabakanからLinuxをブートして各設定をロード 16 https://github.com/cybozu-go/sabakan
  17. 17. sabakanによる機材セットアップ ② 機材情報登録 17 Rack Server Storage Server Storage Server Server Storage Storage ① 機材が搬入 saba kan シリアル: ABCD3000 IPアドレス: 10.20.30.40 ホスト名: node-120 シリアル: ABCD3001 IPアドレス: 10.20.30.40 ホスト名: node-121 ③ 各種設定が生成される ④ 機材がネットブート Linuxと設定をロードして OSが起動
  18. 18. Necoで変わる機材管理  機材のセットアップ・メンテナンス方法が異なる ⇒ 管理者は搬入した機材情報の登録のみ ⇒ 用途・ネットワークはソフトウェアで定義  毎週、機材修理・交換のため業者とコンタクト ⇒ 汎用構成なので機材をDCにプールできるようになった ⇒ 修理頻度を四半期に1回、ラック単位での増設・交換 18
  19. 19. アプリケーションデプロイ 19
  20. 20. 現cybozu.comのアーキテクチャ physical VM VM physical VM VM physical VM VM kint one Garo on kint one Garo on kint one Garo on kint one Garo on Wor ker Wor ker  VMベースでアプリケーションをサンドボックス化  VMの構築先はリソースが空いてる機材を探して手動  構成が複雑で環境構築からリリースまでSRE依存 20
  21. 21. Necoのデプロイの方針  コンテナベースのアプリケーション  リソース管理は人間がしない  開発チームもデプロイできる環境  適切な認証・権限を設定 21
  22. 22. 22
  23. 23. Kubernetes導入のメリット  リソース管理はKubernetesがいい感じに  クラスタ管理者とサービス開発者で責務を分離  サービス管理者がデプロイ・管理できる  リリースタイミングをビジネス・開発側で決められる 23
  24. 24. Necoのアプリケーションデプロイ  クラスタ管理者とサービス管理者で役割分担 physical physicalphysical kint one kint one Garo on Wor ker Wor ker Kubernetes Garo on Garo on Garo on kint one kint one 製品リリース クラスタ管理 サービス管理者 Kubernetes管理者 24
  25. 25. Necoで変わるデプロイ  VMの構築先はリソースが空いてる機材を探して手動 ⇒ リソース管理はKubernetesがいい感じに  構成が複雑で環境構築からリリースまでSRE依存 ⇒ サービス管理者がデプロイ・管理できる 25
  26. 26. Kubernetesのオンプレ運用…?  Kubernetesデプロイツールはいくつかある  kubeadm, kops, bootkube, ......  これらはデプロイ・スケール時に人が利用することを想定  いろいろ調べた結果、Necoでは自律的なクラスタ構築・管理 するサービスを開発 コマンドラインツールではなく 継続的にクラスタをメンテナンス 26
  27. 27. CKE (Cybozu Kubernetes Engine)  Kubernetesクラスタを構築・メンテナンス  クラスタが壊れたらオートヒーリング  Kubernetesのデプロイ先はsabakanと連携 https://github.com/cybozu-go/cke 27
  28. 28. CKEによるKubernetesデプロイ  sabakanに登録された機材がCKEがロード  CKEは自律的にKubernetesデプロイやクラスタ修復する 28 CKE Node A Node B saba kan Node C Node D ① 機材登録② デプロイ 先をロード③ Kubernetes をデプロイ
  29. 29. まとめ 29
  30. 30. Necoの計画 2018 物理機材の管理の容易化 機材管理の容易化・コンテナ基盤の構築 2019 データベース・検索エンジン MySQL・Elasticsearchクラスタの構築 2020 分散オブジェクトストレージクラスタ Cephクラスタの構築
  31. 31. まとめ  Necoはcybozu.comのインフラを刷新するために絶賛開発中  機材管理システムと素のKubernetes構築まではできた  これからも最高のクラウドを目指していくぞい 31
  • t8kobayashi

    Jun. 5, 2019
  • minnanomameswork

    Apr. 5, 2019
  • YusukeKawabe

    Feb. 7, 2019
  • TomohiroKomiya

    Oct. 20, 2018
  • syuichitsuji

    Oct. 19, 2018
  • ShinpeiKaneko

    Oct. 18, 2018
  • tsukamoto

    Oct. 18, 2018
  • Nnwww

    Oct. 17, 2018

Cybozu Meetup #18 SRE/Necoでの発表です https://cybozu.connpass.com/event/103789/

Views

Total views

10,187

On Slideshare

0

From embeds

0

Number of embeds

8,463

Actions

Downloads

6

Shares

0

Comments

0

Likes

8

×