デジタル トランスフォーメーションを加速 お客様がデジタル トランスフォーメーションに乗り出したばかりでも、あるいはすでに進めている場合でも、Google Cloud は困難な課題の解決を支援します。
こんにちは、MA基盤チームの田島です。私達のチームではMAIL、LINE、PUSH通知といったユーザへの配信をしています。その中でもマス・セグメント配信という一斉に行う配信では、配信対象者のセグメント抽出にBigQueryを利用しています。また、配信前に必要なデータをBigQueryに連携しデータマートの集計をしたり、配信後には配信実績の登録などの更新処理をしています。 そのような処理を定期的に行っているため、ネットワークの問題やサーバーの不調などにより処理が途中で失敗することがあります。そこで、リトライを容易にするため、すべての処理を冪等にしました。今回その中でも、BigQueryの追記処理に絞ってどのように冪等化したのかについて紹介します。 目次 目次 マス・セグメント配信基盤の紹介 課題 冪等化 BigQuery追記処理に関する冪等化の取り組み 冪等にならないケース INSERT 初
Send feedback Best practices for using Terraform Stay organized with collections Save and categorize content based on your preferences. This document provides guidelines and recommendations for effective development with Terraform across multiple team members and work streams. This guide is not an introduction to Terraform. For an introduction to using Terraform with Google Cloud, see Get started
SRE の原則を使用し、Cloud Monitoring ダッシュボードでパイプラインをモニタリングする ※この投稿は米国時間 2020 年 3 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。 データ パイプラインはリアルタイム データのストリームを操作し、大量のデータを処理する機能を提供します。重要な指標の多くは独特であるため、データ パイプラインのモニタリングが課題になる可能性があります。たとえばデータ パイプラインでは、パイプラインのスループット、データがパイプラインを通過する時間、リソース制約の有無を把握する必要があります。このような考察はクラウド インフラストラクチャの稼働を維持し、ひいてはビジネスニーズを先取りするために欠かせません。 リアルタイム データを含む複雑なシステムのモニタリングは、運用管理を円滑にするための重要な要素です。システムを
この記事は Google Cloud Japan Customer Engineer Advent Calendar 2020 の 22 日目の記事です。 こんにちわ。今日はマイクロサービスの設計パターンの一つ Saga パターン と GCP での実装例を紹介します。マイクロサービス入門者の方に向けた記事として、できるだけわかりやすく書いてみたいと思います。 TL;DRSaga パターンはマイクロサービスでトランザクショナルな処理を実現するアーキテクチャ パターンGCP では、Cloud Run や Cloud Workflows などのサーバーレス サービスを利用して、マイクロサービスを効率よく構成可能GitHub にすぐに試せるサンプルコードがあります マイクロサービス アーキテクチャの課題 マイクロサービスの概念は以前からありますが、最近では Kubernetes やサービスメッシュ
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 リモート サービスまたはリソースとの接続時に、復旧に要する時間が一定しないエラーを処理します。 これにより、アプリケーションの安定性と回復性を向上させることができます。 コンテキストと問題 分散環境では、リモートのリソースやサービスへの呼び出しは、低速なネットワーク接続、タイムアウト、または、リソースが過剰にコミットされたり一時的に使用できなくなったりするといった一時的なエラーのために失敗する可能性があります。 このようなエラーは、通常は短時間で自動的に修正され、堅牢なクラウド アプリケーションでは、再試行パターンなどの方法を使用して、これらのエラーを処理する準備が整っている必要があります。 ただし、エラーが
概要 Bigtableで時系列データを保存する手段として 縦長のテーブルを使用する 横長のテーブルを使用する 列バージョンを利用する の3種類あるのでそれぞれの特徴、使い方を紹介します。 環境 go v1.15.0 Google Cloud SDK v293.0.0 cloud.google.com/go/bigtable v1.5.0 縦長のテーブルを使用する 各イベントを1行ずつ保持するやり方です。 例として庭の毎日の温度を保存する場合は以下のようになります。 行キー 列データ garden#20150301 daily:temp:20.4 garden#20150302 daily:temp:21.2 garden#20150303 daily:temp:21.0 garden#20150304 daily:temp:25.1 garden#20150305 daily:temp:2
公式ドキュメントで説明されているけど、同僚に何度か説明する機会があったり、作る必要のないサービスアカウントキーを目にすることも多いのでまとめておく。 認証情報が登場しないアプリケーションコード 例えば以下のコードで Secret Manager に保存したトークンを取得することができる。SecretManagerServiceClient にサービスアカウントキーを渡さずとも動作する。 const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); const client = new SecretManagerServiceClient(); (async () => { const [secret] = await client.accessSecretVersion({ name: 'proj
IT企業が社内の新人エンジニアに向けた研修資料や動画を無償公開し、話題になっている。学べる内容はIT業界の文化からゲームエンジン「Unity」を使ったゲーム開発までさまざまで、中には150ページ超のスライドや5時間超の動画もある。 ネット上では「初心者(エンジニア)の指針になる」「IT基礎知識の一通りのことが身につく」「動画があって助かる」などと評判だ。改めて公開内容と目的をまとめた。 サイボウズ、新人ITエンジニア向けに「IT業界文化」など サイボウズが7月20日に公式ブログで、4月から6月にかけて行った研修の資料を公開した。7月30日時点でブログへの「はてなブックマーク」(以下、はてブ)は約1950件、Facebookの「いいね」は約590件付いている。同社は“駆け出しエンジニア”向けとしている。 (関連記事:サイボウズの“駆け出しエンジニア”向け研修資料が話題 Webアプリ開発やIT
こんにちは、テクニカルトレーナー/マネージャーの西村 (@kuwablo) です。 AWS トレーニングのトレーナーを担当しつつ、お客様の AWS 学習を支援する記事を公式ブログや builders.flash に投稿し、チームメンバーのマネジメント業務も合わせて行っています。 突然ですが、皆さんは普段の仕事でネットワーク機器の設計や保守などは担当していますか ?「ルーターはマシンルームで見たことはあるけど触ったことはない。」「アプセトネデブ (OSI 参照モデルの 7 つの階層の暗記術) とか昔ちょっと勉強したけど忘れちゃったな。」という方から「俺はネットワーク生まれデータセンター育ち」という方までいらっしゃると思います。 私がトレーニングを実施する際に「自分のチームのメンバーにネットワークを勉強してもらいたいんだけど、何か良い方法ありますか ?」「アプリ開発者ですがインフラを体系的に勉
処理が複雑でジョブの依存関係を定義したい場合は、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 追記 「常時リクエストがくるユースケー
A feature branch is a source code branching pattern where a developer opens a branch when she starts working on a new feature. She does all the work on the feature on this branch and integrates the changes with the rest of the team when the feature is done. During the work, she may merge in changes confirmed by the rest of the team into her branch, in order to reduce her integration once the featu
clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く