目次

    【Passworkによるクラウド環境からAWSのシステムへのタイムリーな連携の実現】株式会社山岡家様インタビュー

    目次

      全国に187店舗(*)を展開する「ラーメン山岡家」の運営元、株式会社丸千代山岡家様。多数のスタッフが勤務する状況で急な勤務変更にも対応するため、SmartHRから社内の勤怠システムへのタイムリーなデータ連携が重要な課題となっていました。
      (*2024年12月時点の店舗数)

      今回Praztoは、ETLサービス「Passwork」を活用し、SmartHRから PostgreSQL 管理の勤怠システムへの1時間単位での自動連携を実現しました。複雑なAPI制約をどのように解決し、リアルタイム連携を実現したのでしょうか。お話を伺いました。

      田中 陽里(たなか ひさと
      経営企画室副室長

      200ほどの店舗を展開中のラーメンチェーン「丸千代山岡家」にて、IT部門を統括しています。同社での過去の20年近いキャリアを通じて、インフラからアプリケーションまで垂直統合的に関与して改善活動を行い、IT環境を、原始的な状態から先進的と評価されるまでレベルアップさせてきました。特にパンデミック以降DX推進に軸足を移して活発な改善を行っています。
      芳賀 怜史(はが さとし)
      株式会社Prazto CEO

      早稲田大学卒業後、SIerでエンジニアとしてキャリアをスタート。その後、外資系マーケティング会社、Salesforceゴールドパートナー企業と、3社での経験を通じて一貫してエンジニアリング技術を磨き、多くの顧客の課題解決に従事。2019年、Salesforceを中心とした導入支援・開発事業を行う株式会社Praztoを創業。2022年にSalesforceパートナーのルーキー企業として最優秀賞「Emerging Partner of the Year – Consulting –」を受賞し、創業4年で年商3.7億円にまで事業を成長させる。2025年、顧客への付加価値をさらに高めるため、ETLサービス「Passwork」の事業を開始。「Technology and Design are True」というビジョンのもと、最適なシステムを提供するプロフェッショナルチームを統率している。
      大竹 萌絵(おおたけ もえ)
      株式会社Prazto COO/Passwork CS事業統括


      大学卒業後、美容クリニックで受付カウンセラー職としてカウンセリング業務に従事。BtoBの経験を積むためサービスオフィス総合受付/秘書に転職し、入居企業様のサポートに従事。2022年9月、株式会社Praztoの教育事業への理念に共感して、SalesforceコンサルタントとしてPraztoに入社。現在は、株式会社PraztoのCOO/サポート事業・教育事業統括として事業の立ち上げと拡大を統括しながら、自らもSalesforceのトレーナーとしての実務も行う。日々変化している事業を力強く支える株式会社Praztoの頼れる存在。

      全国187店舗の運営を支える従業員データの1時間単位での同期を実現

      芳賀:まず、今回実現したかった要件について教えてください。
       
      田中:当社山岡家は、現在187店舗を運営しており、多数のスタッフが勤務をしています。飲食業界の特性上、急な勤務変更や欠員補充が頻繁に発生し、中にはSmartHRに登録したその日に勤務するようなケースもあります。そのため、SmartHRから社内の勤怠システムへの連携を可能な限りタイムリーに実施したいというのが課題でした。
       
      芳賀:飲食業界特有の急な勤務変更への対応が重要だったということですね。確かに、それは必須な要件ですね。

      SmartHRのAPIの特徴と固有なデータ構造が連携の障壁に

      芳賀:Passworkを導入する前はどのように連携していて、どのような課題があったのでしょうか。
       
      田中:Passwork導入前も他のETLサービスを使用していましたが、1時間に1回の連携を無理なく達成するのが困難でした。実は、なかなか困難な問題が3つほど重なっている状態でした。

      芳賀:それぞれどのような課題だったのでしょうか。
       
      田中:まず1つ目は、「SmartHRというクラウド環境から弊社のAWSのPostgreSQL環境へのデータ連携」という点です。この要件に対応できるETLサービスの数がグッと減ってしまいます。これまで使用していたETLサービスはこの点には対応できていたのですが、他の2つの課題もありました。
       
      次に、1時間に1回同期するという、一見すると一般的と思われる間隔での同期が、当社においてのSmartHRの従業員データの連携では技術的に難しい場合が発生してきます。
       
      2つ目の困難な問題の要因の1つが、「SmartHRのカスタム項目のデータ構造に、ETLサービスが対応できているかどうか」です。SmartHRには人事労務管理システムとして、非常に広範で詳細な標準項目が備わっています。それに加えて、「カスタム従業員項目」という柔軟な機能を提供しており、各企業固有の情報を自由に管理することができます。
       
      この便利なカスタム項目なのですが、APIからの取得データでは、標準項目とカスタム項目が別の形式となっており、カスタム項目はJSONという複雑な形式になってます。

       
      芳賀:システム設計としては合理的でも、汎用のETLサービスではそれに適合できるようになっているものは少ないということですね。
       
      田中:そうです。従来のETLサービスではカスタム項目1つ1つを個別のレコードとして管理していました。これにより、弊社の従業員規模だと、合計50万レコード以上となってしまい、従業員情報としては著しく大きなデータ量になっていました。
       
      これに加えて、3つ目の課題が重なってしまって、1時間に1回同期するという要件をクリアできなくなってしまっていました。
       
      芳賀:3点目の課題も続けて教えてください。
       
      田中:「差分データだけを連携する」ということが実現できませんでした。SmartHRのAPIでは、入社日や退職日といった条件指定はできるのですが、「いつ作成されたか」や「いつ最後に更新されたか」といった情報はAPI側で条件指定に使用できないのです。
       
      今回のような定期的な処理の実行では、データ転送量を抑えるために「前回の処理実行時からの変更データだけを連携させる」というのが一般的なのですが、それを実現するためには「最終更新日時が”前回実行日時”以降」という条件指定をしたいのですが、残念ながらそれを実現することができませんでした。

      Passworkで解決した3つの技術的課題とシステム構成

      芳賀:この3点をクリアできていた点がPassworkを選択していただいた理由ですね。Passworkは、ビジネスユーザーでETL連携設定が完結できるようにというコンセプトで構築をしており、そこがずばり効果的に効いたケースで弊社としてもとても嬉しいです。

      まず1点目の、クラウド環境から御社のAWSのPostgreSQL環境へのデータ連携ですが、こちらは当初から、このようなニーズに対応できるように構成をしています。お客様ごとに専用のバッチ処理実行環境を用意しており、VPCピアリング接続を用いてセキュアに貴社と弊社間のシステムを連携しています。
       
      これにより、インターネットに直接接続されていないAWS内のPostgreSQLに対してもセキュアに接続して、データ更新を実現することができました。

      田中:ネットワーク構成を検討する際にも、とてもスムーズに設計していただけました。

      芳賀:ありがとうございます。当社は受託開発の事業を祖業として拡大をしてきており、VPNやVPCを活用したデータ連携も多く構築をしております。そのため、このような環境精査から設計までをスムーズに行える専門メンバーも多く在籍しておりますので、ご安心ください。
       
      田中:2点目と3点目のSmartHRのAPI固有の特徴に対してですが、管理画面からは特別な設定はしていないような気がするのですが、これはどうやって解決されているのですか?
       
      芳賀:ビジネスユーザーが自然に使えることを目指しています。可能な限り内部的なAPI仕様を隠蔽して、直感的な画面設定で完結できるように設計しています。
       
      SmartHRからのデータの取得に関しても、内部的な処理の実装により、カスタム項目も標準項目と同じようなデータ構成で取得できる、管理画面上からは、最終更新日時もフィルタ条件として指定できるように設定できる、というようにしています。
       
      今回は、現行のデータベースにデータをそのまま入れるようにしたため、先程説明いただいたカスタム項目1つが1レコードで入れるようにはしていますが、システムとしてはカスタム項目も従業員の標準項目と同じように扱えます。
       
      田中:なるほど。最終更新日時のフィルタはどうやっているのですか?
       
      芳賀:SmartHRのAPIでは最終更新日時はフィルタ条件には指定できないのですが、並び順(ソートキー)には指定できます。ですので、管理画面上で最終更新日時で指定された場合には、最終更新日時で並び替えて指定日時を超えた場合に処理を中断することにより、実質的に条件指定と同じことを実現しています。
       
      これを管理画面では内部処理を意識させずに指定できるようにしています。今回はSmartHRの例でしたが、他のSaaSシステムに関しても、このような設計で、コネクタや設定画面を構築しています。

      Praztoのプロフェッショナルサービスによる技術支援

      芳賀:弊社のプロフェッショナルサービスについてもご感想をお聞かせください。
       
      田中:もともと、Salesforceの新規導入でPraztoさんにはお世話になっていたこともあり、非常にスムーズにご対応をいただいている印象です。Salesforce導入支援をやられていることもあり、SalesforceをふくむSaaSの仕様やデータ連携に関しての知見はかなり高いと感じています。
       
      加えて、VPN、VPCなどのネットワーク、PostgreSQLなどのデータベースなどの話になった際にも、的確なメンバーがアサインされて話がスムーズに進むので非常に助かります。

      導入までの過程とネットワーク設計

      田中:導入までのスケジュールも非常にスムーズでした。まず要件整理から始まり、ネットワーク構成の設計、そしてPassworkの設定まで、1ヶ月間という短い期間で進めることができました。
       
      特にVPCピアリング接続の設定については、セキュリティ要件を満たしながらも効率的な接続を実現していただきました。
       
      芳賀: ありがとうございます。データ連携プロジェクトでは、技術的な課題解決だけでなく、お客様の既存システムとの親和性やセキュリティ要件への配慮が重要だと考えています。

      導入効果と差分データ連携の実現

      田中:これでSmartHRの従業員データの連携で差分データの抽出が可能となったので、今回の課題解決だけでなく、さまざまな応用が実現できそうです。
       
      現在は1時間に1回の自動連携により、急な勤務変更にも迅速に対応できるようになりました。以前は50万レコード規模のデータ処理が必要でしたが、差分データ連携により処理負荷も大幅に軽減されています。
       
      芳賀:今後皆様だけで柔軟に色々な箇所に適用できるというのが、ノーコードETLサービスのいいところですよね。

      今後の展望:SlackとSmartHRの統合活用

      芳賀:今後はどのような連携を考えているのでしょうか。
       
      田中:当社はSlackも全社的に使用しています。このSlackとSmartHRとで色々とやりたいことがあります。その手始めに、SmartHRの従業員データに、SlackのユーザーIDを結合したいです。これもできますよね。

      今後構築をしていくシステム構成

      芳賀:もちろん可能です。弊社のプロフェッショナルサービスと一緒に構築をさせてください。
       
      田中:これからもPassworkを活用して、業務効率化のご支援を継続してお願いしたいです。Passworkのノーコード設計により、今後は社内のビジネス部門でも柔軟にデータ連携を構築できそうです。
       
      芳賀:もちろんです。今後とも、引き続きよろしくお願い申し上げます。

      Passworkのサービスサイトはこちらから

      一覧トップへ戻る