Sansan Tech Blog

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

R&D, DevOps通信 の検索結果:

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

…チャンネル名に通知しています。以上で、同一モニタ内でのSlackチャンネル通知先の振り分け設定は完了となります。 おわりに Datadogは機能が多い分「これどうやるんだっけ?」と悩むことも多いと思います。 本ブログで少しでも参考になれば幸いです。次のブログでまた、お会いしましょう! 求人 私の所属するML Platformチームを含む、研究開発部Architectグループでは一緒に働く仲間を募集しています。R&D MLOps/DevOpsエンジニア / Sansan株式会社

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

…ラインを実装 まずはR&D独自で用意している Cookiecutterというテンプレート生成ツールでプロジェクトの雛形を作成します。 詳しくは以下の記事を参照してください。 buildersbox.corp-sansan.com 自動生成されたテンプレートを修正していき、以下のような処理を実現するパイプラインをつくっていきます。 Athena からSansan社員の名刺交換履歴を取得する 名刺交換履歴から共起行列を作る 共起行列からエッジリストを作る Node Embeddi…

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

…ていたため、事なきを得ましたが青ざめました。 詳細は別エントリーにしようと思います。 おわりに ブログを書いているうちに、EKSで1.26が使えるようになってしまいました。 2回目の更新が終わったらまた振り返りエントリーを書こうと思います。 求人 私の所属するML Platformチームを含む、研究開発部Architectグループでは一緒に働く仲間を募集しています。 R&D MLOps/DevOpsエンジニア / Sansan株式会社 *1:一時的に0.5vCPUメモリ4GB

【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:3…

【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…

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

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

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

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

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

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

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大会を開催しました

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

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

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

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

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

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

こんにちは、R&D Architectグループの辻田です。ECS on EC2のアーキテクチャでサービスを構築する機会があったので、そこで得た知見をTips形式でまとめたいと思います。 EC2 or Fargate ECSはEC2とFargateの2つの起動タイプをサポートしていますが、今回はサービスの背景やユースケースの観点からすべてのタスクをEC2で起動することになりました。 EC2 or Fargateはそれぞれメリットデメリットがあり、どちらが最適かはユースケースによ…

【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 Go…

【研究開発部の技術】第3回 名刺に特化した文字認識エンジン「NineOCR」

…書いたものです。 【R&D DevOps通信】自社製OCRのキャッシュシステムについて - Sansan Tech Blog NineOCRはGEES(弊社の名刺データ化システム)のフローの中で複数回呼ばれるので、結果をキャッシュして使い回すことで計算コストを抑えています。 NineOCRとMLOps 今後もNineOCRをさらに高精度化すべく、学習データ収集の効率化・継続的な性能監視を含めたMLOpsに取り組んでいます。 私は研究開発部のArchitectグループという、研…

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

…できればと思います。 求人情報 求人情報です。私達Architectグループは北海道、東京、名古屋、大阪にメンバーが点在しています。 R&D MLOps/DevOpsエンジニア / Sansan株式会社 *1:Kubernetes Release Cadence Change: Here’s What You Need To Know | Kubernetes *2:Sansan, Eight等。一つのプロダクトの中でサービス(APIやバッチ等)が複数動いているイメージです。

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

…しくお願いします。 R&D MLOps/DevOpsエンジニア / Sansan株式会社 *1:2022/10現在の最新は1.2.1ですね。 *2:もっと見たい場合はこちらを御覧ください。https://python-poetry.org/blog/announcing-poetry-1.2.0/ *3:デフォルトはhttps://pypi.org/です。 *4:PyPIを優先させたい時に使います。 *5:プライベートレポジトリからのみパッケージを探したい時に使います。 *6…

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

