こんにちは。本記事は技術本部 Strategic Products Engineering Unit Contract One Devグループの松永と高橋からお届けします。本記事では、「Contract One運用業務のトイル削減」における、二つの施策をご紹介します。具体的には、松永から「テナント作成予約機能」について、そして高橋から「契約締結機能における運用業務の自動化」についてご紹介します。
テナント作成予約機能をリリースしました!
私たちが開発に携わっている契約データベース「Contract One」は、契約書を正確にデータ化し、管理部門だけでなく事業部門でも契約に関する情報を活用できる環境を構築するサービスです。
まずは松永から、私たちが開発した運用側の新機能、「テナント作成予約」についてご紹介します。この機能は、エンジニアの作業負担を軽減し、運用効率を向上させることを目的に設計されました。
背景と課題
「テナント」とは、システムやサービスにおいて特定の組織やユーザーグループに割り当てられた領域のことを指します。
これまでテナント作成の作業は下記の手順で行っており、いくつかの課題がありました。
[CS側の作業]
テナント作成の依頼と、エンジニアの作業時間を押さえるため、Google カレンダーに登録をする。
[エンジニア側の作業]
1. 平日の業務時間内に、作業に必要な権限の付与を申請する。
2. Contract Oneの運用アプリにアクセスしてテナント作成に必要な情報を入力し、作成ボタンをクリックする。
3. ダブルチェックを行う。
作成作業はミスが許されないため、ダブルチェックで慎重な確認作業が必要になり、工数が多くかかってしまうことが課題となっていました。
また、CSのメンバーは必要な情報をすべて保持しているため、エンジニアを介さずに作成業務を完了できれば、より迅速かつ効率的に作業を進められる状況でした。
新機能の実現方法
新機能では、テナント作成を「予約」することが可能になりました。この予約機能には、テナントID、実行予定日、予約キャンセル機能が含まれています。Cloud Schedulerが平日1日に一度APIを呼び出し、予約リストを取得します。リスト内の「実行予定日 = 本日」の予約については、非同期で一件ずつ作成処理を行います。この非同期処理は、Cloud Tasksのキューを利用して実現しています。
新機能の利点
この機能が実現したことで、以下の通り工数の削減と、リスクを回避する体制を構築することができました!
1. エンジニアは手動でテナント作成の作業を行う必要がなくなった。
2. システムが自動的に作成プロセスを管理するため、ヒューマンエラーのリスクが低減された。
今後の展望
作成作業の中で自動化できていない部分もまだ残っているため、完全自動でエンジニアを介さずに作業を行い、運用工数を減らすことを目指しています。
契約締結機能において発生する運用業務の自動化
次に、高橋から契約締結機能の運用業務を自動化した取り組みについてご紹介します。
背景と課題
Contract Oneでは、紙の契約書での契約締結機能を提供しています。この機能では、契約書のPDFデータに修正が入った場合、新しいPDFデータに差し替える運用作業が発生することがあります。
この運用作業は、Contract Oneの運用業務の中でテナント作成に次いで2番目に頻繁に発生します。そのため、このPDF差し替え作業を自動化することにしました。
作業には二つのデータベースを参照して対象データを探す必要があり、手順が複雑でした。さらに、Google CloudのCloud Storage上にあるPDFデータをコンソール画面で直接操作する必要があり、こちらもミスが許されない緊張度の高い作業でした。
実現方法
Contract Oneでは、Denoを利用してCLIアプリケーションを簡単に作成できる基盤が整っています。(Contract OneのCLIアプリケーションについては別記事を参照)この基盤を活用し、データベースの参照とGoogle Cloudの操作を自動化する実装を行いました。
今後の展望
PDF差し替えの運用作業は、データのステータスによって7種類の作業手順があります。今回は、そのうちの一つを自動化しました。今後は残りの作業も順次自動化していく予定です。
また、現在はCLIアプリケーションとして実装していますが、今後はテナント作成予約機能のように、Web上から作業できる機能として提供することを検討しています。これにより、エンジニア以外のメンバーも安全にPDFの差し替え作業ができるようになり、運用効率がさらに向上すると考えています。
まとめ
今回は、「運用業務のトイル削減」における二つの施策についてご紹介しました。テナント作成予約機能とPDF差し替え作業の自動化により、エンジニアの運用負担を大幅に軽減することができました。これらの改善は、単なる作業効率化だけでなく、ヒューマンエラーのリスク低減にも貢献しています。
今後も、まだ自動化されていないテナント作成作業の完全自動化や、すべてのステータスでのPDF差し替え作業の自動化など、さらなる改善を進めていく予定です。特に、エンジニア以外のメンバーでも安全に作業できる仕組みづくりに注力し、チーム全体の運用効率向上を目指します。
Contract Oneはグロース期を迎えましたが、開発面での課題が山積しています。運用改善はその一例に過ぎませんが、私たちは一つひとつ着実に課題を解決しながら成長を続けています。技術的なチャレンジに興味をお持ちの方は、ぜひカジュアル面談でお話ししましょう!