タグ

ブックマーク / zenn.dev (1,141)

  • Datadog×Sentryで実現するエラートラッキング

    こんにちは、カバー株式会社でSREをしているIです。 この記事は カバー株式会社 Advent Calendar 2024 24日目の記事です。 前回の記事は@lain_xrによるUnityでアフィン変換をプリミティブに実装してみるでした。こちらの記事もぜひご覧ください。 はじめに 昨今システムの複雑化が進む中で、エラーの一元管理を行うことはシステムの健全な運用において必要不可欠です。 この記事ではクライアントおよびサーバーサイドのエラーを一元的に管理し、効果的にエラートラッキングを行うための設計や便利なツール群を紹介します。 エラートラッキングの重要性 現代のシステム開発では、マルチクラウドや分散システムの普及によって、システムの構成や表現方法が多様化しています。結果として、Web、モバイルアプリ、PCアプリケーションなど、複数のユーザーインターフェースを通じたやり取りが増加している中で

    Datadog×Sentryで実現するエラートラッキング
  • 事業会社のセキュリティ人材に求められるValueを考える

    サイバーセキュリティチーム マネージャーの岡地です 前回のブログで、当社のサイバーセキュリティチームの目指す姿〈Vision〉と戦略について記載し、思いのほか多くの反応を頂きありがとうございました。今回は、事業会社、特にウェルスナビにおいてセキュリティ担当に求められる〈Value〉について考えてみました。 事業会社におけるセキュリティ担当の存在意義 セキュリティに関する需要の高まりは多くの方が感じているかと思いますが、仕事にする場合、様々な選択肢があります。その中で、事業会社の中の人間としてセキュリティに携わる意義について考えてみます。 1.セキュリティマネジメントの最適解を考え続ける存在 例えば以下のイメージでは、セキュリティに関する仕事がわかりやすく整理されていて、大きく3つの色で分類されています。この中で事業会社に存在する仕事は青のポジションを中心に、緑のポジションもところどころ内製

    事業会社のセキュリティ人材に求められるValueを考える
  • 実践セキュリティ監視基盤構築(24): セキュリティ監視エンジニアリング

    この記事はアドベントカレンダー「実践セキュリティ監視基盤構築」の24日目の記事です。これまでに、セキュリティ監視基盤の構築と実装について詳しく解説してきました。今回は、視点を変えて、セキュリティ監視に関する新しい概念やアイデアについてお話しします。 情報技術に関連する多様なソフトウェア、サービス、手法が進化する中で、それに対応するための概念も進化しています。わかりやすい例としてはDevOpsやSREがありますが、セキュリティ監視においても新たな取り組みが行われています。 従来のセキュリティ監視業務と課題 新しい概念について話す前に、従来のセキュリティ監視業務を振り返ってみましょう。これらは筆者が経験したり、伝聞した内容に基づくもので、古く偏った視点である可能性があります。 アラートの検知は、SIEMやIDSで提供されるデフォルトルールを使うことが多く、チューニングはルールのON/OFF程度

    実践セキュリティ監視基盤構築(24): セキュリティ監視エンジニアリング
  • HTTP Lambdaをルーティングする lamux - fujiwara-ware 2024 day 24

    この記事は fujiwara-ware advent calendar 2024 の24日目です。 lamux とは lamux は、HTTP リクエストを AWS Lambda にルーティングするためのツールです。Lambda MultiPlexer の略です。 なぜ作ったのか Lambda Function URLs を使うと、HTTP を処理するサーバーを Lambda で簡単に作ることができます。また Function URLs が生成する URL は Lambda 関数のエイリアスごとに異なるため、ステージング環境や番環境などを分けて運用することができます。 この機能を使って、20日目に紹介した mirage-ecs のようなことができるなと思いつきました。 foo.example.com にリクエストが来たら foo というエイリアスの Lambda 関数を呼び出す bar.

    HTTP Lambdaをルーティングする lamux - fujiwara-ware 2024 day 24
  • GitHub ActionsでGoのコンテナイメージをビルド・プッシュする際のベストプラクティスを考える

    この記事は MICIN Advent Calendar 2024 の 24日目の記事です。 前回は菅原さんの、「MiROHAのエンジニアとして入社してみて」 でした。 はじめに 記事では、GitHub ActionsでGoのコンテナイメージをビルド・プッシュする際のベストプラクティスを検討、紹介します。特に、キャッシュをどう設定するかに主軸を置いて展開していきます。 Goのコンテナイメージのビルド・プッシュに関する公式ドキュメント、記事などはたくさんある一方で、実際のプロダクト開発でどうCIを組めばベストなのか、計測まで行って比較検討したものは筆者の観測する限りほとんどありません。そのため、取り入れてみても思いの外改善しないな…となることが多いです。 そこで、2024年12月時点で考えうる手順をいろいろ計測しながら試してみて、ベストプラクティスを提示してみようと思います。 なお、筆者のプ

    GitHub ActionsでGoのコンテナイメージをビルド・プッシュする際のベストプラクティスを考える
  • エラーメッセージに仕様を書く!?

    よろしくどーぞ、 knwoop です。 カウシェ Advent Calendar 2024 14日目を担当させていただきます。 はじめに カウシェでは、エラーメッセージをちゃんと書くという文化があります。そしてエラーメッセージが詳細に記載されているが故、スタックトレースなど必要だと思ったことないです。他のチームメンバーからもそのような意見も出たことがない(ような気がする)です。。どういうことなのか説明しきていきたいと思います! Go におけるエラーメッセージ エラーメッセージとは、アプリケーションやシステムが問題を検出した際に、ユーザーに対して表示する意味のある情報を含んだメッセージを指します。これは、システムの状態や問題の内容を理解する上で重要な情報源となります。 Goでは、以下のようにエラーメッセージを作成するのが一般的です: err := doSomething() if err :

    エラーメッセージに仕様を書く!?
  • 行政のネットワーク

    はじめに GovTech東京の林です。この記事はGovTech東京アドベントカレンダー23日目の記事です。 私はDX協働部区市町村DXグループで、情報システムの標準化・ガバメントクラウド移行支援を中心に都内区市町村のDX推進業務に従事しています。今回は、これまで中核市と東京都にて自治体の情報システムに30年近く携わってきた経験を通じて、行政のネットワーク、なかでも地方自治体のネットワークについて紹介します。 三層に分離されている地方自治体のネットワーク GovTech東京では、エンジニアをはじめ多くの民間経験者が働いていますが、行政のDXに携わるにあたってまずはその特殊なネットワーク構成に皆が驚きます。地方自治体のネットワークは三層に分離されているからです。「いや、ネットワークってOSI参照モデルだと7階層だろ、それともTCP/IP4階層のこと?」、違うんです、地方自治体のネットワークは

    行政のネットワーク
    fumikony
    fumikony 2024/12/24
  • 当人認証、身元確認、クレデンシャル設定を組み合わせた "詰みにくい" ログイン機能の設計

    ritou です。 もう23日ですが、Digital Identity技術勉強会 #iddance Advent Calendar 2024 10日目の記事です。 最近パスキー関連の記事などを書いている中、いわゆるログイン機能について様々な捉え方があることを改めて感じています。 ユーザー目線ではなかなか難しいことはありつつも、開発者目線でログイン機能を設計する際には共通認識を持つことが重要です。今回はアカウントリカバリー付きのログインフローを設計する際の考え方を整理してみます。 キーワード この説明におけるキーワードとなる処理は次の3つです。 当人認証: いわゆる認証処理。サービス登録済みのユーザーを識別し、検証する。 パスワード認証、パスキー認証、メール/SMS OTP、TOTPなど個々の認証方式で実現できる部分。ソーシャルログインも同様。 身元確認: ユーザーが主張した属性情報の検証。

    当人認証、身元確認、クレデンシャル設定を組み合わせた "詰みにくい" ログイン機能の設計
  • 読むとお得なソフトウェアエンジニアリングの技術書一覧

    はじめに この記事はLipersInSlums Advent Calendar 2024 「スラムで年収をあげる〜だが僅かばかりの友の他は、皆、スラム民を嘲った。資格取得で年収アップに挑むなどと〜」の大遅刻組の記事である。シモンは泣いていい。 筆者がプログラミングを初めた頃はインターネットの検索技術は発達しておらず、良質なコンテンツにたどり着くには一苦労だった。そのため、何か新しいことを学ぶのに最初に手を取るのは技術書であった。 今では検索技術は高度に発達し、必要な情報は検索すればたちまち手に入る用になった。しかしながらそれらの断片的な知識群を体系化し、習得するのは未だ難しい。体系的に知識を習得する上で技術書は未だ最も有力な候補となる。 この記事では主にジュニア(?)エンジニア向けに、読むとプログラミングに必要な比較的陳腐化しにくい様々な知識が体系的に身に付いて役に立つお得な技術書を簡単に

    読むとお得なソフトウェアエンジニアリングの技術書一覧
  • Kinesis Data Streamsを追う kinesis-tailf - fujiwara-ware 2024 day 22

    この記事は fujiwara-ware advent calendar 2024 の22日目です。 kinesis-tailf とは kinesis-tailf は、読んで字のごとく Amazon Kinesis Data Streams を tail -f するためのツールです。 指定した stream の末尾を追い続け、新しいレコードが追加されるたびにそれを表示します。 なぜ作ったのか Amazon Kinesis Data Streams は、リアルタイムデータストリームを処理するためのサービスです。筆者は主にログデータを処理するために使っています。 Kinesis に流れたログは最終的には Firehose を経由して Amazon S3 などに保存されます。しかし S3 に保存されるまでには数分の遅延(バッファリング期間)があります。開発中はこのバッファリングがもどかしく、流れて

    Kinesis Data Streamsを追う kinesis-tailf - fujiwara-ware 2024 day 22
  • Google 社員はこう使う! Gemini for Google Workspace 活用術3選

    この記事は Google Cloud Japan Advent Calendar 2024 (Gemini編) の12/19の記事です。 こんにちは!Google Cloud の Customer Engineer の Noriko です。 2024年も残すところわずかとなりました。今年は生成AIが急速に普及し、私たちの働き方にも大きな変化をもたらした一年でしたね。 皆さんは、日々の業務に生成AIをどのように活用していますか? 記事では、Google 社員が Gemini for Google Workspace をどのように活用しているのか、具体的なユースケースをご紹介します。ぜひ、皆様の業務における AI 活用のご参考になれば幸いです! Gemini for Google Workspaceって? Gemini for Google Workspaceは、Googleが開発した生成A

    Google 社員はこう使う! Gemini for Google Workspace 活用術3選
  • 情報セキュリティ vs サイバーセキュリティ

    はじめに こんにちは。ザキ (@z4ck_key) です。 記事はCyber-sec+ Advent Calendar 2024の21日目の記事になります。 みなさん、セキュリティ仕事にしていますか? このアドベントカレンダーを読んでいる人は、大なり小なりセキュリティ仕事にしていたり、研究していたりする学生だったりする人が大半だと思います。 それでは、自分がメインにしている分野って何セキュリティでしょうか。 情報セキュリティ部に所属しているから情報セキュリティ? IoT機器の開発に携わっているからIoTセキュリティ? CSPMを扱っているを扱っているからクラウドセキュリティという人もいるかもしれません。 私は過去に、サイバーセキュリティの名前を冠する部署に所属していたことがあります。 その時は、会社内のサイバーセキュリティの部署と情報セキュリティの部署で残念ながら断絶が生まれてしまっ

    情報セキュリティ vs サイバーセキュリティ
  • オニオンアーキテクチャにおけるテストコーディングガイド

    はじめに アドベントカレンダーも終盤に差し掛かってきましたね! シリーズ2ではテストコードについて書こうと思います。 ここ2年間くらいで採用やイベントを通じて色々な会社のエンジニアとお話させてもらった中で、テストコードの書き方にはかなりブレがあるように感じました。 ユニットテストについてはあまりブレがなく、どの方もドメイン層のEntityやValueObjectについて網羅的に書きましょうとなっていました。 一方で、インテグレーションテストについて流派も考え方も様々なものがありました。 そこで、この記事ではオニオンアーキテクチャにおけるインテグレーションテストの実装方法を具体例をもとにパターン別にまとめて、Pros/Consを考えてみようと思います。 今後のテスト設計のガイドとして役に立つと幸いです ☺️ オニオンアーキテクチャについては改めて説明しませんが、 little-handsさん

    オニオンアーキテクチャにおけるテストコーディングガイド
  • 1000 GB 以上のメモリ削減!TROCCO ワークフローの安全なアーキテクチャ移行と共に

    はじめに TROCCO は 2018 年にローンチしてから成長を続け、2024年には1日20万個のデータ転送ジョブを実行するプラットフォームに進化しています。 進化の歴史の中で、1000 GB 以上 のメモリ確保量を削減をした事例があります。 (※ 縦軸の値は集計期間が大きいためまとめられています) 移行後、1年近く安定して運用実績を残せたため アーキテクチャ移行の歴史を記録に残すこと 安全に移行するプロセスの知見共有 を目的として記事にしました。 前半はシステム個別の課題の話ですが、後半の移行の考え方は多くの人に役に立つものではないかと思います。 改善した機能(TROCCO のワークフロー) TROCCO はデータ分析基盤の総合支援 SaaS です。具体的には、MySQLSalesforceGoogle Ads、Amazon S3 など様々なデータソースから、BigQuery

    1000 GB 以上のメモリ削減!TROCCO ワークフローの安全なアーキテクチャ移行と共に
  • ECSで好きなだけブランチ別の環境を作る mirage-ecs - fujiwara-ware 2024 day 20

    この記事は fujiwara-ware advent calendar 2024 の20日目です。 mirage-ecs とは mirage-ecs は、Amazon ECS で好きなだけブランチ別の環境を作るためのツールです。 「ブランチ別の環境」とは、例えば以下のようなものです。 main ブランチのコードをデプロイした URL main.example.com feature/xxx ブランチのコードをデプロイした URL xxx.example.com fix/yyy ブランチのコードをデプロイした URL yyy.example.com 多くのメンバーがいるチームで開発をしていると、それぞれのメンバーが作業をしているブランチごとにデプロイされた環境がほしくなります。そのような環境を手動で作るのは大変ですが、mirage-ecs を使えば簡単に作ることができます。 なぜ作ったのか

    ECSで好きなだけブランチ別の環境を作る mirage-ecs - fujiwara-ware 2024 day 20
  • Custom Terraform Provider はじめて作成してみた

    この記事は Magic Moment Advent Calendar 2024 15 日目の記事です。 Magic Moment ソフトウェアエンジニアの scent-y です。 弊社では GCP のリソース管理などで Terraform を利用しています。Terraform を利用する中で、公式で対応されてない外部リソースを管理したくなった場合はどうすれば良いのだろう?とふと疑問を抱きました。 そんな中、Terraform では Provider を自作できる仕組みがあることを知りました。実際に作成してみることで、Terraform の理解につながったり、管理したいリソースの Provider が存在しない場合の選択肢が広がるかなと思い、入門してみた内容になります。 普段から利用していて自分にとって身近なツールである、Notion の Provider を作成してみます。 公式のチュート

    Custom Terraform Provider はじめて作成してみた
  • キャッシュヒット率が1%変わるとどうなる?

    「詳解 システム・パフォーマンス」 の 「2.3.14 キャッシング」 の節に、 ヒット率が98%のときと99%のときのパフォーマンスの差は、ヒット率が10%のときと11%のときのパフォーマンスの差よりもずっと大きい。キャッシュヒットのときとキャッシュミスのときのスピードの差、つまり関わっているふたつのストレージティアのスピードの差のために、非線形のプロファイルになる。 という記述がある。 以下のような図も載せられており、この図を見ると確かにヒット率が高いほど 1% による違いが出そうである。 ただ、あまり感覚的に掴めていなかったので実験してみた。 実験コード package main import ( "fmt" "time" ) func main() { // キャッシュのエントリ数を設定 cacheCount := 99 cache := make(map[int]bool, ca

    キャッシュヒット率が1%変わるとどうなる?
  • アーキテクチャレベルで依存性を逆転させたら最高だった話

    はじめに LITALICO の @katzumi です。 2020 年に LITALICO へ Join して以来、ずっとレセプト業務の開発に携わってきました。 レセプト業務は複雑なドメインゆえミスが許されず、さらに3年に一度の大きな報酬改定があり、ロジックが大幅に変わります。 その改定作業は情報公開から実装完了までの期間が約 3 ヶ月と短いです。また、年々複雑化するシステムに対応する必要があります。 その複雑な業務に立ち向かった内容を過去にも以下の内容で開発業務の記事を書いていました。 今年 2024 年は法改正の年になっており、取り組みの結果、その後どうなったのか?を振り返っていきます。 今回も壮絶だった法改正 私自身の大規模法改正の経験が今回で 2 回目となります。 チーム構成としては私ともう一名を除いて前回の 2021 年度法改正を経験したメンバーがいませんでした。前回は 3 種類

    アーキテクチャレベルで依存性を逆転させたら最高だった話
  • 何も考えずに OtelCollectorでSpanMetricsを使ったら、Prometheusのカーディナリティが爆発した話

    何も考えずに OtelCollectorでSpanMetricsを使ったら、Prometheusのカーディナリティが爆発した話 はじめに こんにちは。gumamon33です。 OpenTelemetry Advent Calendar 2024 6日目に空きがありましたので、表題の内容でブログを書かせていただきます! この記事では、OpenTelemetry CollectorのSpan Metrics Connector を使用していて発生した問題と、その解決方法についてお話します。なお、この記事は先日登壇させていただいた OpenTelemetry Meetup 2024-11 の後日談的な内容になります。興味のある方は、ぜひ下記のスライドもご覧ください! 題 SpanMetricsとは SpanMetricsはOpenTelemetry Collector(OTelCollecto

    何も考えずに OtelCollectorでSpanMetricsを使ったら、Prometheusのカーディナリティが爆発した話
    fumikony
    fumikony 2024/12/17
  • 「SREをはじめよう」を読んで世界が変わった話

    🌟 はじめに 記事は CyberAgent Group SRE Advent Calendar 2024 の13日目 の記事になります。 記事では SWE(Software Engineer)である私が 『SREをはじめよう―個人と組織による信頼性獲得への第一歩』 を読んで、SREについての理解を深めた経験を共有します。エンジニア・非エンジニア・社会人・学生など、さまざまなバックグラウンドを持つ方にとって「必ずどこか心に刺さる部分があるのではないか...!」と思い、是非皆さんにも読んで頂きたいというという思いを込めて執筆しました。 私は普段、SWE として働いていますが、以前から SRE に強い興味を抱いていました。 今年は SRE Next 2024 に足を運び実際に SRE の方々とお話しする機会を得たり、Cloud Native Days Winter 2024 の資料を拝見し

    「SREをはじめよう」を読んで世界が変わった話