Qoveryは、急成長中の企業が品質や安定性を犠牲にすることなく、迅速なデリバリペースを維持できるようにするための、開発者の生産性向上ツールの構築を目標として誕生した。同社の目標のひとつは、HerokuなどPaaSの単純さと'マジック'を、IaaSの柔軟性に組合せることだ。だが、それだけではない。同社はそのプロダクトで、デリバリ品質を損なわないデリバリ速度の向上という、増え続けるニーズの充足を試みている。これらすべてが、より広範なクラウドの採用と、DevOpsに関わるプラクティス、標準、ツールとの関わりの中で実現されるのだ。
CEOで共同創設者のRomaric Philogene氏は、同社のビジョンを次のように説明する。
当社はSREと開発者のグルーレイヤ(glue layer)として、両者が極めて効率的に協働できるようにしたいと考えています。
同社の目標達成までの道程と、そこに到達する上での課題について知るべく、InfoQは氏に話を聞いた。
InfoQ: 読者の質問に答えるための時間を頂いて、ありがとうございます。Qoveryのミッションは何でしょう、あなた自身の日々の活動はどのようなものなのですか?
Philogene: QoveryのCEOで共同創設者のRomaricです。Qoveryは、開発者が接続しているGitリポジトリ(GitHub、BitBucket、GitLabをサポートしています)にコードをプッシュするだけで、インフラストラクチャに関する知識を一切必要とせず、アプリケーションをクラウドにデプロイする機能を提供するプラットフォームです。シンプル過ぎるという面でHerokuに似ていますが、Qoveryはもっと抽象的で、使用するIaaSを選択することができます。現在はAWS、Digital Ocean、Scalewayと統合されていますが、2022年第1四半期にはGCP、第2四半期にはMicrosoft Azureのサポートを予定しています。
異種グローバルインフラストラクチャの運用に関する当社の経験を活用して、特に急成長企業における開発チームと運用チームの対話改善を目標としています。
私自身の役割としては、一日中コンテキストスイッチを行っています — Qoveryのようなプロダクトの開発には先見性(deep focus)が必要なので、2020年からは開発には積極的に参加しないことにしました。野心的な企業を作り上げるためには、最高のプロダクトだけではなく、優れたコミュニティの構築、プロダクトの位置付けの明確な定義、ユーザに対する理解、付加価値の提供、といったものが必要なのです。
InfoQ: Qoveryは実運用に対応済ですか?プラットフォームのSLAはどのようになっているのでしょう?
Philogene: はい、すでに使用されています。当社のユーザベースは2020年1月には15件でしたが、現在は12,257件で、2022年末には50,000件に達する見込みです。
当社はこれまで、基盤となるクラウドプロバイダから分離して動作する、堅牢かつ安定したプラットフォーム(現在のSLAは可用性99.9パーセントで、99.99パーセントを近い将来の目標としています)の構築に力を注いできました。Qoveryのサービスが中断しても、ユーザには影響しないのです。
やるべきことはまだありますが、当社はプロダクトの品質に力を入れています。クラウドサービスプロバイダ上では、毎日数千のエンドツーエンドテストや機能テストを実行していますので、注目すべき点は理解しています。
一方で、当社はIaaSに依存しているので、そこで何かが発生した場合にはユーザに警告したいと考えています。そのため、すべてのサポート対象にプローブをデプロイして、最速の応答時間を確保しています。
InfoQ: これまで最も困難であった問題は何でしたか、それをどのように解決したのでしょう?
Philogene: Kubernetesのような巨大なエコシステムで分散スタックを長期間維持すること、さまざまなクラウドプラットフォームを対象とした統一的な自動更新を管理すること、サードパーティをアップデートして信頼性を向上すること、などが大きな課題でした。テスト部分には多くの時間を割いていますが、現在でも拡張を日々続けています。ですが、多数のサードパーティ製品に依存している場合、そのすべてに対応しながら信頼性を維持し、アップグレード中のダウンタイムを最小限に抑え、費用対効果を高めるというのは至難の業です。
これを実現するために、クラウドエコシステムらしからぬやり方ではありますが、オープンソースのエンジンをRustで開発することにしました。その他の作業に関しては、Go、Kotlin、React、Angularなどのテクノロジの中から最適のものを選びました。これは内緒ですが、個人的な使用のためにPythonスクリプトもいくつか持っています。
InfoQ: 有償製品では何を提供しているのでしょうか?
Philogene: 当社は'free'、'professional'、'business'の3プランを用意しています。freeプランは完全に無償で、使用時間の制限もありません。有償プランでは、クラウドコスト最適化やSSO(Single Sign On)といった機能を提供しています。
基本的にホスティングは提供していないのですが、開発者のホビープロジェクトを対象とした特別な'community'プランを用意しています。
コミュニティに還元するという条件で、任意のプロジェクトのデプロイやホストが可能です。彼らの貢献に対してはQoveryクレジットが支払われます。これがQoveryクレジットを入手する唯一の手段です。このプランのおもな制限はCPU、メモリ、ストレージリソースです。
InfoQ: Qoveryはロードマップを公開していますが、あなたが特に期待している大きなプロダクトマイルストンはありますか?
Philogene: 当社は、クラウドの未来を構築する企業のひとつになるという、非常に高い将来への野心を持っています。ですから、'キラー機能'は秘密にしているのです。
私が特に期待している大きなプロジェクトマイルストンは、オープンプルリクエスト(PR)のためのプレビュー環境の構築です。PRがオープンされれば、アプリケーションがデプロイされてテスト環境を提供します。この環境は、PRがマージされた時点で閉鎖されます。
開発者を超生産的にすることを目標にスタートしたQoveryは、開発者が最も価値のあること -- インフラストラクチャの管理ではなく、コードを書くこと -- に集中できるようにするために、開発者の生産性の向上を実現するPaaSソリューションの構築に取り組んでいる。SCMとクラウドプロバイダ間の抽象化レイヤとして、堅牢かつ信頼性の高いプラットフォームを構築することによって、同社は、この目標の達成を目指している。