Sansan Tech Blog

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

devops通信 の検索結果:

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

技術本部 研究開発部 Architectグループの島です。見習い12年目です。 今回は、当社のデータ化技術の粋である「NineOCR」について、そのインフラ・デプロイの基盤を刷新したお話をします。NineOCRに関しては、以下の記事などをご参照ください。 buildersbox.corp-sansan.com ということで「NineOCR」をテーマに以下の2回に分けて記事にする予定です。今回は前編、技術選定の過程です。 前編: 技術選定の過程 後編: GCEにおけるサービスの…

チーム開発合宿 2024 in 徳島県神山町(技術編)

… 本記事は【R&D DevOps通信】という連載記事のひとつです。 背景 Sansan Labsで大きめのリリースを控えているため、それまでに障壁となる課題を短期間で改善することが目的です。通常はLabs開発に関わりのないメンバーも含めて、全員で集中して取り組むことで、効率的に課題を解決することがこの合宿に期待していることです。 期待される成果 Sansan Labsの全アプリケーションを、簡単かつ安全にリリースできる状態になっていることが期待される成果です。 タスクの消化量…

チーム開発合宿 2024 in 徳島県神山町(レポート編)

… 本記事は【R&D DevOps通信】という連載記事のひとつです。 開発合宿の概要 目的 今回の合宿の目的は以下の通りです。 チームメンバー変更に伴ってメンバーの親睦を深める Sansan Labsリリースの障壁となる多くの課題を短期間で改善する リモートワークが中心かつ、チームメンバーも東京と大阪にいるためなかなか全員が集まれる機会はありません。この1年間で新卒や中途のメンバーの加入もあり、オフラインで顔を合わせてチームの親睦を深めておきたいところでした。 そしてSansa…

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

…の記事は、【R&D DevOps通信】の連載記事のひとつです。 背景 フィードバック対応の手順は前任者がメモ程度に残したもので整備されておらず、手順自体も煩雑で属人性の高い作業になっていました。 具体的には、 フィードバック内容にある文字列からAthenaで検索 Athenaで特定したユニークIDを元にS3上の該当データを探す S3上のデータをダウンロードしてからローカルでデバッグする といった内容でした。また、S3のファイルは別チームが管理しており、データ連携が自動化されて…

2023アドベントカレンダーの社内LT大会の開催報告:技術とチキンでつながる一夜

…です。 「【R&D DevOps通信】データ分析基盤の分析用メタデータ管理 -2. 実装-」の内容を「メタデータとは何かをチキンを使って分かりやすく解説する」というユーモアを交えた内容でした。 メタデータの必要性がよくわかるスライドは以下です。 メタデータのある肉売り場の例 肉を買いに来たお客さん(ユーザ)が商品(データ)を選び、料理(データ活用)するという工程で、メタデータが無いと困ることがわかります。 例えば、消費期限がないと腐っているかどうかわかりません。 builde…

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

…目、および【R&D DevOps通信】の連載記事のひとつです。 データ分析基盤で分析をする際に必要となる分析用メタデータの管理・運用についての取り組みを連載にて紹介します。 2回目となる今回は、分析用メタデータをスプレッドシートでどう管理しているか実装面を中心に書いていきます。 なお初回の記事では、分析用メタデータについて・管理を実現するための方法検討・決定において取り組んだことを書きましたのでよろしければご覧ください。 buildersbox.corp-sansan.com…

Knative ServingをKustomizeでPatchStrategicMergeしたい!

…目、および【R&D DevOps通信】の連載記事のひとつです。 adventar.org 普段の業務では Circuit という Kubernetes を利用したアプリケーション基盤を作っています。 Circuitは研究開発部の研究成果を最速でリリースすることを目的に開発運用しています。 研究員はアプリケーションの開発と、テンプレートを元にしたマニフェストの記述をするだけで、誰でも簡単にアプリケーションのデプロイできる仕組みを実現しています。 speakerdeck.com …

Helmを使用せずにKustomizeでAirbyteをKubernetes上に構築する

…目、および【R&D DevOps通信】の連載記事のひとつです。 adventar.org 今年6月にData DirectionチームからML Platformチームに異動し、全社横断データ基盤の開発から離れて、研究開発部内のアプリケーション基盤「Circuit」の開発に従事しています。 研究開発部の2大基盤に関する知見を有していることを誇りに思っています。 全社横断データ基盤 全社横断データ基盤とは、2022年に研究開発部で導入した全社のデータ意思決定を支えるデータ基盤です…

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

こんにちは。研究開発部 Architectグループの中村です。 本記事は Sansan Advent Calendar 2023 の16日目の記事です。 今回は、私達のチームで開発&運用している全社横断データ分析基盤のデータレイヤの再設計、及びdbtの導入を進めているという事例について紹介します。 既存のデータ基盤に対して、dbtの導入を検討されている方の参考になれば幸いです。 (本稿ではdbtとはについては触れませんので、ご了承ください)

【GitHub Actions】reviewdog + reusable workflows によるCI/CD共通化

