Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

GCP

運用改善チームとして、月30時間の運用工数削減に取り組んだ話

初めまして。Sansan Engineering Unit Master Dataグループの上野です。 私たちMaster Dataグループでは、Sansanの各プロダクトで活用されるさまざまなデータの収集・提供を担うサービスを、複数のサブチームに分かれて開発・運用してきました。 しかし、活…

My Contribution to Go (Golang)

Hi, my name is Masanori Ikeda. Here, I’d like to introduce my contribution to Golang (hereinafter referred to as the “Go”). Developed Salesforce API Client in Go pkg.go.devI developed a Salesforce API Client in Go. This library includes al…

Dataformにおけるテーブル関数テストのベストプラクティス

こんにちは。Sansan EU Master Dataグループ所属の金子と申します。 桜花の候、皆さまはいかがお過ごしでしょうか。弊社本社オフィスがあるサクラステージからは、渋谷桜丘の綺麗な桜並木を一望できます。東京では桜が満開ですが、三寒四温とは言ったもので…

Dataformで同名テーブルを作る方法と単体テストの書き方

データ戦略部門のウチウゾウです。今月、地方拠点の開発体制強化施策の一環で、中部支店に異動してきました。今回は、Dataformで異なるデータセット、同名のテーブルを作成する方法について、単体テストの書き方も含めて紹介します。

【R&D DevOps通信】Google Compute Engine + GPUで動作するMLサービスの基盤を刷新した話(完結編)

技術本部 研究開発部 Architectグループの島です。 前回の記事の続きで、完結編です。Sansan内製の名刺OCRである「NineOCR」の基盤を改良します。 buildersbox.corp-sansan.com 筆が進まないまま前編から1年経ちそうで慌てて書いている次第ですが、そうこう…

セキュリティ重視のCloudSQLアクセス方法

Strategic Products Engineering Unit(SPEU)チーム所属で名刺メーカーのインフラを担当している川村です。営業DXサービス「Sansan」では、既存の社内インフラサービスを活用して名刺作成業務を効率化する名刺メーカーという機能があります。 sansan-meishi…

【R&D DevOps通信】Google Compute Engine + GPUで動作するMLサービスの基盤を刷新した話(技術選定編)

技術本部 研究開発部 Architectグループの島です。見習い12年目です。 今回は、当社のデータ化技術の粋である「NineOCR」について、そのインフラ・デプロイの基盤を刷新したお話をします。NineOCRに関しては、以下の記事などをご参照ください。 buildersbox.…

SendGridを活用したメールの送受信機能を開発した話

こんにちは、技術本部 Strategic Products Engineering Unit Order One Devグループの中塚です。 Order Oneの新機能としてメール連携機能をリリースしました。 受注専用アドレスがOrder Oneユーザに対して発行され、そのアドレスに対して注文メールを送信す…

【R&D DevOps通信】データ分析基盤の分析用メタデータ管理 -2. 実装-

こんにちは。研究開発部 Architectグループ データエンジニアの出相(デアイ)です。 本記事は Sansan Advent Calendar 2023 の23日目、および【R&D DevOps通信】の連載記事のひとつです。 データ分析基盤で分析をする際に必要となる分析用メタデータの管理・…

GCP のログを Amazon S3 へ集約する仕組みを作った話

こんにちは!技術本部情報セキュリティ部 CSIRT グループ所属の吉山です。 普段は社員の方々からのセキュリティに関する報告・相談の対応や、ログの収集・検知を行う SIEM 基盤の開発・運用などに向き合っています。 今回は、SIEM 基盤へ GCP の各サービスが…

全社横断データ基盤へdbt導入を進めている話

こんにちは。研究開発部 Architectグループの中村です。 本記事は Sansan Advent Calendar 2023 の16日目の記事です。 今回は、私達のチームで開発&運用している全社横断データ分析基盤のデータレイヤの再設計、及びdbtの導入を進めているという事例について…

全社横断データ基盤における部分的セルフサービス化への取り組み

研究開発部 Architect Groupの大澤秀一です。ブログ寄稿は約2年ぶりです。半年ぐらい前からランニングを始めて、先日フルマラソン完走してきました。おかげで足はボロボロです(笑)。 さて、私たちはBigQueryを中心とした、全社横断データ基盤(以下、デー…

Cloud Pub/Subにおけるペイロードラップ解除のローカル実行環境でハマったこと

はじめに こんにちは、技術本部 Bill One Engineering Unitの石川です。 Bill OneのComplicated Sub Systemチーム(通称Kombu)に所属していて、システム全体の課題を解決しつつメインでは請求書検索の改善に取り組んでいます。 本記事は Sansan Advent Calend…

Dataformの単体テストにおけるチームの取り組み

技術本部 データ戦略部の松本と申します。 最近は気温の変化が激しく、体調を崩しやすい日々が続いております。皆さんもお元気でお過ごしでしょうか。 そんな中ですが、今日はGoogle Cloud Platformで提供されている マネージドサービスのDataformについての…

GPT に PR レビューをやってもらうために試行錯誤した話

こんにちは。Strategic Products Engineering Unit の横山です。 本記事は Sansan Advent Calendar 2023 2日目の記事です。 adventar.org 現在私は Order One というプロダクトを開発しているのですが、そこでの取り組みとして GPT による PR レビューを Git…

TerraformによるAirbyteを利用したデータ基盤へのデータ連携とCI/CD

こんにちは!「Sansan Summer Internship 2023」でインターンをしていた野首侑作です(X, Facebook)。R&D Architectグループに1ヶ月強コミットしていました。今回のインターンで使った技術はこれまで全く触ったことがありませんしたが、チームメンバーのサ…

Google Cloud Next '23に参加しました — Application Developer編

こんにちは、技術本部Bill One Engineering Unitでインボイス管理サービス Bill One のアーキテクトを担当している加藤です。このたび、8/29〜31にサンフランシスコで開催されたGoogle Cloud Next ’23に参加したので、聴講したセッションの中から印象に残っ…

Vol.07 エラー運用フローのための Error Reporting 活用術

はじめに こんにちは。技術本部Bill One Engineering Unitの柳浦です。 BIll One ではGoogle CloudのError Reportingサービスにより、アプリケーションで発生したエラーを検知し、運用に活用しています。この記事では、Bill OneにおけるError Reportingの活…

Vol. 04 Cloud RunでCloud Trace以外のAPMを使う場合の一工夫

はじめに こんにちは、技術本部Bill One Engineering UnitでBill Oneのアーキテクトを担当している加藤です。最近までSREチームの一員として、Webアプリケーションのオブザーバビリティ1 向上に取り組んできました。開発チームの規模が拡大するなか、誰でも…

Google App Engine の dispatch.yaml を使ってモノリシックなサービスを簡単に分割してパフォーマンスを改善した話

技術本部 Digitization 部 Bill One Entry グループの山﨑です。インボイス管理サービス「Bill One」のデータ化を行うサービス Bill One Entry を開発するチームでエンジニアをやっています。 media.sansan-engineering.com

【R&D DevOps通信】Slack BoltとCloud Functionsでデータ基盤アクセス承認システムを開発

こんにちは。研究開発部 Architectグループにてデータエンジニアとしてデータ基盤の開発・運用を担当しているジャン(a.k.a jc)です。 直近の記事にてGoogleグループとIAMによるデータ基盤のアクセス制御方法を紹介しました。 buildersbox.corp-sansan.com 本…

【R&D DevOps通信】データ基盤におけるGoogleグループ・IAMによるアクセス制御

研究開発部 Architectグループにてデータエンジニアとしてデータ基盤の開発・運用を担当しているジャン(a.k.a jc)です。 データ基盤の構築はETL処理の実装やパイプラインの監視だけでなく、セキュリティ、データアクセス制御管理もデータエンジニアリングラ…

【R&D DevOps通信】Poetryでプライベートパッケージを扱う(GitHub, AWS CodeArtifact, GCP Artifact Registry)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマです。 追記(2022/11) Poetry 1.2で新たに追加された機能をプライベートパッ…

【R&D DevOps通信】Cloud ComposerのDAGでデータ基盤の転送パイプラインを監視

こんにちは。研究開発部 Architectグループにてデータエンジニアとしてデータ基盤の開発・運用を担当しているジャン(a.k.a jc)です。 4月1日に入社してから、全社横断データ基盤のCI/CD自動化、承認システムの実装、監視の強化やリファクタリングなどの業務…

【R&D DevOps通信】自社製OCRのキャッシュシステムについて

こんにちは、R&D Architect グループの八藤丸です。今回は自社製 OCR のキャッシュシステムを設計・実装するに当たって考えたことを紹介します。 同じグループの鈴木が最近 Cloud Composer を用いた転送パイプライン構築について過去の連載で紹介しているの…

【R&D DevOps通信】Cloud Composerを用いたデータ基盤の転送パイプライン構築

こんにちは。研究開発部でデータエンジニアをしている鈴木翔大です。 今回は【R&D DevOps通信】連載 9回目として、以前構築したデータ基盤の転送パイプラインについて書こうと思います。AWSのS3上に存在するデータをGCPのGCSに転送して、データのETL処理をし…

【R&D DevOps通信】CloudSQL(MySQL)で定期的にテーブル洗い替えをするシステムを構築したら思ったよりストレージが必要だった話

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に勤務しています。 今回はCloudSQL(MySQL)で定期的にテーブル洗い替えをするシステムを構築したら思ったよりストレージが必要でしたというテーマです。

【R&D DevOps通信】GCP App Engine(GAE)でDNS_PROBE_FINISHED_NXDOMAINが出て苦労した話

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 今回はGCP App Engine(GAE)でサービスのバージョンにアクセスするとDNS_PROBE_FINISHED_NXDOMAINが出てしまった話というテーマです。

【R&D DevOps通信】GCP Workflows を業務で使ってみた

こんにちは、研究開発部 Architect グループで DevOps エンジニアをやっている八藤丸です。 今回は【R&D DevOps通信】連載の4回目、データ同期システムを構築した際に利用した GCP の Workflows*1 について紹介します。同じグループの張が最近 GitHub Action…

【R&D DevOps通信】データ基盤におけるGitHub Actionsを使ったTerraformとCloud ComposerのCI/CD

こんにちは、今年4月にSansanにジョインしたジャン(a.k.a jc)です。研究開発部Architectグループにてデータエンジニアとしてデータ基盤の開発・保守を担当しています。 今回は【R&D DevOps通信】連載の3回目、データ基盤におけるGitHub Actionsを使ったTerra…

© Sansan, Inc.