CNDT 2020開幕、キーノートではサイボウス、プレイドなどのエンドユーザーがスケールするシステムの開発事例を語る

2020年9月11日(金)
松下 康之 - Yasuyuki Matsushita
CNDT 2020がオンラインカンファレンスとして開催。サイボウズやJFrogなどがキーノートに登壇した。

CloudNative Days Tokyo 2020(CNDT 2020)がオンラインカンファレンスとして開幕した。新型コロナウイルスの影響で、多くのカンファレンスは大勢が会場に集まるスタイルからオンラインへと移行した。その流れで今回はCNDTもオンラインでの開催となったが、従来の会場に集まるスタイル以上にコミュニケーションの双方向性を追求したという。その結果が、オンラインカンファレンスのためのプラットフォームを自前で開発するという形となって現れた。主催者によるこの説明から、CNDT 2020の1日目のキーノートが始まった。

CNDT 2020のコンセプトは「ともに創る」

CNDT 2020のコンセプトは「ともに創る」

クラウドネイティブへ移行中のサイボウズの事例

主催者の挨拶に次いで登壇したのは、サイボウズの執行役員である山本泰宇氏だ。

サイボウズの山本氏

サイボウズの山本氏

山本氏はサイボウズのSaaSプラットフォームcybozu.comを立ち上げた責任者であり、現在は「インフラ刷新プロジェクト責任者」ということで、サイボウズのインフラを刷新するプロジェクトNecoのプロジェクトリーダーとして、モノリシックなシステムからクラウドネイティブなプラットフォームへの移行を取り仕切っている。

cybozu.comの概要

cybozu.comの概要

SaaSプラットフォームcyboz.comはユーザーが増え、システムへの負担が増えるに従って運用上の問題点が浮かび上がってきたという。一例として、インフラ運用におけるコスト増大や設定変更の手順書が長大になったことや、拡張性に乏しいといった点が挙げられる。これらの問題点を解決するために、2018年にインフラストラクチャーを刷新するプロジェクトNecoが始まったと語った。

インフラストラクチャー刷新の新プロジェクトを開始

インフラストラクチャー刷新の新プロジェクトを開始

2019年には3つのデータセンターでクラウドネイティブなインフラストラクチャーが稼働しており、同時に現行のインフラストラクチャーからアプリケーションを移行する別のプロジェクト、Manekiも始まったとして順調に移行が進んでいることを紹介した。

現在の状況

現在の状況

システム自体はKubernetesをベースにしたインフラストラクチャーで、構成情報などはGit上で管理されていることからGitOpsの事例とも言えるだろう。ここでの注目ポイントは自動更新、自動管理と記述されているように徹底的に自動化が進んでいる点だ。

Necoの概要。アプリとインフラがGitで構成管理されていることがわかる

Necoの概要。アプリとインフラがGitで構成管理されていることがわかる

またインフラストラクチャーの開発においては3つの設計上の原則を守るように実装されているという。3つの原則とは、「Be Declarative(宣言的であること)」「「Define by Software(ソフトウェアによる実装が最優先)」「Test Everything(すべてにテストを適用)」だ。

インフラストラクチャー開発の3原則とその成果

インフラストラクチャー開発の3原則とその成果

また開発のモデルもトップダウンに設計から入るのではなく、物理サーバーの構成などの最下層から積み上げ式で開発を行い、PoCを行って検証をする方法を採ったという。

新インフラストラクチャーの開発モデル

新インフラストラクチャーの開発モデル

ただしこの方法を採ったことで、従来とは異なる問題点が出てきたという。それは工数が読めないこと、そしてオープンソースソフトウェアに依存することでモジュールのアップデートなどに起因する作り直しが発生することだ。

プロトタイピングによる開発で発生した問題点

プロトタイピングによる開発で発生した問題点

対策として工数は算定せずに実施の順番だけ決めて進めたこと、またカイゼンだけを行う専任のチームを構成して対応したことなどを紹介した。

問題点の解決策

問題点の解決策

その後、組織の改革やオープンソースソフトウェアに関する社員教育のポイントなどを紹介した。またNecoプロジェクトの開発の約半分は自動テスト関連だったことを明かし、インフラストラクチャーの開発において、開発そのものよりも自動テストの開発が大きな割合を占めていたことを語った。

自動テスト開発が全体の半分を占めたという

自動テスト開発が全体の半分を占めたという

最後にクラウドネイティブな開発の方法論として「何をではなくどう使うか?が大事」「プロジェクトは作り続ける」「専門家を育成できる環境作りが大事」などを語ってセッションを終えた。

サイボウズ式インフラストラクチャーの開発のまとめ

サイボウズ式インフラストラクチャーの開発のまとめ

システムをモノリシックから
マルチクラウドに進化させたプレイド

