週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

単なるクラウド移行だけじゃない「Yakumoプロジェクト」の舞台裏

kintone.comのAWS移行プロジェクトが狙う全員参加のDevOpsQA

2018年08月29日 07時00分更新

Dev、Ops、QAの分離で生まれる不具合とは?

 Yakumoプロジェクトでは単にデータセンターのシステムをクラウドに移行するのではなく、サイボウズ社内でクラウドネイティブな開発運用体制を構築するのが大きな狙いだ。こちらの方がむしろプロジェクトの本丸と言えるかもしれない。

 従来、サイボウズの開発運用部門では、DevとOpsが分離してしまったことで、ノウハウが分離したり、セキュリティルールの範囲が異なるといった弊害が出ていた。チームが分離しているため、依頼ベース・調整ベースのリリースとなり、仕掛かりタスクは溜まり、リードタイムは拡がっていた。お互いのアーキテクチャやビジネスドメインにも詳しくないため、局所最適に陥っていたという。

 さらにDevとQAの分離でも弊害が出ていたという。本来は、高速に実行できるユニットテストで多くのテスト範囲をカバーし、手間のかかるUIやマニュアルテストを最小限に抑えられる「テストピラミッド」が理想的。しかし、DevとQAが分離し、お互いのテストの内容を知らないと、このピラミッドが逆転してしまうという。

DevとQAを連携し、理想のテストピラミッドへ

 その上で佐藤氏は、「システムを設計する組織は、その構造をまねた構造の設計を生み出してしまう」というコンウェイの法則を引き合いに、望ましいアーキテクチャを促進するために技術とビジネスのアーキテクチャが同形写像にしていく「逆コンウェイ戦略」を進めていくという。

チーム全員で画面を共有しながらモブプロ

 Dev、Ops、QAを連携させ、逆コンウェイ戦略を実現すべく、Yakumoプロジェクトでは全レイヤーからメンバーを集結させた。プロダクト、ユーザー管理、ミドルウェア、SREのほか、生産性向上や販売管理、QAなど文字通り全レイヤーだ。さらにチームで1週間のスプリントで設計、レビュー、試験まで進めて、はじめて完了まで行き着く。「開発者もQAも1つの画面を見ながら、テキストコードをモブプロして実装していく。別々のチームの時はお互いなにをやっているかわからなかったけど、これならテストピラミッドのどこにテストを書いたらよいかわかるのではないか」と佐藤氏は語る。

チームで画面を共有し、モブプロで実装

 こうした継続的なDevOpsQAの施策により、開発・テスト・運用までをチーム全員が責任を持ち、それぞれのプロフェッショナリティを出し合っていくのがプロジェクトの目的。「依頼がなくなって、チーム内で完結するので、リードタイムが短縮できるとがんばっています」(佐藤氏)。その上で、こうした体制を実現できるのも、今までヘビーだった物理インフラがAWSによってコード化(Infrastracture as a Code)された恩恵だという。「今は全員インフラで扱っているので、CloudFormationのYAMLを書いています」(佐藤氏)。

 もちろん、実際の運用はまだ始まってない。コンポーネントは動いているが、今後はバックアップやログ、監視など運用系のタスクが増えていくという。「いろいろ話しましたが、本当の運用はこれから。運用もしてないのにこんな話をしたけど、開発中はこんな夢でやってます(笑)」と語る。

サイボウズが目指すDevOpsQAの姿

 イベントでは、その後サイボウズ野島祐輔氏が「kintone on kubernetes」と題したコンテナの使いこなしをディープに解説。1日1回VPCを削除し、ゼロから環境を再構築しているというCI/CDの現場を披露した。また、アマゾン ウェブ サービス ジャパンのSAである桑野章弘氏は「AWSのSAから見たサイボウズさん」というセッションを披露し、サイボウズのエンジニアについて「物腰が柔らかい」「技術に貪欲」「ビジネスをちゃんと見ている」と感想を語り、引き続きYakumoプロジェクトを支援していきたいとアピールした。イベント全体を通して、参加者からの質問も非常に活発で、クラウドサービスへの移行やコンテナの導入、DevOpsの実践など現場発ならではのコメントを聞くことができた。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう