Conversica社は GitLab Ultimateを活用してAIイノベーションを牽引
GitLab Ultimateがチームにもたらすメリットについて知りたいですか
Conversica社のエンジニアリングチームは、CI/CD用のスケーラブルな単一ツールを探していました。
GitLab Ultimateは、Conversica社のデベロッパーに最新のCI/CD機能を提供しています。
AIで世界をリード
Conversica社はビジネス向け人工知能分野のリーダーであり、マーケティングおよびセールス組織向けのAI主導型リードエンゲージメントソフトウェアの唯一のプロバイダーです。世界中の1,500以上の企業で使用されているConversicaは、顧客を引き付けて維持するためのキャンペーンをユーザーが綿密に作成できるようにするために、SaaSを提供しています。
連携していないツールの有害性
Conversica社の開発チームは、TeamCityをCI/CD、Quay.ioをDockerイメージレジストリ、GitHubをソース管理に使用していました。これによってツールはGitHubを中心にある程度統合されていたものの、管理された環境というには不十分で、玉石混交のアプローチとなっていました。開発チームはツールへのアクセス方法に不満を持ち、苦戦していました。「TeamCityでは、この非常に複雑な方法で一種の内部XML設定が保存されていたため、デベロッパーには非常に不透明でした」と述べるのは、Conversica社のエンジニアリングマネージャーであるRob Fulwell氏。「アクセスできるのはUIからのみだったため、デベロッパーにとっては満足できない作業方法でした。テキストファイルでの作業が好まれます」
ワークフローは分断されており、ビジネスニーズを満たすには速度が遅すぎる状況でした。「より迅速に機能を提供できるよう、セールスとマーケティング担当者からプレッシャーを受けていました」とFulwell氏。「かつては納品に焦点を当てなければならず、それが技術的負債の増加につながったのかもしれません」
チームはビジネスを差別化するための有意義な作業ではなく、パイプラインの障害の問題解決にますます時間を取られる状態に陥っていました。「また、システム全体でセキュリティとライセンススキャンに関する今後の要件を実装できるかどうかも懸念されていました」とFulwell氏。
小規模なソフトウェアプロジェクトの作成
特定分野の専門家が事前に調査を実施した後、Conversica社はエンジニアリングチーム全体に対し、GitLabの使用を義務付けることを決定し、3か月以内で無事に移行を完了しました。意思決定プロセスにおけるConversica社の要件の1つは、選択したツールを使用して移行の問題を緩和するために明確なドキュメントを作成できることでした。「私たちは、実際に最高水準のドキュメントを作成できるかどうかを確認しました。そうでなければ、別のツールセットに移行する決断を下すのを実際に躊躇していたと思います」とFulwell氏。
GitLabにパイプラインを実装する方法を習得済みだったFulwell氏のチームは、他のエンジニアリングチームのコンサルタント役として活躍しました。「他のチームの多くのデベロッパーとペアを組み、協力し合ってパイプラインを構築しました」とFulwell氏。「私たちは確実に優れたパイプラインを構築するために必要な基準を守り、自動テストが適切に進むようにしました。そうすることで、チーム全体に展開することが可能になりました」
制限なくツールを最大限に活用するため、選ばれたのはGitLab Ultimateでした。「セルフホスティングしているため、社内でAPIを開発し、そのためのインフラの構築が必要となった場合でも、それが実現可能です」とFulwell氏。
GitHubを使用する中、デベロッパーが待機をするのみで作業ができない「スロットル」が少々発生していました。デベロッパーはより多くの呼び出しを受け入れることができたのにも関わらず、以前はそのレベルで稼働できる状況にありませんでした。GitLab Ultimateを使用する今、デベロッパーをただ待機させることはもうありません。
モダンなUI、透明なパイプライン、機能の拡張の推進を実現
GitLabに移行する明確な利点の1つに、エンドツーエンドでパイプラインを視覚化できることがあります。Conversica社は最近、週末中にデプロイされたものに対して緊急リバートを実行する必要がありました。GitLabでは、その環境にデプロイされた特定のコミットを確認することができました。「初めて行った操作でしたが、非常に驚かされました。クリック1つで、ある環境からすぐに別の環境のmainのHEADに移動できたんです」とFulwell氏。TeamCityとGitHubでも緊急リバートは可能でしたが、ワンクリックでは行えませんでした。正しいコミットを特定するには、いくつかの手順を踏む必要がありました。「GitLabを使えば、バグの調査などを行う際にパイプラインを基本的にエンドツーエンドで確認できるため、とても楽です。大きなメリットの1つです」とFulwell氏は言います。
UIは、以前のツールワークフローよりもデベロッパーにとってよりクリーンでわかりやすいものとなりました。ソース管理からCI/CD、そしてデプロイまで[エンドツーエンドで統合](/solutions/continuous- integration/)されているため、以前使用していた複数のツールでは成し得なかった、開発チームの効率性の向上を実現できています。今ではエンジニアチーム間でより効率的にコミュニケーションを取り、お互いのプロジェクトを検討し、コラボレーションを成功させることができるようになりました。パイプラインのデリバリーに対する信頼があるため、デプロイが簡素化され、より迅速に実行することができています。セキュリティ対策はコードレベルで行えていて、Conversica社の以前の状況と比べると、大幅に進化しました。
Conversica社は、Amazon ECRからAmazon EKS、そしてSelf-ManagedのGitLab Ultimateインスタンスにデプロイしています。同社は現時点ではKubernetesインテグレーションを使用していませんが、その実行方法について模索しています。「GitLabへの移行は、スケール、信頼性、セキュリティの面で自然な流れだったと思います」とFulwell氏。「私たちがすでに理解しているAWSシステムの上に実装し、適切に実行できるという点で、非常にうまく機能しました」
ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。