こんにちは、R&D Architectグループの辻田です。 とあるシステムのデータストアにAmazon DocumentDBを採用したので、その経緯やDocumentDBの特徴について紹介したいと思います。 DocumentDBを選定した経緯 今回保存したかったデータには以下のような特徴がありました。 主要となるテーブルは1つ 概念モデル間の依存は無し データ数は数十万ほど(今後増える可能性あり) Readの頻度:不定期でバッチで参照(今後サービスからリアルタイムで参照する可…

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

こんにちは、R&D Architectグループの藤岡です。今回は Step Functions(以下SFn) が実行途中で失敗した場合に、失敗した時点から再開できるような仕組みを実現したので、その内容について共有します。 背景と課題 今回、R&D内で稼働しているバッチの1つに関してシステムのリプレイスを行うことになりました。リプレイスを行う理由は主に以下の2つです。 バッチが途中で失敗した際の復旧作業が複雑になっていた。 バッチで処理するデータ量が増え、当初よりも実行時間が長…

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

…の運用が思った以上に便利でびっくりしました。 アナウンス 求人 私の所属するML Platformチームを含む、研究開発部Architectグループでは一緒に働く仲間を募集しています。最近募集の給与レンジが上がりました。私の所属する中部支社勤務も上がりましたのでオススメです。是非一緒に働きましょう。 R&D MLOps/DevOpsエンジニア / Sansan株式会社 *1:2022/08/15現在β版です。 *2:オーガニゼーションシークレットに入れておくと管理しやすいです

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

…しました。 今回は【R&D DevOps通信】連載の11回目、弊チームの鈴木が紹介してくれた「Cloud Composerを用いたデータ基盤の転送パイプライン構築」 buildersbox.corp-sansan.com の続編として、データ基盤の監視について紹介しようと思います。 背景 全社横断データ基盤の開発のみならず、運用・保守も担当している弊チームは日々さまざまな障害と向き合っています。データ基盤の品質・信頼性を担保し、問題が発生した場合、一刻も早く問題を特定して対応…

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

こんにちは、R&D Architect グループの八藤丸です。今回は自社製 OCR のキャッシュシステムを設計・実装するに当たって考えたことを紹介します。 同じグループの鈴木が最近 Cloud Composer を用いた転送パイプライン構築について過去の連載で紹介しているので、ぜひご覧ください。 buildersbox.corp-sansan.com 背景 多少簡略化していますが、キャッシュシステムを含む自社製 OCR の構成は以下のようになっています。 キャッシュシステム構…

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

…翔大です。 今回は【R&D DevOps通信】連載 9回目として、以前構築したデータ基盤の転送パイプラインについて書こうと思います。AWSのS3上に存在するデータをGCPのGCSに転送して、データのETL処理をしながらBigQueryのネイティブテーブルに同期するような仕組みです。この一連の処理の流れ(パイプライン)をCloud Composer上で管理・運用する方法について紹介します。 背景 Sansanが持っているデータは非常に大規模で、かつ機密性が高いデータも含まれてい…

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

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

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

こんにちは、R&D Architectグループの辻田です。 今回はカスタムメトリクスを使ってターゲット追跡スケーリングを行い、費用の無駄が少ない最適なスケーリングの実現に取り組んだ内容を紹介します。 カスタムメトリクスはSQSキューのメッセージ数とオートスケーリンググループ内のインスタンス数から算出した値で発行します。 大まかな流れはAWSのドキュメントで紹介されている通りです。下記アーキテクチャに加えて、カスタムメトリクスの発行にはLambda+EventBridgeを使用…

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

…緒に働きましょう。 R&D MLOps/DevOpsエンジニア / Sansan株式会社 *1:次リンクのservice項目に書いてあります。https://cloud.google.com/appengine/docs/standard/go/config/appref#runtime_and_app_elements *2:gcloudコマンドを利用する場合は--no-promoteをプションをつけると自動でトラフィックが移行しません。 https://cloud.goo…

【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 + Lambdaを使用してログをETL処理し、S3へ出力したデータをAthenaテーブルに読み込み、Redashからクエリできるような仕組みです。…

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

…藤丸です。 今回は【R&D DevOps通信】連載の4回目、データ同期システムを構築した際に利用した GCP の Workflows*1 について紹介します。同じグループの張が最近 GitHub Actions についての取り組みを過去の連載で紹介しているので、ぜひご覧ください。 buildersbox.corp-sansan.com 背景 他グループ管轄の BigQuery*2 のデータを新たに作成した研究開発部用の Cloud SQL に定期的に同期するシステムを Wor…

© Sansan, Inc.