受信メールの分類・管理を行うシステムを統合し、業務効率化を実現
アイレット株式会社のクラウドインテグレーション事業部・MSP開発セクションでは、社内業務の効率化・フォロー・自動化を担うサービスの開発と運用を行なっています。
社内では、業務上の必要性から、エラーの発生などを知らせる受信メールをフィルタして各種外部サービスに通知・登録するシステムやツールを利用していましたが、それらが複数存在し、また、長年使い続けることでレガシーとなっているものもあったため、すべてを整理・統合し、一つの新しいシステムを開発の上、リプレイスすることにしました。
以前は、フィルタ条件や通知内容がほとんどハードコーディングされており、それらの更新には都度デプロイ/リリース作業が必要でした。また、それぞれのツールで仕組みや更新方法が異なり、保守する際のオーバーヘッドが大きな課題となっていました。今回の開発およびリプレイスでは、それらを整理し、運用コストを低減することが何よりの目的でした。
開発を進めるにあたり、旧システムと新システムとの間で、フィルタ条件や通知内容は原則差異を出さないことを方針としました。新たな条件が発生した場合や、廃止可能な条件が発覚した場合は、旧システム側で反映を実施し、問題ないことを確認してから開発中の新システムにも適用する流れとしました。新システムでは、これらのフィルタ条件や通知内容は、原則JSON形式のルールファイルで記述し、Git で管理としています。ただし、複雑な条件に関しては、モジュールを分離してコード上で実装しました。これら一連の取り組みにより、フィルタ条件や通知内容の更新、さらにその際のテストについて、より容易な実施が可能となりました。また、受信したメールと処理結果はクエリ(問い合わせ)可能な形で保管することで、事後の検索や分析も手軽にできるようになっています。
CI/CDでは、以前からSaaS型サービス「CircleCI」を使用していましたが、今回新たにAWS Code シリーズである AWS CodePipeline・AWS CodeBuild を使用し、検証を行ないながら実装しました。パイプラインは、AWS CloudFormation で定義し、ステージ毎に立てています。1つのパイプラインに紐づけられるブランチは1つのみのため、AWS CloudFormation に渡すパラメータで対象ブランチや承認の有無などを判別するようにしています。
本システムの開発およびリプレイスにより、メールのフィルタ条件や通知内容の変更などに対する要望へのスムーズかつスピーディな対応が可能となり、運用の負荷が下がったことで、業務の大幅な効率化が実現しました。
アイレットは、このように業務効率化のため自社内で活用するシステムを自ら開発し、よりお客様へのサービス提供に注力し、品質向上を図ることができるといった強みがあります。今後もお客様にさらなる安心と価値を提供できるよう、尽力してまいります。
さらに詳細な内容については、今回のシステム開発を行なったエンジニアによる以下の記事をご参照ください。
https://cloudpack.media/60032
(AWSプロダクト)
- ・Amazon Simple Email Service (SES)
- ・AWS Lambda
- ・Amazon Simple Queue Service (SQS)
- ・Amazon DynamoDB
- ・Amazon Simple Storage Service (Amazon S3)
- ・Amazon Athena
- ・Amazon API Gateway
- ・AWS CodePipeline
- ・AWS CodeBuild
- ・AWS X-Ray
Credit
クライアントアイレット株式会社