Sansan Tech Blog

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

AWS

インボイス管理サービス「Bill One」の認証を内製認証基盤に置き換えて認証基盤のコストを削減した話

Bill One Engineering Unit 共通認証基盤チームの樋口です。 Bill Oneでは昨年までAuth0を認証基盤として利用してきましたが、認証基盤を内製化することでコストを大幅に削減しました。 この認証基盤は、昨年12月に無事リリースされ、Bill Oneの認証を支えて…

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

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

Firehoseを介したS3への中間データ保管と検索性強化

はじめに こんにちは、研究開発部 Architectグループの辻田です。 SansanではユーザーフィードバックがSlackのフィードバックチャンネルに集まります。研究開発部ではこれらからモデルやアルゴリズムなどの改善をしています。 そのため、より多くのフィード…

Eightのデータ抽出基盤をサーバーレスで作る際に工夫したこと

こんにちは、Eight Engineering Unitの井上です。 Eightのデータ抽出基盤である Data Management Platform(以下、DMP)の開発を担当しています。 はじめに Eightは330万人を超えるユーザーにご利用いただいており、お預かりしているデータ量も日々多くなっ…

AWS Glueを使ってバッチ処理を60倍高速化した話

初めまして、技術本部Digitization部データ化グループ所属の高田です。 今回はAWS GlueのJobを使ってバッチ処理を60倍高速化した話をします。 この記事は以下の内容を共有しています。 AWS Glueの概要とメリット Apache Sparkの概要とメリット Pythonを使っ…

re:invent 2023参加報告: Amazon Aurora Limitless Database

Sansan Engineering Unit Infrastructure グループの落合と申します。 こちらのSansan Tech Blogは初投稿となります。コロナ禍以降、カンファレンスはオンラインで見られるのが普通になり海外イベントに現地参加することはもうなくなるのだろうな、とばかり…

Platformのエンジニアが行くAWS re:Invent 2023 - EKSで実現するマルチテナントSaaS編

こんにちは、技術本部研究開発部 ML Platformチームの神林です。前回はEKSのBreakout Sessionの中で気になる一部分を掘り下げてみました。 buildersbox.corp-sansan.com AWS re:Invent 2023も無事に終わりました。開催中にもう何個か記事を書きたかったので…

インフラエンジニアがre:Invent 2023に参加して面白かったセッション4選

Sansan Engineering Unit Infrastucture グループの藤田です。先日開催された AWS re:invent 2023 に参加してきました。今回はその中で聴講したセッションの中から特に印象に残ったものを紹介します。

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

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

Platformのエンジニアが行くAWS re:Invent 2023 - Pod Identity編

こんにちは、技術本部研究開発部 ML Platformチームの神林です。前回は技術とは関係ないULパッキングの記事を書きました。あまりにも関係なさすぎたので、今回は技術の方に振り戻そうと思います。 buildersbox.corp-sansan.com AWS re:Invent 2023も後半戦と…

Platformのエンジニアが行くAWS re:Invent 2023 UL海外出張 準備編

こんにちは、技術本部研究開発部 ML Platformの神林です。ML PlatformチームではCircuitというアプリケーション基盤を作っています。 さて、今年もアメリカのラスベガスで開催されるAWS re:Inventの時期がやってきました。私も社内で声をかけてもらったので…

Slackアプリで勤怠を申請できるようにしました

こんにちは、コーポレートシステム部 Corporate ITグループのあおしょーこと青松です。 普段はSREチームのDevOpsエンジニアとして社内の業務改善を担当しています。 ありがたいことに弊社では急成長とともに従業員も増えつつあるのですが、それと同時に社内…

自社OCRエンジン「NineOCR」の学習効率化のため SageMaker Training を導入した話

はじめに NineOCR とは NineOCR が抱える課題 Amazon SageMaker Training とは SageMaker Training の始め方 事前準備 AWS が提供しているコンテナイメージを拡張する方法 独自のコンテナイメージに SageMaker Training Toolkit をインストールする方法 スク…

【R&D DevOps通信】Amazon ECSのTips

こんにちは、R&D Architectグループの辻田です。ECS on EC2のアーキテクチャでサービスを構築する機会があったので、そこで得た知見をTips形式でまとめたいと思います。

【R&D DevOps通信】自社OCRエンジン「NineOCR」の学習効率化のためFeature Storeを導入した話

こんにちは。研究開発部 Architect グループの八藤丸です。 この記事では、先日プレスリリースが出た Sansan 独自の OCR エンジン「NineOCR」の学習に Feature Store を導入した経緯や、周辺技術の選定について書いていきます。 jp.corp-sansan.comNineOCR …