次に登壇したのは株式会社プレイドの執行役員でCTOの牧野祐己氏だ。プレイドは顧客体験(カスタマーエクスペリエンス)をデータで改善するためのプラットフォームKarteを提供するベンチャー企業だ。牧野氏は運用するサービスをAWS上のモノリシックなシステムからマルチクラウドの分散型システムに進化させた経験を、「ハイスケーラビリティ」というキーワードを軸にアーキテクチャーとその背景について解説を行った。

牧野氏のプレゼンテーション

牧野氏のプレゼンテーション

当初AWSで開発されていたKarteは、意図的にモノリシックなアプリケーションとして開発されていたという。

当初のKarteの構造

当初のKarteの構造

黎明期のものとして紹介されたこのシステム構成では、複数のリポジトリーを使い、RedisやMongoDBなどを用いてシンプルにシステムを集約することを目的としていた。

黎明期のKarteのシステム構成図

黎明期のKarteのシステム構成図

その後、データベースを分割し、負荷が高いサービスをより性能の高いインスタンスに移行できるように構成を変え、AWSに加えてGCP上にもアプリケーションを実装し、どのクラウドでも稼働できるように進化していったという。

マルチクラウドで構成されたKarte

マルチクラウドで構成されたKarte

また、よりクラウドネイティブなシステムとして分散システムを目指すために、Kubernetesへの移行を行ったことを解説した。

Kubernetesベースに移行

Kubernetesベースに移行

この段階では、仮想マシンベースからコンテナベースへとアプリケーションの再設計を行いながら、移行したために想定以上の時間がかかってしまったという。「すべてを分散化することはできないし、する必要がない」と語り、Kubernetesが目的ではなく手段であることを再確認した形になった。

マイクロサービスは道具でしかないという結論

マイクロサービスは道具でしかないという結論

Kubernetes onメインフレームを提供するIBM

次に登壇したのは、CNDT 2020のスポンサーでもある日本アイ・ビー・エム株式会社の高良真穂氏だ。高良氏はIBMのソフトウェアのコンテナ化が進んでいること、IBMとRed Hatのソリューションが補完する形でクラウドネイティブなシステムを顧客に提供できることを強調した。またメインフレームにおいてもKubernetesが提供されていることを紹介し、これはIBMにしかできないことを解説した。

メインフレームでも実装が進むKubernetes

メインフレームでも実装が進むKubernetes

またRed Hatの買収後に多くのオープンソースソフトウェアを提供していることを紹介し、クラウドネイティブなシステムがオープンソースソフトウェアを中心に拡大していることを印象付けた形になった。

IBMが貢献しているOSSを紹介

IBMが貢献しているOSSを紹介

継続的なソフトウェアデリバリーの
意義を強調するJFrog

1日目のキーノートの最後に登壇したのはJFrogのデベロッパーアドボケイトである横田紋奈氏だ。

登壇した横田氏のプロフィール

登壇した横田氏のプロフィール

バイナリリポジトリーのArtifactoryを主な製品として展開するJFrogは、ソフトウェアアップデートをスピーディに行うことの重要性を解説する。アンチパターンとして、ソフトウェアを頻繁にアップデートできないことでシステム障害を起こした海外の事例を紹介して、クラウドネイティブなシステムにおいては継続的なソフトウェアデリバリーが必須であることを強調した。

CloudFlareの事例を紹介して継続的デリバリーの重要性を解説

CloudFlareの事例を紹介して継続的デリバリーの重要性を解説

またDevOps、GitOpsなどのキーワードのJFrog的展開として「BinOps(バイナリオペレーション)」を提唱し、ソースコードを中心としたツールや環境に注目が集まる状況に対して、バイナリも重要と解説した。Javaなどでよく使われる用語であるArtifactを、ここではバイナリとして説明した辺りに、デベロッパー以外にもArtifactoryの理解を深めたいという意図が感じられたセッションとなった。

* * *

1日目のキーノートはエンドユーザー2社にスポンサーであるベンダー2社という構成で、エンドユーザーのユースケースが際立った構成となった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第11回

CNDT2020シリーズ:サイボウズのSREが語る分散ストレージの配置問題を解決するTopoLVMとは

2021/1/13
サイボウズの森本氏によるCeph&Rookにおけるストレージ配置問題を解決するTopoLVMの解説のセッションを紹介する。
クラウドイベント
第10回

CNDT2020シリーズ:ヤフージャパンのインフラを支えるゼットラボが語るKubernetesストレージの深い話

2021/1/8
ゼットラボの坂下氏によるKubernetesのストレージの深い話が行われたセッションを紹介する。
クラウドイベント
第9回

CNDT2020シリーズ:オススメのGitOpsツールをCAのインフラエンジニアが解説

2021/1/7
サイバーエージェントのインフラエンジニア長谷川氏が、GitOpsのためのツールを比較して紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています