Moneyfarm社ではGitLabを利用することで 従来より少ないツールでより迅速にデプロイすることが可能に
Moneyfarm社では小規模なチームができるだけ効率的に業務を遂行できるようにしたいと考えていましたが、既存の継続的なデリバリーソリューションは管理が煩雑でした。
現在、オンライン資産管理会社である同社はGitLabを使用することでデベロッパーの満足度を向上させることができ、より多くのコードの生成と顧客へのより優れた価値提供を実現しています。
ヨーロッパのオンライン財務管理プラットフォーム
Moneyfarmは、英国とイタリアにオフィスを構えるオンライン資産管理会社です。MoneyfarmのCTOであるEmanuele Blanco氏は「デジタル資産管理会社である当社の使命はもちろん、人々が手間をかけずに富を築いて管理し、私たちのような専門家からアドバイスを受けられるようにすることにあります」と述べています。Blanco氏のチームは完璧なカスタマーサービスの提供を望んでおり、継続的なデリバリーこそがそれを達成する方法であると考えていました。「私たちは継続的なデリバリー機能を活用し、強化したいと考えており、少しずつ確実に価値を提供する、インクリメンタル型のソフトウェアリリースを信条としています」
しかし、大規模なチームを持たないMoneyfarm社には、2か国にあるオフィスをサポートし、継続的なデリバリーの理念を最大限に活用しながら、可能な限り効率的であることが求められていました。「そのすべてを行うには、テクノロジー組織と、必要なことをすべて行えるプロセスとプラットフォームの両方が必要でした」と、Blanco氏。
膨大な管理作業
Moneyfarm社は、継続的なデリバリープラットフォームであるConcourse CDを元々使用していて、すべてAmazon Web Services(AWS)上で稼働していました。Concourseソリューションは機能していたものの、稼動を維持するには膨大な時間とケアが必要でした。エンジニアリングディレクターのNicholas Faulkner氏によれば、「AWSの請求書の面でかなりの費用がかかっていた」そうです。Concourseはセルフホスティングでしたが、Faulkner氏は当時のことをこう語っています。「非常に予測不可能なところがあり、管理にはフルタイムの手間がかかっていたんです。私たちはそれに(それほど多くの時間を)投資することに価値を感じていませんでした」
Moneyfarm社が使用していたCDプラットフォームの複雑な性質により、セルフサービスの可能性がないという別の問題も生じていました。ステークホルダーは、プラットフォームチームをアウトソーシングされたサービスプロバイダーのように扱い始め、この状況は長期的にはうまくいくものではありませんでした。
結果として、Moneyfarm社が求めていたのは、自分たちが型にはまる必要のない、大規模でない自社チームにこそ適合するソリューションでした。「サービスとしてのソフトウェアソリューション(に移行すること)の利点は、従業員を最も重要な作業に集中させることができることです」と、Blanco氏。
GitLab PremiumでCDにおける手作業をほぼゼロに
Moneyfarm社はプライベートネットワーク上でSelf-Managed版を社内向けに実行していたため、GitLabに精通していました。2020年1月、Blanco氏とFaulkner氏のチームは、クラウドですべてのコードをConcourseからGitLabに転送するプロセスを開始しました。チームは、パイプラインで実行され、コンテナを本番環境にリリースするカスタムスクリプトを使用して、GitLabをAWSデプロイに統合しました。移行が完了し、最も重要なタスクに関連する80~1000のパイプラインをGitLabに移行することに成功しました。GitLabへの完全な移行の完了には約4か月かかりました。
GitLabに移行したことで「管理するツールが1つ減ったため、作業が少し簡単になりました」と、Blanco氏。Moneyfarm社の明確な価値提案についても次のように述べています。「ソフトウェアを顧客に提供する際に、価値をもたらします。インフラストラクチャとシームレスに動作するツールがあれば、デベロッパーは機能の構築や、動作するコードの作成に集中できます。私たちには本番環境でそういったことをサポートするツールがあり、大きな違いを生み出しています」
GitLabを使用することでMoneyfarm社にもたらされたメリットは次のとおりです。
-
構想段階から本番環境までのサイクルタイムを45分から13.5分に短縮
-
デベロッパーとステークホルダー間の作業関係の改善
-
デベロッパーのセルフサービスの大幅な強化を実現
-
デプロイプロセスのタイミングを予測可能に
-
デプロイ回数を週あたり18回から35回に倍増
-
コードの生成量の増加
さらに、単純に待機時間も短縮されました。「GitLabを使用することで、デベロッパーのキーボードから顧客の環境までの移行にかかる時間がずっと早くなりました」とFaulkner氏。「これまではデベロッパーがConcourseの進行状況バーを見てる間に、ステークホルダーが後ろで待っている状況でした。GitLabに移行してからこのようなことはなくなりました」
しかし、より具体的ではないものの、ほかにも成果があります。コラボレーションの改善により、Moneyfarm社のチームはこれまで見られなかったようなブレインストーミングの会話をするようになりました。「以前では考えられなかった会話が交わされるようになり、それによって知識が広まり、結果としてツールに対する理解が深まり、より良い使い方について学べるようになりました」とBlanco氏。
最後にMoneyfarm社チームを驚かせたのは、GitLabのコストがセルフホスティングや以前使用していたツールのローカル管理に費やされたコストとほぼ同じであることでした。GitLabの意外なメリットは、管理やメンテナンスに専任のスタッフが必要ないことです。
デベロッパーの満足度が向上すれば、コード品質とデプロイ速度も向上
Moneyfarm社はGitLabに移行したことで数多くの具体的なメリットを得ましたが、そのうちの1つは想定外のものでした。「GitLabに移行することで、デベロッパーの満足度が大幅に高まりました。非常に新鮮で、簡単に理解できる新たなソリューションに誰もが満足していました」と、Blanco氏。「これにより、明らかにデベロッパーの満足度が高まりました」
「デベロッパーの満足度は重要です。デベロッパーが幸福であれば、より良い仕事ができるようになります」と、Blanco氏。「デベロッパーエクスペリエンスを高いレベルに保つ必要があります。これこそが、実際に価値を迅速に提供できる唯一の方法です。GitLabは、デベロッパーエクスペリエンスの向上において重要な役割を果たしました」
より迅速に業務が進むようになったことで、デベロッパーエクスペリエンスが明らかに向上しました。以前のCI/CDソリューションはコミットからステージング環境に移行するのに35〜45分かかりましたが、信頼性の高いGitLabによってわずか13.5分で実現できるようになりました。プロセスが高速化され、信頼性も高まった上に、頭の切り替えの必要性が少なくなり、1 つのタスクに集中しやすくなりました」
「以前は、デベロッパーは待機中に別のタスクを効率良く実行する必要がありました」とFaulkner氏。「今では同じ仕事に集中し、本番環境まで進められるようになっています」
これにより以前の2倍のデプロイ頻度を実現し、コード生産の増加につながっています。「CDツールのことや特異性に悩んだりする時間は間違いなく減りました。CDツールがダウンしたり、再起動させなければならなかったりしたこともありましたが、今ではそれについて考えることもありません」とBlanco氏。「より多くのコードを作成してより多くの価値を提供しているという事実と、GitLabを使っているという事実の間には、ある種の相関関係があると思います」
ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。