【R&D DevOps通信】アプリケーション基盤としてKubernetesを導入、そして周辺技術選定と運用設計

こんにちは。研究開発部Architectグループ、ML Platformチームの神林です。ML Platformチームは主に研究開発部の成果を最大化するための基盤開発を行っているチームです。この記事では、Kubernetes(EKS)を導入することになった経緯や、周辺技術の選定、運用…

【R&D DevOps通信】DocumentDBを導入した話

こんにちは、R&D Architectグループの辻田です。 とあるシステムのデータストアにAmazon DocumentDBを採用したので、その経緯やDocumentDBの特徴について紹介したいと思います。

【R&D DevOps通信】AWS Step Functions で失敗したステップから再開する方法

こんにちは、R&D Architectグループの藤岡です。今回は Step Functions(以下SFn) が実行途中で失敗した場合に、失敗した時点から再開できるような仕組みを実現したので、その内容について共有します。<2024/2/8追記> AWS公式で Step Functions の失敗し…

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

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

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

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

【R&D DevOps通信】SQSキューのメッセージ数とオートスケーリンググループのサイズに比例したオートスケーリングを行う

こんにちは、R&D Architectグループの辻田です。 今回はカスタムメトリクスを使ってターゲット追跡スケーリングを行い、費用の無駄が少ない最適なスケーリングの実現に取り組んだ内容を紹介します。 カスタムメトリクスはSQSキューのメッセージ数とオートス…

【R&D DevOps通信】Kinesis Data FirehoseでログをETL処理してRedashからクエリする

R&D Architectグループの辻田です。SBB*1 2回目の登場です。 今回は【R&D DevOps通信】連載の5回目として、Kinesis Data Firehoseを使用したログのETL処理について書こうと思います。 CloudWatch Logsサブスクリプションフィルタ + Kinesis Data Firehose + …

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

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

全社統合ログ基盤を構築して得た知見

こんにちは。CSIRT の吉山です。 私は2020年の4月にセキュリティエンジニアとして新卒入社し、現在は主にログ基盤(SIEM)の構築・運用やインシデント対応などの業務に取り組んでいます。 今回はそのログ基盤構築や運用、その他検証で得た知見などについて紹…

EC2インスタンスのデプロイを CodePipeline + CodeDeploy + CodeBuildで改善した話

はじめまして、技術本部 サービス開発部の上島です。 私はSansanのプロダクトの裏側でデータ統合の役割を担う「名寄せシステム」の開発に携わっています。今回は、その名寄せシステムのEC2で稼働しているRailsアプリのデプロイの仕組みを、CodePipeline+Code…

Engineering Team Presentation 第三弾「各社の事業を支えるインフラストラクチャ―」を開催しました

こんにちは、技術本部 Engineering Management部 技術ブランディンググループの相場です。7月に組織改編があり、所属名称が変わりましたが、これまでと変わらず(これまで以上に)、Sansanの技術関連について発信していきます!今回は先日開催した「Engineer…

非エンジニアがAWS認定クラウドプラクティショナーに挑戦してみた!

AWS

こんにちは。プロダクト戦略開発室 技術ブランディンググループの相場です。普段はCTO直下のチームで自社イベントの企画や技術イベントへの協賛、当ブログの運営などを担当しています。 エンジニア経験のない私が先日AWS認定クラウドプラクティショナーを取…

.NETなCDKで.NETなLambdaを自動デプロイしていく

はじめまして、今年の3月にSansan事業部プロダクト開発部にjoinしました辻田です。.NETは全くの未経験でしたが.NETエンジニアとして日々奮闘中です。 初投稿のこの記事ではわたしが趣味でちょくちょく触ってるAWS CDKについて書こうと思います。CDKの言語で…

AWS GlueでのETL処理チューニング

はじめに こんにちは!名古屋支店でEight事業部プロダクト部に所属する齊藤です。 Sansanに中途入社して2年目を迎えました。 普段はMeetsというサービスの開発・運用に携わっています。 meets.8card.net 今回人生で初めてビックデータを使った本格的なETL処…

CircleCI Orbが最高だった件

はじめに こんにちは, Sansan株式会社プロダクト開発部エンジニアの北見です.最近, 個人開発でCircleCIを使ったビルド&デプロイを構築することができました.構築過程で「CircleCI Orb」という機能を見つけたのですが, これが非常に有用だったので, 紹介させ…

© Sansan, Inc.