…す。および【R&D DevOps通信】の連載記事のひとつです。 こんにちは、研究開発部 Architectグループの藤岡です。 今回は部で運用しているCI/CDに関する取り組みについてお話しします。共通化のノウハウや、どういった種類のCI/CDを導入してコード品質を担保しているかといった話をしたいと思います。 そのまま使える実装例もあるので、是非参考にしてみてください。 目次 目次 CI/CD共通化 reviewdog による Pull Request へのコメント 導入して…

1年間の挑戦と成長:チームビルディングの舞台裏

…目、および【R&D DevOps通信】の連載記事のひとつです。 こんにちは、研究開発部 Architectグループの辻田です。去年の12月頃にランニングを始めて早1年、年間の走行距離は2114kmとなりました。 フルマラソンデビュー戦では4時間9分で無事に完走できました。来年は4時間切りを達成したいです。 そんなことはさておきこの1年間、私たちのチームは挑戦と協力の中でさまざまなチームビルディング施策に取り組みました。この記事では、具体的な取り組みである「チームラーニング」「…

NineOCR の最近と今後

本記事は Sansan Advent Calendar 2023 第9日目の記事です。 adventar.org はじめに こんにちは、研究開発部の内田です。 みなさん師走はどうお過ごしでしょうか。 私は先日Jリーグを見に行きまして、その試合で見事、東京ヴェルディが昇格を決めました。 16年ぶりにJ1復帰ということで、その間の苦しんでいた時期を思い返すと、未だにじーんと来るものがあります。 来年からは次のフェーズへと歩を進め、より強いクラブへと進化していって欲しいものです。 …

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

…ださい。 【R&D DevOps通信】データ基盤におけるGoogleグループ・IAMによるアクセス制御 - Sansan Tech Blog 利用部門用のGCPプロジェクト データ基盤構築の初期段階から、データ基盤を利用する部門ごとに作成したGCPプロジェクト(以下、部門用プロジェクト)があります。データ基盤本体と部門用プロジェクトを分けた理由は次の2点です。 BigQueryのスロットを利用部門ごとに割り当てできる コスト按分が容易になる 今回の構成では、部門用プロジェクト…

【R&D DevOps通信】DatadogでKubernetesのNamespaceごとに通知先を振り分る

こんにちは、研究開発部 Architectグループ ML Platformチームに所属の宮地です。 23卒の新卒として入社し、少しづつ業務に慣れてきた今日このごろです。 業務内では主に研究開発部のKubernetes基盤であるcircuitと向き合いながら、研究開発部のDevOpsを推進しています。 以下、circuitの詳細ブログです。 buildersbox.corp-sansan.com本ブログは、circuitの監視用Datadogの改善を行った際の一部です。 アラー…

2023年 研究開発部 新卒技術研修 ~ 実践編 ~

こんにちは、研究開発部 Architectグループの藤岡です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行ったので、その内容を公開します。

【R&D DevOps通信】初めてのEKS Kubernetesバージョン更新を振り返る

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋にある中部支店に所属しています。 先日、研究開発部内のEKSクラスタのKubernetesのバージョン更新とその振り返りを行いました。 バージョン更新で起きた出来事と思い出を記します。

