Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
batchの人気記事 47件 - はてなブックマーク
[go: Go Back, main page]

並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 47件

新着順 人気順

batchの検索結果1 - 40 件 / 47件

batchに関するエントリは47件あります。 aws設計バッチ などが関連タグです。 人気エントリには 『バッチ処理 プラクティス』などがあります。
  • バッチ処理 プラクティス

    バッチ処理は既に先人の方々が多くのナレッジを公開してくれていますが、それでもなお難しさが変わらないテーマだと思っています。 この記事は、筆者がこれまでの開発経験で気づいたバッチ処理の実装ナレッジを整理し、体系化を目指して文章にしました。 ここでの内容が、より良い課題解決に貢献できれば幸いです。 自身の断片的な思考整理(メモ書き)の延長で内容を整理したため、一部書き振りが統一されておらず、読みにくいかもしれません。ご了承ください。🙏 バッチ処理の難しさバッチ処理は難しい。 人によっては簡単なテーマかもしれませんが、自分は難しいテーマだと思っています。 「難しさの根源は何か?」を考えると、1. 考慮点が多様にあること 2. 解決する課題によって答えが大きく変わること に整理できました。 この2点は、どのソフトウェア開発にも当てはまる項目ではありますが、ことバッチ処理においては顕著に現れます。

      バッチ処理 プラクティス
    • なぜcronからsystemd timerへ移行しているのか?歴史と設計思想から理解する

      この時代において cron は、軽量・シンプル・依存関係なしという 非常に優れた設計でした。 cron の「通知」はログではなくメール cron は「ログを溜める」より「異常を通知する」発想でした。典型的には stdout/stderr をメールで送るのが当時の設計です。 2. crontab の何が問題だったか? cron は長年使われてきましたが、現代のサーバ運用では次の問題が顕在化しました。 問題① 実行されたか分からない(状態がない) cron には「実行履歴」という概念がありません。 成功したか? 実行されたか? 何秒かかったか? これらを OS 側で追跡しません。 問題② ログが自動で残らない(可観測性が低い) cron は標準でログを「保存」しません。 そのため実務ではよく次のようになります。 出力先は人力 ローテーションも自前 失敗検知も自作 運用が属人化しやすいのが問題で

        なぜcronからsystemd timerへ移行しているのか?歴史と設計思想から理解する
      • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG

        こんにちは。MA部の田島です。 弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。本記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。 バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。 開発ガイドラインについての紹介 冒頭でも紹介した通り弊社では、開発ガイドラインというものを用いてシステムの品質を担保しています。バッチ開発ガイドラインを紹介する前に、まず開発ガイドラインを紹介します。 開発ガイドラインの種類 開発ガイドラインは現在、以下の種類が存在します。 共通 Android iOS Frontend Backend Infra API Batch DB(Datab

          大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
        • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

          こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

            データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
          • アーキテクチャ設計ガイドライン

            フューチャー株式会社の有志が作成する良いアーキテクチャを実現するための設計ガイドライン

            • AWSでバッチ処理を実装する際の選択肢とサービス比較

              処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー

                AWSでバッチ処理を実装する際の選択肢とサービス比較
              • バッチ設計ガイドライン

                免責事項 有志で作成したドキュメントである。フューチャーには多様なプロジェクトが存在し、それぞれの状況に合わせて工夫された開発プロセスや高度な開発支援環境が存在する。本ガイドラインはフューチャーの全ての部署/プロジェクトで適用されているわけではなく、有志が観点を持ち寄って新たに整理したものである相容れない部分があればその領域を書き換えて利用することを想定している。プロジェクト固有の背景や要件への配慮は、ガイドライン利用者が最終的に判断すること。本ガイドラインに必ず従うことは求めておらず、設計案の提示と、それらの評価観点を利用者に提供することを主目的としている掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社は一切の責務を負わないものとする。掲載している情報は予告なく変更する場合がある はじめに ​バッチ処理とは、大量のデータを一括で処理するための手法であ

                • バッチ設計ガイドラインを公開しました | フューチャー技術ブログ

                  はじめにこんにちは。TIG(Technology Innovation Group)の本田です。 フューチャー社内の有志メンバーでバッチ設計ガイドラインを作成し、公開しました。 本記事ではガイドラインの作成の経緯や想いなどを簡単に紹介します。 本ガイドラインの対象読者本ガイドラインは、以下のような方を主な読者として想定しています。 バッチ開発を行う初学者 バッチ処理を含むシステム設計を行う人 自身のメイン領域はバッチ処理ではないがバッチ処理設計の勘所を知っておきたい人 特に初学者の方はジョブ設計の章だけでも読んでいただくことをオススメします。バッチ処理のプログラムを実装する上で留意するべき冪等性や性能といったポイントが紹介されています。 本ガイドラインの作成経緯フューチャーでは様々な規模のシステムを構築しており、その中には多種多様なバッチ処理も含まれます。 cronのようなシンプルなスケジ

                    バッチ設計ガイドラインを公開しました | フューチャー技術ブログ
                  • 66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog

                    はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります

                      66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog
                    • AWS でバッチ処理・定期実行する4つの方法(EC2,EventBridge,SQS,ECS,Lambda)

                      AWS上でバッチ処理を行う場合に、 どのAWSサービスが選択肢として考えられるかどのAWSサービスを選択すればいいのかについて考えていきます。 AWSでバッチ処理・定期実行する方法を4つ紹介し、それぞれ特徴やメリットとデメリットがありますので、この点について記載していきます。 バッチ処理・定期実行方式のパターンと特徴を知って適切な手段を選択しよう!という記事です。 まずはどのような構築方法があるかについて記載していきます。

                        AWS でバッチ処理・定期実行する4つの方法(EC2,EventBridge,SQS,ECS,Lambda)
                      • バッチシステムをクラウドネイティブにするために考えたこと

                        Cloud Native Days Tokyo 2022 Session: https://event.cloudnativedays.jp/cndt2022/talks/1518

                          バッチシステムをクラウドネイティブにするために考えたこと
                        • AWSサーバーレスバッチ処理アーキテクチャの構築 | Amazon Web Services

                          Amazon Web Services ブログ AWSサーバーレスバッチ処理アーキテクチャの構築 この投稿は、AWSソリューションアーキテクトであるReagan RosarioとWWPSソリューションアーキテクトであるMark Curtisによって書かれました。バッチ処理は多くの組織にとって基礎となるもので、大量の情報を効率的に自動化した形で処理することができます。ユースケースとしては、ファイル取り込み処理、キューベースの処理、トランザクションジョブ、さらに重いデータ処理のジョブなど、多岐にわたります。 この記事では、ファイル取り込み処理を実装するためのバッチ処理を、サーバーレスに実現するための方法を説明していきます。今回の例では、オーケストレーションにAWS Step Functions、オンデマンドのコンピューティングにAWS Lambda、データストアにAmazon S3、メールの送

                            AWSサーバーレスバッチ処理アーキテクチャの構築 | Amazon Web Services
                          • 【AWS】大規模なバッチ処理を支える技術選定

                            ここから、表で挙げた内容をそれぞれ解説していきます。 構築難度に関しては、関数を実装するだけで済むLambdaが最も簡単で、バッチ専用に特化されたサービスであるBatchに関しては比較的バッチ構築はしやすい印象ですが、ECSに関してはバッチに特化していないため、バッチ処理を行うようにカスタマイズする必要があります。 タイムアウト制約に関して留意すべきは、Lambdaの実行時間は15分までなので、それ以上を超える処理時間のバッチは実装できないことです。 起動•実行上のオーバーヘッドに関しては、Lambdaにはコールドスタートがあるため起動時にオーバーヘッドを考える必要があり、Batchではジョブをキューに送信して、最適化のために、ある程度のジョブがキューイングしてから実行しようするので、即時性を求める処理には不向きです。 既存バッチを移行したいケースがあると思いますが、Lambdaで動かせる

                              【AWS】大規模なバッチ処理を支える技術選定
                            • Fargateの運用 ~デプロイ自動化や監視等~

                              初めてFargateを触ったので、運用保守の観点で構築時に設定しておいた方が良いポイントをまとめました。 デプロイの自動化と書いているのにデプロイの話薄めになってしまいました…。 こちらはJAWS-UG朝会 #28で発表したものになります。

                                Fargateの運用 ~デプロイ自動化や監視等~
                              • AWS Batch ベストプラクティスまとめ | Amazon Web Services

                                Amazon Web Services ブログ AWS Batch ベストプラクティスまとめ この記事はプリンシパル HPC ソリューションアーキテクトの Pierre-Yves Aquilanti、AWS Batch のプリンシパルプロダクトマネージャの Steve Kendrex とプリンシパル HPC アプリケーションエンジニアの Matt Koop によるものです。 更新: 2021 年 10 月 5 日 セクション 2 に於けるサブネット CIDR ブロックのガイドラインを修正。 AWS Batch は、科学者や技術者が複雑なシステム構成を管理する必要なく、自由にスケールできる計算環境を提供するサービスです。2017 年に登場して以来、疫学、ゲームシミュレーション、大規模機械学習といった諸々のワークロードを稼動させる様々な業種や組織といったお客様に採用されてきました。 この投稿で

                                  AWS Batch ベストプラクティスまとめ | Amazon Web Services
                                • EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers

                                  概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 で登壇されたときの資料をお借りします。 ご覧の通り、大体のサービスはマネージド化していましたがバッチ基盤だけは旧来のままEC2インスタンスを利用していました。 10年モノのサービスのインフラを漸進的

                                    EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers
                                  • バッチ処理における冪等性の検討 ─ クラウドネイティブもしくは、はてなダイアリーの自動移行を題材に - Hatena Developer Blog

                                    アプリケーションエンジニアのid:tkzwtksです。今回はバッチ処理の冪等性(べきとうせい、idempotence)について、どう考えるか/考えてきたかをご紹介します。 このエントリを書くきっかけとなったのは、はてなエンジニア有志で定期的に開催しているCloudNative推進会です。ここでは、社内のシステムをクラウドネイティブにしていくため「クラウドネイティブなシステムとはどういうものか?」を考えており、この会での「クラウドネイティブなバッチ処理」の議論も踏まえつつ説明していきます。 バッチ処理における冪等性とは メッセージ送信の信頼性を考慮する クラウドネイティブで可用性を高めるために どのような場合に冪等性を考慮すべきか 冪等な実装における3つのケーススタディ ケース1: n分前までに更新されたレコードを集計する ケース2: DB上の対象レコードを更新する ケース3: 対象ユーザー

                                      バッチ処理における冪等性の検討 ─ クラウドネイティブもしくは、はてなダイアリーの自動移行を題材に - Hatena Developer Blog
                                    • 入門Kueue 〜KubernetesのBatchワークロード最前線〜 | gihyo.jp

                                      こんにちは、CyberAgentの岩井佑樹(@tenzen-y)です。連載「5分でわかる!Kubernetes/CloudNative」の第3回では、Kubernetes上でのBatchワークロードの扱いに触れた後、Kubernetes NativeなJob Queueing基盤を実現するためのOSSである、Kueueについて紹介します。また本記事で紹介するKueueは、記事執筆時点の最新バージョンであるv0.2.1です。 KubernetesとBatchワークロード Kubernetesではこれまで標準機能として、ロードバランシングやローリングアップデートなどのServiceワークロードのための機能や、Container Storage Interface(CSI)、Container Object Storage Interface(COSI)、Storage Capacity Tra

                                        入門Kueue 〜KubernetesのBatchワークロード最前線〜 | gihyo.jp
                                      • 次世代のワークフロー管理ツールPrefectでMLワークフローを構築する CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ

                                        ※ DynalystではAWSを全面的に採用しているため、AirflowもManaged版を調査しています。 導入後の状態 Prefect導入後は、以下の構成となりました。 ポイントは以下の点です。 ワークフローをDocker Image化することで、開発・本番環境の差を軽減 staging・productionはECS Taskとしてワークフローを実行、開発ではローカルPC上でコンテナ実行 ML基盤のGitHubレポジトリへのマージで、最新ワークフローが管理画面であるPrefect Cloudへデプロイ 従来のyamlベースのdigdagから、DSに馴染み深いPythonベースのPrefectに移行したことで、コード量が減り開発負荷が軽減しました。 Prefect 入門 ~ 基礎 ~ 注意: 本記事ではPrefect 1系を扱います。Prefect 2系が2022年7月にリリースされてい

                                          次世代のワークフロー管理ツールPrefectでMLワークフローを構築する CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
                                        • 形態素解析を行うだけのバッチをつくる - クックパッド開発者ブログ

                                          研究開発部の原島です。今日は表題の渋いバッチをつくった話をします。 あっちでも形態素解析、こっちでも形態素解析 みなさん、形態素解析してますか?してますよね?クックパッドでもさまざまなプロジェクトで形態素解析をしています。 いや、むしろ、しすぎです。プロジェクト A でレシピを解析し、プロジェクト B でもレシピを解析し、プロジェクト C でもレシピを解析し、... といった具合です。ちなみに、形態素解析(の結果)が必要なプロジェクトとしてはレシピの分類やレコメンド、各種分散表現(e.g., word2vec)や BERT の学習などがあります。 もちろん、最終的に得たい解析結果が違うのであれば問題ありません。しかし、私が見たかぎり、ほとんどの場合は同じ(もしくは、同じにできそう)でした。であれば、 解析器をインストール(→ Dockerfile を試行錯誤) 解析対象を取得(→ SQL

                                            形態素解析を行うだけのバッチをつくる - クックパッド開発者ブログ
                                          • AWS GlueからAWS Batchにしたことで費用を75%削減した - Classi開発者ブログ

                                            こんにちは、最近データエンジニア業を多くやっているデータサイエンティストの白瀧です。 これまでClassiのデータ基盤は、Reverse ETLをしたり監視システムを導入したりとさまざまな進化をしてきました。しかし、Classiプロダクトが発展するとともにデータ量が増加し、これまでのデータ基盤では耐えられない状態に近づいてきました。 そこでデータ基盤の一部(DBからのExportを担う部分)のリアーキテクチャを実施したので、この記事で紹介したいと思います。 概要 Classiのデータ基盤では、Amazon RDSからAmazon S3へJSONで出力し、その後GCS→BigQueryという流れでデータを送り、BigQueryからもBIツールやReverse ETLなどで使っています。詳細は、Classiのデータ分析基盤であるソクラテスの紹介 - Classi開発者ブログを参照してください。

                                              AWS GlueからAWS Batchにしたことで費用を75%削減した - Classi開発者ブログ
                                            • Cron→Rundeckに乗り換えた話 - MonotaRO Tech Blog

                                              こんにちは。MonotaROで商品管理や受発注システムの開発を担当している中尾です。 この度、これまでcronで実行していたジョブに対してRundeckを導入し、ジョブのスケジュール管理を効率化することができましたので、導入にあたって苦労した点とその解消方法を中心に紹介いたします。 Rundeck導入の背景 Cronの限界を感じた 過去にも導入しようとしたが・・・ Rundeck導入において苦労した点 Rundeckが落ちた場合の対応の検討 GitでのRundeckジョブのバージョン管理 導入してよかったこと 複数のサーバーに跨ってジョブフローが組めること Cron式が使えること 重複起動制御ができること まとめ Rundeck導入の背景 Cronの限界を感じた MonotaROでは「注文を倉庫に連携する」、「商品の発注を自動で行う」といった様々なバッチ処理が、細かいものも含めると1日数千

                                                Cron→Rundeckに乗り換えた話 - MonotaRO Tech Blog
                                              • 入社4ヶ月目で73時間かかるバッチ処理を7倍以上高速化した話 - エムスリーテックブログ

                                                こんにちは。エンジニアリンググループの武井です。 私は現在、デジカルチームに所属し、クラウド電子カルテ、エムスリーデジカルの開発に携わっています。 昨年夏にエムスリーに入社し、早くも半年が経過しました。 digikar.co.jp この記事では、私が入社してから4ヶ月目に取り組んだ、バッチ処理の運用改善について振り返ります。 特に、新しくチームに加わったメンバーとして意識した点に焦点を当ててみたいと思います。 これから新しいチームに参加する方の参考になれば幸いです。 改善したバッチ 現状の正確な理解 現状に馴染む技術選定 自分なりの+αを加える 改善の結果 We're hiring 改善したバッチ 今回の改善対象は、特定の医療機関に紐づく全患者の全カルテをPDFファイルとして出力する、というバッチです。 デジカルのデータを医療機関側にエクスポートする用途で使われています。 移行前のアーキテ

                                                  入社4ヶ月目で73時間かかるバッチ処理を7倍以上高速化した話 - エムスリーテックブログ
                                                • 定時バッチをECS scheduled task + ecscheduleでお手軽管理する - BOOK☆WALKER inside

                                                  メディアサービス開発部モバイルアプリケーション開発課のtukiyo(id: tukiyo320)です。現在はニコニコ漫画のバックエンド開発を担当しています。 本記事では、Webサービスに付き物の定時バッチについて、ニコニコ漫画では現在どのような方針で管理・実行しているかをご紹介します。 ニコニコ漫画の構成おさらい 以下の記事に詳しいですが、ニコニコ漫画のバックエンドは4系統存在しています。どれも現在はAWS上に乗っており、PHPの現行システム以外はECS(fargate)で管理されています。 現行PHP(独自フレームワーク) 新バックエンド(Ruby on Rails) React向けBFF(Nest.js) 課金サブシステム(Ruby on Rails) developers.bookwalker.jp 本記事で扱うのは、ロジックの書き直しを目的とした新バックエンドが持つバッチとなります

                                                    定時バッチをECS scheduled task + ecscheduleでお手軽管理する - BOOK☆WALKER inside
                                                  • 1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコードパイプラインとその最適化事例 | gihyo.jp

                                                    なお上記の「大量配信」とは、「⁠1~3月分の四季版を4月15日から配信開始し、1週間で全家族に配信完了する」などのように、「⁠新しい期間の1秒動画をはじめて配信してから、その時点で条件を満たす全家族への配信が完了するまで」の期間を指します。1秒動画の生成・配信の大部分はこの大量配信期間に行っていることから、これを「大量配信」と呼んでいます。 生成⁠・配信の流れ 1秒動画の生成・配信は、図1のとおり(1)対象家族抽出、(2)素材選択、(3)動画エンコード、(4)配信、の4段階で実現しています。以下ではその詳細を説明します。 図1 1秒動画の生成・配信の流れ (1)対象家族抽出 1秒動画の生成・配信処理は、基本的にはバッチ処理として毎日実行しています。そのはじめに行うのは、「⁠その日、どの家族に、どのバージョン・どの期間の1秒動画を生成・配信するか」を取り出す対象家族抽出です。この処理は四季版

                                                      1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコードパイプラインとその最適化事例 | gihyo.jp
                                                    • AI-OCRを支える非同期処理アーキテクチャ - LayerX エンジニアブログ

                                                      こんにちは!LayerXエンジニアの高際 @shun_tak です! この記事では、LayerX インボイスの請求書AI-OCRを支える非同期処理の仕組みについて解説したいと思います。 いきなりサマリーですが、今回お伝えしたいのは以下の2点です。 請求書は突然大量にアップロードされるので(大歓迎です!)、Amazon SQSとGoの machinery を活用して非同期処理しているよ! AI-OCRの処理は重たいけど、AWS Lambdaを活用してシステム全体の負荷を分散し、スケーラビリティと可用性を確保し、コストも抑えることができたよ! では早速ですが、前回のブログ LayerX インボイスにおける請求書AI-OCRの概要 の復習です。LayerX インボイスの請求書AI-OCRは、以下の図のように複数の処理によって構成されています。 図にするとあっさりしてますが、前処理も後処理も複数の

                                                        AI-OCRを支える非同期処理アーキテクチャ - LayerX エンジニアブログ
                                                      • 転職会議から冪等でないバッチ処理を根絶した話 - LIVESENSE ENGINEER BLOG

                                                        こんにちは、かたいなかです。 最近転職会議のバッチ処理をすべて冪等にし、処理失敗時に気軽に再実行できるようにすることで運用性を向上させました。 今回の記事ではその取り組みを紹介します。 再実行すると重複送信につながるメール送信バッチ もともと、転職会議では一部のバッチ処理を除いてほとんどのバッチ処理が冪等に作られていました。しかし、残りの冪等ではないバッチ処理では、失敗するたびに毎回アドホックな対応をする必要があり運用性に課題を抱えていました 残っていたもので一番大きな問題を抱えていたのがメール送信バッチです。これは、以下の図のようなアーキテクチャで動いており、ワーカーにメールを送信するように指示するメッセージをSQSにキューイングする処理を行うものです。 このメール送信バッチのキューイング処理が途中で失敗した際に、雑に再実行してしまうと同一のユーザに重複してメールが送信されてしまう事にな

                                                          転職会議から冪等でないバッチ処理を根絶した話 - LIVESENSE ENGINEER BLOG
                                                        • 定期実行処理を crono_trigger に移行したお話 - Kaizen Platform 開発者ブログ

                                                          こんにちは、エンジニアの ryopeko です。 今回は Data Platform と呼ばれているデータ集計基盤の Rails プロジェクトで定期実行用に使われていた gem、 sidekiq-scheduler を crono_trigger に移行したお話です。 なお Data Platform の記事については以前ブログで紹介したこちらの記事も合わせてご覧ください。 KaizenPlatform では非同期処理には長らく Sidekiq が使われており、Data Platform でも非同期処理が必要な部分で使われております。 Data Platform では集計処理を cron 形式で指定した日時に定期実行するという機能があり、そこでは sidekiq-scheduler が使われていました。 この sidekiq-scheduler は Redis に各種メタデータを入れておき

                                                            定期実行処理を crono_trigger に移行したお話 - Kaizen Platform 開発者ブログ
                                                          • ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog

                                                            AI事業本部の協業リテールメディアdivでソフトウェアエンジニアをしている 中澤 といいます。直近では、プロダクト開発以外にAI 事業本部の新卒研修の運営を行なったりもしていました。 私が所属しているチームで最近、定期バッチを行うワークフロー管理ツールを AWS Step Functionsへ移行したので、移行の背景や得た知見を記事として公開します。 移行前の構成 私たちのチームでは、ワークフロー管理ツールを AWS Step Functions に置き換える前には、Prefect を使っていました。 Prefect に関しては、弊社ブログの別記事があるので、Prefect について知りたい方はそちらも参考にしてみてください。 Prefect を利用している時の構成では、Prefect 側でワークフローのスケジュール管理やワークフロー内のタスク実行を Prefect、実際のワークフローのタ

                                                              ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog
                                                            • AWS S3バッチオペレーションのちょっとしたtipsなどのご紹介 - たきざわの日記

                                                              このエントリは、はてなエンジニアAdvent Calendarの9日目の記事としてかかれました。 AWS S3にはバッチオペレーションというマネージドサービスがあって、これは指定したバケット/オブジェクトに対して一括で何かしらの操作ができる。例えば「バケット内のすべてのオブジェクトを別バケットにコピーしたい」とかそういう時に使うと便利。 aws.amazon.com その一括操作ではLambdaを利用することもできる。Lambdaを使うとかなり柔軟な操作ができるようになるが、ドキュメントを見ただけでは最初どうしたらいいかわからなかった上に、利用する機会もそんなに無いので覚えられない。その他にも最初に知ってたらよかったみたいなのが細々とあるので、そういうのを少しまとめておく。 なお、このエントリではS3 バッチオペレーション自体のジョブの登録のやり方自体は割愛する。まずS3バッチオペレーショ

                                                                AWS S3バッチオペレーションのちょっとしたtipsなどのご紹介 - たきざわの日記
                                                              • Google Cloud Batchを使ってバッチの処理待ち時間を1/30以下にしたので紹介させて欲しい - DeLMO(identify)エンジニアブログ

                                                                この記事について 今回、Google CloudのBatchを利用した動画変換処理を実装したので、どのようにしたのか、どこにハマったのか(ハマっているのか)、その効果についてまとめました。端的に現状を3行でまとめると、以下のようになります。 動画変換処理にGoogle CloudのBatchを使いました GPUを利用することで処理時間を短くできました コンテナでGPUをうまく使えずシェルスクリプトとGoで作ったバイナリを活用しています(コンテナ化の知見募集中です) はじめに はじめまして。identify株式会社 CTOの@suthioです。 弊社、identify株式会社では動画素材サービスDeLMOの運営を行っています。 service.delm0.jp 簡単に言うと、動画素材を提供するサービスとなります。 課題 弊社ではGoogle Cloud Platformをインフラとして利用し

                                                                  Google Cloud Batchを使ってバッチの処理待ち時間を1/30以下にしたので紹介させて欲しい - DeLMO(identify)エンジニアブログ
                                                                • GKEでMLバッチ運用のコツ - エムスリーテックブログ

                                                                  この記事はエムスリーAdvent Calendar 2023とMLOps Advent Calendar 2023の12日目の記事です。 AI・機械学習チームの北川です。 最近は猫のかまってアピールがすごすぎて、よく仕事の邪魔されます。 かまって欲しがる猫 現在AI・機械学習チームではMLのバッチをGoogle Kubernetes Engine(GKE)上で運用しています。 現在数えてみたところ240個以上のバッチがGKE上で動いているようです。 AI・機械学習チームでは2019年頃から約4年ほどGKE上でMLバッチを運用しています。 その間にコストの最適化や安定したバッチの運用などに力を入れてきました。 この記事では、主にスケールインとコスト最適化について説明しようと思います。 チームのMLについて全体を把握したい場合は以下の記事が詳しいです。 www.m3tech.blog GKEの

                                                                    GKEでMLバッチ運用のコツ - エムスリーテックブログ
                                                                  • データ基盤再設計でレスポンス速度を 40倍高速化し、顧客体験を改善するまでの軌跡

                                                                    はじめに こんにちは、ダイニーのデータチームのエンジニアをしている kawamitsu です。 ダイニーでは飲食店さま向けのデータ分析プロダクトを提供しています。 本記事では、膨大な店舗データの処理によるアプリケーションのボトルネックを、データ基盤によって解決した事例を紹介します。 先に成果を説明しますが、データ基盤の再設計によりユーザーのデータ分析においてタイムアウトのほぼ全廃と全店舗・任意期間のデータ取得を可能にしました。 この記事を通して、データエンジニアリング × アプリケーションエンジニアリング の開発に少しでも興味を持っていただけたら幸いです。 背景:飲食店におけるデータ活用の重要性 飲食店の経営において、データの活用は重要な経営判断の基盤となります。 注文履歴、決済履歴、監査目的の会計取消・修正履歴など、多岐にわたる情報を、全店舗分まとめていつでもアクセスできる環境が求められ

                                                                      データ基盤再設計でレスポンス速度を 40倍高速化し、顧客体験を改善するまでの軌跡
                                                                    • GitHub - Netflix/maestro: Maestro: Netflix’s Workflow Orchestrator

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        GitHub - Netflix/maestro: Maestro: Netflix’s Workflow Orchestrator
                                                                      • バッチ処理実装時に考慮すべき事項 | メルカリエンジニアリング

                                                                        はじめに メルペイバックエンドエンジニアの @r_yamaoka です。この記事は、Merpay Tech Openness Month 2022 の16日目の記事です。 私がつい最近まで所属していた加盟店管理業務を担うマイクロサービス群(以下、加盟店管理システム)では様々なバッチが稼働しています。本記事ではそれらの実装において過去に発生したトラブルやヒヤリハットから得た知見を共有したいと思います。 背景 本題に入る前に加盟店管理システムでどのような箇所にバッチ処理が採用されているかについて少し解説します。バッチ処理を採用するか否かの観点としては大きく下記2点があります。 機能要件上バッチ処理を採用しなければならない 非機能要件の都合で同期処理を採用できない 前者の例としては「配送業者との伝票情報連携」や「行政システムとの連携処理」というものがあり、これは連携先である配送業者や行政の業務の

                                                                          バッチ処理実装時に考慮すべき事項 | メルカリエンジニアリング
                                                                        • AWSがAWS Fargateのバッチサポートを導入

                                                                          あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

                                                                            AWSがAWS Fargateのバッチサポートを導入
                                                                          • [レポート] Amazon MWAA と AWS Step Functions を比べてみた #AWSreInvent #API307 | DevelopersIO

                                                                              [レポート] Amazon MWAA と AWS Step Functions を比べてみた #AWSreInvent #API307 | DevelopersIO
                                                                            • 加盟店リソース作成時の整合性担保の検討と実装 | メルカリエンジニアリング

                                                                              こんにちは。メルペイでバックエンドエンジニアとして従事している a-r-g-v です。私は加盟店さまの初期審査やサポートを行うための社内向け管理画面(以下、社内Tool)や加盟店さま向けの管理画面を開発しているチームに所属しています。この記事はメルペイ加盟店リソースを作成するシステムとそこにある課題、それらに対する改善の取り組みついて紹介させていただきます。 また、本記事は、Merpay Tech Openness Month 2021 の16日目の記事です。 背景 メルペイではマイクロサービスアーキテクチャを採用しています。我々のプロダクトでは、精算サービス、銀行サービス、決済サービスなどの複数マイクロサービスを組み合わせて加盟店さまの体験を作り上げており、メルペイ内でもトップクラスに他のマイクロサービスと接続しています。 メルペイを導入するためにはまず加盟店申込みフォームから申込みをし

                                                                                加盟店リソース作成時の整合性担保の検討と実装 | メルカリエンジニアリング
                                                                              • バッチ処理系の刷新とArgo Workflow移行

                                                                                これはPTAアドベントカレンダーの7日目の記事です。 5年間運用されてきたバッチ処理系を刷新し、Argo Workflowを用いたバッチ処理系に移行したのでその紹介記事です。 背景 GKE上でバッチ処理のワークロードを実行しており、ワークフローエンジンとしてDigdagを採用していました。ユースケースとしては定期実行のバッチ処理、ETL、機械学習等。 Digdagを用いたワークフロー定義はシンプルかつ運用に必要な機能を提供してくれています。実際のワークフロー内部の処理としては、ワークフローの各タスクにおいては基本的にはロジックは持たずKubernetes Jobの実行のみを行います。そのためにDigdagとKubernetes Job間で協調動作するための仕組みが独自で用意されていました。このようなバッチ処理系が約5年程運用されてきました。 この仕組で今まで元気に動いてはいたのですが次のよ

                                                                                  バッチ処理系の刷新とArgo Workflow移行
                                                                                • [ JJUG CCC 2022 Spring ] AWS Batch × Spring Batch でクラウド最適なバッチを構築した話 - Qiita

                                                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。Red Frasco でインフラエンジニアをやっている猪熊です。 JJUG CCC 2022 Spring にて、 AWS Batch × Spring Batch でクラウド最適なバッチを構築した話 というタイトルで登壇させていただきました。 セッション内容の紹介と登壇のふりかえりをしようと思います。 セッションの紹介 まずは、セッション内容について紹介します。 アーカイブ動画が公開されました。良ければこちらからご覧ください。 https://youtu.be/ArEY_yIt0GI 自己紹介 詳細は割愛します。 香川県出

                                                                                    [ JJUG CCC 2022 Spring ] AWS Batch × Spring Batch でクラウド最適なバッチを構築した話 - Qiita

                                                                                  新着記事