
Paessler AGは、受賞歴のある統合監視ソリューション「PRTG Network Monitor」を開発する企業です。IT専門家がIT基盤全体を24時間体制で監視できるよう支援するPRTGは、IT基盤のすべてのシステム、デバイス、トラフィック、アプリケーションを監視します。
24時間体制でIT基盤全体を監視するPaessler AGは、GitLabを活用したバージョン管理と継続的デリバリーにより、急速に変化する業界に対応しています。
すべてのブランチがテストされます。パイプラインに組み込まれているため、コードをコミットするとすぐにプロセス全体が開始され、テストが実行されます。開発者であれQAエンジニアであれ、テストすべき最新バージョンに到達するまでの作業量が大幅に削減されます。
Paessler AGのPRTG Network Monitorは、170カ国以上の様々な規模・業種の企業や組織で利用されています。ロンドンのナショナルシアター、フラムフットボールクラブ、大学、医療ネットワークなど、多様な顧客を持つPRTGは、IT基盤を常時監視し、ユーザーが問題に気付く前に、帯域幅、アプリケーション、ネットワーク、データベースなどの問題を管理者に通知します。
包括的な監視サービスを提供するため、PRTGは様々な分野の発展に対応するために迅速に進化する必要があります。Paessler社はPRTGの開発をMercurialからGitLabに移行しました。主な理由はバージョン管理機能の向上です。容量が7GBの大規模なリポジトリ(初回コミットは20年前)と不適切な運用慣行(Mercurialにはファイルラージストレージ機能がないため、バイナリファイルがリポジトリに含まれていた)により、プル、プッシュ、マージの動作が不安定になるという深刻な問題が発生していました。
「時々、プルやプッシュができなくなり、理由がわからないことがありました」と、PRTG開発部門のインフラストラクチャエンジニアであるKonstantin Wolff氏は述べています。
この不安定性を解決するため、Paessler社はGitソリューションを検討しました。「社内の多くの人がGitを使用しており、Gitの方が高速で優れており、現在は誰もが使用していることを知っていました」と、シニアシステムズアドミニストレーターのGreg Campion氏は述べています。「また、Gitが普及しているため、Mercurialを使用するよう新しい従業員を訓練することは難しくなっています。開発者を採用する場合、Gitは知っていてもMercurialは知らないかもしれません。」
複数のバージョン管理システムをテストした結果、Paessler社は「総合的なソリューション」としてGitLabを選択しました。Gitの導入により安定性が回復し、Paessler社はリリースサイクルを年3回のメジャーリリースから継続的デリバリーと月次リリースに加速することができました。しかし、GitLabへの移行による最大の成果は、QA自動化に予期しない効果をもたらしたことです。
Gregはパイプライン機能の有用性と可能性に気付き、自分が所属するクラウドチームで導入し、その後、組織全体に広がりました。
「以前はJenkinsでビルドパイプラインを実行していました」とKonstantinは説明しています。「develop、release、masterの3つのブランチがあり、最終的にmasterブランチが公開されます。これら3つのブランチのいずれかをビルドするたびに、複数のVMにインストールが行われ、その後、テスト自動化が別のプロセスで開始されます。プロセスの最後に、成功したか失敗したか、どこで失敗したかなどを記載したメールが届きます。」
このシーケンシャルなプロセスは、フィードバックが最後にしか得られず、dev、release、masterブランチでのみ自動的にトリガーされていました。QAエンジニアは、このプロセスを実行するために約10分の作業を1日6~7回行う必要がありました。他のブランチをテストする必要がある場合は、ローカルでビルドしてローカルでテストを実行する必要がありました。
GitLabを使用した現在の状況は全く異なります。「すべてのブランチがテストされます」とGregは述べています。「パイプラインに組み込まれています。コードをコミットするとすぐに、プロセス全体が開始されてテストが実行されます。その後、ブランチのレビューアプリにアクセスして、コミットしたばかりのコードで実行されているPRTGのバージョンを確認でき、既にテストも完了しています。」これにより、製品の品質管理が向上し、開発者とQAの間のフィードバックループが大幅に短縮されます。
「開発者であれQAエンジニアであれ、テストすべき最新バージョンに到達するまでの作業量が大幅に削減されます。」QAエンジニアの業務は、1日あたり約1時間から30秒に短縮され、120倍の速度向上を実現しました。
この自動化は、何か問題が発生した場合に大きな効果を発揮します。テストが失敗するとパイプラインが失敗するため、開発者は既に何か問題が発生したことを認識でき、QAからの報告を待つ必要がありません。このような即座のフィードバックにより、Paessler社の開発者は90%のQA業務を自動化できるようになりました。
組織内で新しいツールの広範な採用を推進することは時に課題となりますが、Paessler社でのGitLab CI/CDの採用は顕著です。「人々が私たちのパイプラインを見たときに、本当に広がり始めました」とGregは述べています。「実は、『あなたのパイプラインを見せてください、私たちのパイプラインも見せます』という内部学習セッションを開催しました。皆が自分たちのパイプラインを披露して、何ができるのか、人々が何をしているのか、新しいアイデアを得るなど、かなり成功した興味深いセッションになりました。」
「GitLabは非常に活発に使用されています。そして、素晴らしいことがたくさん起こっているため、誰もが参加したいと考えています。」
ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。