【R&D DevOps通信】チーム開発合宿 in 徳島県神山町

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 目次 目次 開発合宿の概要 目的 日程/スケジュール 場所 1日目 移動(-12:00) お昼ごはん(12:00-13:00) チェックイン(13:00-13:30) 開発(13:30-18:30) ご飯や風呂、自由時間(18:30-) 2日目 開発(9:30-12:00) お昼ごはん(12:00-13:00) 開発(13:00-18:30) ご飯や風呂、自由時間(18:30-) 3日目 開発(9:30-13…

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

…います。 【R&D DevOps通信】データ基盤におけるGitHub Actionsを使ったTerraformとCloud ComposerのCI/CD - Sansan Tech Blog 【R&D DevOps通信】Cloud Composerを用いたデータ基盤の転送パイプライン構築 - Sansan Tech Blog 【R&D DevOps通信】Cloud ComposerのDAGでデータ基盤の転送パイプラインを監視 - Sansan Tech Blog 【R&D D…

【R&D DevOps通信】研究開発部の.NET基盤をご紹介

技術本部 研究開発部 Architectグループの島です。本連載を最初2回*1*2だけ書いてとんずらしていましたが復活です。 今回は、研究開発部にて .NET 技術がどのように使われているか・何に取り組んできたかをご紹介したいと思います。 当社にはSansanなど.NET開発のメインストリームがある中で、研究開発部における.NET開発はそれらと交流がほぼなく、社内でも隠れた存在です。この記事は外部向けではあるものの、社内のほかの .NET エンジニアへの情報共有も兼ねています…

EKSのクラスタに追加のセキュリティーグループを導入してクラスタバージョン更新に備える

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 目次 目次 背景 研究開発部へのEKS導入 Blue/Greenデプロイによるクラスタのバージョン更新 クラスタごとに作られるクラスタセキュリティーグループ SecrurityGroupPolicyでPodごとのアクセス制限 解決したい課題 クラスタのバージョン更新のたびにSecurityGroupPolicyを書き換えたくない 解決策 追加のセキュリティーグループをSecurityGroupPolicyに紐…

Argo Rolloutsでプログレッシブデリバリを実現する

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 Argo Rolloutsについて 概要 RolloutsはKubernetes上でデプロイメントの管理と自動化を行うためのツールです。CI/CDパイプラインの自動化、ネイティブなKubernetesのリソースのデプロイメント戦略、プログレッシブデリバリなどの目的に使用されます。また、Argo CDやArgo Workflowと組み合わせることでより高度な自動化を実現することができます。 詳しくはドキュメント…

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

はじめに NineOCR とは NineOCR が抱える課題 Amazon SageMaker Training とは SageMaker Training の始め方 事前準備 AWS が提供しているコンテナイメージを拡張する方法 独自のコンテナイメージに SageMaker Training Toolkit をインストールする方法 スクラッチでコンテナイメージを作成する方法 まとめ 学習ジョブの実行 学習結果の確認 終わりに はじめに こんにちは、研究開発部の石井です。 本…

KubernetesのCronJobからJobを気軽に実行できるGitHub Actionsの仕組み

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 目次 目次 研究開発部とEKSの背景 CronJobの手動実行が必要になった経緯 GitHub ActionsからCronJobの手動実行ができる仕組み CronJobからJobを作成する方法 実装の方針 出来上がった仕組みの構成図 作成したワークフロー GitHub Actionsからkubectlを使うためのAWS側の設定 GitHub ActionsからJobを作成するためのKubernetes側の設定…

【Tech 道場 開催レポート】アドベントカレンダーLT大会を開催しました

…で作った 【R&D DevOps通信】データ分析基盤の分析用メタデータ管理 -1. 実現方法の検討- Slack絵文字の作成時に気をつけていること Cloud IdentityでGoogleグループからメンバーを追加・削除するGoogle Apps Scriptを書いた 会社からいただいた 1kg のすだちをどう楽しんだか、まとめ レスポンシブなクリスマスツリーの作り方 当日の感想 一番の感想は「色々な話を聞けて楽しかった!!」です。すだちの話、絵文字の話は肩の力を抜いて聞け…

GitHub ActionsでK8sのマニフェストを生成できるようにして開発リードタイムを改善する(後編)

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 目次 目次 作成したワークフロー 処理の流れ GitHub Appによるトークン取得 Cookiecutter GitHub Actinsからプルリクエスト作成 実装 cookicutterのオプションについて補足 Cookiecutterテンプレート管理に用いた理由 おわりに アナウンス 求人 作成したワークフロー 構成図 具体的なワークフロー 処理の流れ ユーザがパラメータを決めてGitHub Actio…

GitHub ActionsでK8sのマニフェストを生成できるようにして開発リードタイムを改善する(前編)

…、本記事は【R&D DevOps通信】という連載記事のひとつです。 目次 目次 背景 研究開発部の研究員とArchitectグループ Kubernetes(EKS)を導入 動機 Circuitでボトルネックを解消し開発リードタイムを改善したい いきなりマニフェストを書けと言われても辛い 取り組み Github Actionsでマニフェスト生成とPR作成 社内勉強会で紹介 効果 Sansan Labs開発が爆速に おわりに アナウンス 求人 背景 研究開発部の研究員とArchi…

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

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

【R&D DevOps通信】データ分析基盤の分析用メタデータ管理 -1. 実現方法の検討-

本記事は Sansan Advent Calendar 2022 10日目の記事です。 adventar.orgこんにちは。研究開発部 Architectグループ データエンジニアの出相(デアイ)です。 データ分析基盤で分析をする際に必要となる分析用メタデータの管理・運用についての取り組みを連載にて紹介します。 初回は、分析用メタデータについての紹介と、管理を実現するための方法検討・決定において取り組んだことを書いていきます。

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

…けです。 【R&D DevOps通信】自社製OCRのキャッシュシステムについて - Sansan Tech Blog Feature Storeは、3の解決策に当たる機械学習モデルの特徴量を保存、共有、管理するための基盤になります。学習は一度実行して必ず期待通りのモデルが出来上がるものではなく、諸々条件を微調整しながら、何回も繰り返して行う必要があるのですが、微調整する条件の一つに何を学習データとするかというところがあり、一つの実験ごとに欲しいデータを数日かけて作成して、その…

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

…います。 【R&D DevOps通信】データ基盤におけるGitHub Actionsを使ったTerraformとCloud ComposerのCI/CD - Sansan Tech Blog 【R&D DevOps通信】Cloud Composerを用いたデータ基盤の転送パイプライン構築 - Sansan Tech Blog 【R&D DevOps通信】Cloud ComposerのDAGでデータ基盤の転送パイプラインを監視 - Sansan Tech Blog Google…

© Sansan, Inc.