SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
Report
Shin'ya Ueoka
Follow
Computer Programmer at Cybozu Inc.
Oct. 17, 2018
•
0 likes
•
10,351 views
1
of
31
インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
Oct. 17, 2018
•
0 likes
•
10,351 views
Download Now
Download to read offline
Report
Technology
Cybozu Meetup #18 SRE/Necoでの発表です https://cybozu.connpass.com/event/103789/
Shin'ya Ueoka
Follow
Computer Programmer at Cybozu Inc.
Recommended
とにかく分かりづらいTwelve-Factor Appの解説を試みる
Masatoshi Tada
17.3K views
•
38 slides
GraphQL入門 (AWS AppSync)
Amazon Web Services Japan
18.3K views
•
57 slides
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
3.1K views
•
71 slides
Akkaとは。アクターモデル とは。
Kenjiro Kubota
7.7K views
•
49 slides
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
139.7K views
•
89 slides
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
83.4K views
•
51 slides
More Related Content
What's hot
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
34.4K views
•
46 slides
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
3.6K views
•
28 slides
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
23.1K views
•
25 slides
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
2.6K views
•
33 slides
Dockerからcontainerdへの移行
Kohei Tokunaga
16.2K views
•
36 slides
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
53.3K views
•
243 slides
What's hot
(20)
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
•
34.4K views
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
•
3.6K views
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
•
23.1K views
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
•
2.6K views
Dockerからcontainerdへの移行
Kohei Tokunaga
•
16.2K views
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
•
53.3K views
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
•
12.7K views
AWSのログ管理ベストプラクティス
Akihiro Kuwano
•
76.7K views
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!デベロッパーネットワーク
•
41.9K views
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
•
9.8K views
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
•
5.2K views
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
•
11.1K views
開発速度が速い #とは(LayerX社内資料)
mosa siru
•
60.1K views
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
•
13.2K views
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara
•
9.1K views
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
•
82.3K views
ヤフー発のメッセージキュー「Pulsar」のご紹介
Yahoo!デベロッパーネットワーク
•
12.1K views
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
•
1.6K views
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
•
182.4K views
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
NTT DATA Technology & Innovation
•
1.4K views
Similar to インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
ニフティクラウド C4 sa ご紹介資料ver.1.2
Satoshi Ueno
813 views
•
14 slides
kintone 連携スマホアプリの開発・配布体験
アシアル株式会社
1.4K views
•
61 slides
ニフティクラウドC4SA_ご紹介資料ver.1.1
Satoshi Ueno
865 views
•
13 slides
Tibco iotプラットフォーム紹介
TAKESHI KIURA
1.3K views
•
26 slides
【C-2】スマホアプリの開発は、エンタメとエンプラでどこまで違う?
Yoshiyuki Takano
679 views
•
43 slides
革新的ブラウザゲームを支えるプラットフォーム技術
Toru Yamaguchi
4K views
•
41 slides
Similar to インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
(20)
ニフティクラウド C4 sa ご紹介資料ver.1.2
Satoshi Ueno
•
813 views
kintone 連携スマホアプリの開発・配布体験
アシアル株式会社
•
1.4K views
ニフティクラウドC4SA_ご紹介資料ver.1.1
Satoshi Ueno
•
865 views
Tibco iotプラットフォーム紹介
TAKESHI KIURA
•
1.3K views
【C-2】スマホアプリの開発は、エンタメとエンプラでどこまで違う?
Yoshiyuki Takano
•
679 views
革新的ブラウザゲームを支えるプラットフォーム技術
Toru Yamaguchi
•
4K views
さくらのIoT Platformを使ってみよう ~OSC大阪編~
法林浩之
•
1.5K views
OpenWhisk Serverless への期待
Hideaki Tokida
•
2K views
既存のWebコンテンツを最大限活用したスマホアプリ化とは?
ニフクラ mobile backend
•
2.7K views
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
•
945 views
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
•
245 views
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
アシアル株式会社
•
1.3K views
kintoneアプリをjavascriptでいじってみよう
Kyouhei Kitagawa
•
4.1K views
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
•
48.1K views
【HackerWars 】ニフティクラウドmobile backend
史識 川原
•
737 views
Windowsサービスも.NET Coreで作ろう
keitasudo1
•
627 views
○○ as Code(LL Diver)
Yoshiyuki Takano
•
549 views
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone papers
•
2K views
kintone café 大阪 Vol.1
Koji Asaga
•
2.2K views
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
Kaz Aiso
•
794 views
Recently uploaded
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
57 views
•
20 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
14 views
•
37 slides
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
7 views
•
1 slide
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
164 views
•
16 slides
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
7 views
•
11 slides
画像生成AIの問題点
iPride Co., Ltd.
10 views
•
9 slides
Recently uploaded
(14)
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
57 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
14 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
164 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
画像生成AIの問題点
iPride Co., Ltd.
•
10 views
CatBoost on GPU のひみつ
Takuji Tahara
•
548 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
115 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
145 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
5 views
テスト自動化.pdf
ssuserf8ea02
•
29 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
118 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
20 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
44 views
インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
1.
Cybozu Meetup #18
SRE/Neco, 2018-10-17 Shin'ya Ueoka Cybozu Inc. インフラ刷新プロジェクト Necoが目指す 最高のクラウドとは
2.
サイボウズ株式会社 グローバル開発本部 アプリ基盤チーム・Necoチーム Shin'ya Ueoka @ueokande
2016年4月、エンジニアとして新卒入社 趣味: インフラからフロントエンドまで Vim Vixen というWebExtensions作ってます
3.
目次 cybozu.comについて インフラ刷新プロジェクト「Neco」とは
まとめ 3
4.
cybozu.com 4
5.
cybozu.com 2011年リリースの企業向けクラウドサービス サブドメインごとのプライベートクラウド
国内オンプレミスDCで運用 onsha.cybozu.com heisha.cybozu.com 5
6.
7年目のcybozu.comの規模 契約ユーザー数: 100万人以上
契約社数: 25,000社以上 ホスト数: 1,500以上 (実機 + VM) データ量: 800TiB リクエスト数: +2億/day 6
7.
7年目のcybozu.comのビジネス要求 ユーザー数は今後も順調に伸び続ける より多くのユーザー・多くのデータでも安定して運用したい
サービスの価値を素早くユーザーに届けたい 7
8.
サービス拡大の技術的課題 インフラのスケールが厳しくなってきた スケーラビリティに欠けるモノリシックなアーキテクチャ
cybozu.comの運用コストが大きい 数百の機材をほぼ手動で管理・修理依頼 8
9.
「Neco」プロジェクト発足「Neco」プロジェクト発足 9
10.
インフラ刷新プロジェクト「Neco」 2018年1月に本格スタート Project
Manager 1人、PG 6人、QA 2人 cybozu.comのインフラをゼロベースで作り直す プロジェクトのゴール cybozu.comの運用コストの劇的な削減 製品のスケーラビリティ向上 10
11.
Necoの計画 2018 物理機材の管理の容易化 機材管理の容易化・コンテナ基盤の構築 2019 データベース・検索エンジン MySQL・Elasticsearchクラスタの構築 2020
分散オブジェクトストレージクラスタ Cephクラスタの構築 今から話す内容
12.
オープンソース化! NecoではほとんどのプロジェクトをGitHubで公開 自社事情への過度な特化の防止
継続的な品質向上 ドキュメント・コードの品質の担保 CIによるテスト 12
13.
機材管理コストの低減 13
14.
現cybozu.comの機材構成 用途ごとに異なるネットワーク・機材構成 機材ごとにセットアップ・メンテナンス手順が異なる
毎週、機材修理・交換のため業者とコンタクト 14 Storage ServerDMZ Proxy Load Balancer Misc Manager Boot
15.
Necoの機材構成 ラック内構成を統一して汎用的な機材構成に 15 計算機サーバー ストレージサーバー Rack Rack
Rack
16.
sabakan | DC内の機材をセットアップ
DC内の機材一覧を保持 機材情報から各種設定(IPアドレスなど)を生成 管理者は機材のシリアル番号・ラック位置などを入力するのみ 各機材はsabakanからLinuxをブートして各設定をロード 16 https://github.com/cybozu-go/sabakan
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.
Necoで変わる機材管理 機材のセットアップ・メンテナンス方法が異なる ⇒ 管理者は搬入した機材情報の登録のみ ⇒
用途・ネットワークはソフトウェアで定義 毎週、機材修理・交換のため業者とコンタクト ⇒ 汎用構成なので機材をDCにプールできるようになった ⇒ 修理頻度を四半期に1回、ラック単位での増設・交換 18
19.
アプリケーションデプロイ 19
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.
Necoのデプロイの方針 コンテナベースのアプリケーション リソース管理は人間がしない
開発チームもデプロイできる環境 適切な認証・権限を設定 21
22.
22
23.
Kubernetes導入のメリット リソース管理はKubernetesがいい感じに クラスタ管理者とサービス開発者で責務を分離
サービス管理者がデプロイ・管理できる リリースタイミングをビジネス・開発側で決められる 23
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.
Necoで変わるデプロイ VMの構築先はリソースが空いてる機材を探して手動 ⇒ リソース管理はKubernetesがいい感じに
構成が複雑で環境構築からリリースまでSRE依存 ⇒ サービス管理者がデプロイ・管理できる 25
26.
Kubernetesのオンプレ運用…? Kubernetesデプロイツールはいくつかある kubeadm,
kops, bootkube, ...... これらはデプロイ・スケール時に人が利用することを想定 いろいろ調べた結果、Necoでは自律的なクラスタ構築・管理 するサービスを開発 コマンドラインツールではなく 継続的にクラスタをメンテナンス 26
27.
CKE (Cybozu Kubernetes
Engine) Kubernetesクラスタを構築・メンテナンス クラスタが壊れたらオートヒーリング Kubernetesのデプロイ先はsabakanと連携 https://github.com/cybozu-go/cke 27
28.
CKEによるKubernetesデプロイ sabakanに登録された機材がCKEがロード CKEは自律的にKubernetesデプロイやクラスタ修復する 28 CKE Node
A Node B saba kan Node C Node D ① 機材登録② デプロイ 先をロード③ Kubernetes をデプロイ
29.
まとめ 29
30.
Necoの計画 2018 物理機材の管理の容易化 機材管理の容易化・コンテナ基盤の構築 2019 データベース・検索エンジン MySQL・Elasticsearchクラスタの構築 2020
分散オブジェクトストレージクラスタ Cephクラスタの構築
31.
まとめ Necoはcybozu.comのインフラを刷新するために絶賛開発中 機材管理システムと素のKubernetes構築まではできた
これからも最高のクラウドを目指していくぞい 31