tippy3のブックマーク (219)

  • カナリアリリースを自動化!Flaggerでプログレッシブデリバリーを実現した話 - ZOZO TECH BLOG

    はじめに こんにちは。SRE部ECプラットフォーム基盤SREブロックの大澤と立花です。 記事ではマイクロサービスのカナリアリリースに関して私達が抱えていた課題と、それをFlaggerによるプログレッシブデリバリー導入でどのように改善したのかを紹介します。 ZOZOTOWNのマイクロサービス基盤におけるカナリアリリース手段の変遷については以下のテックブログで紹介しておりますので気になった方はご参照ください。現在はIstio VirtualServiceの加重ルーティングを用いたカナリアリリースに一化しております。 techblog.zozo.com techblog.zozo.com 目次 はじめに 目次 カナリアリリースの運用課題 解決手段としてのプログレッシブデリバリー Flaggerとは? Flaggerによるプログレッシブデリバリーの進み方 Flagger導入時の検討ポイント (

    カナリアリリースを自動化!Flaggerでプログレッシブデリバリーを実現した話 - ZOZO TECH BLOG
    tippy3
    tippy3 2022/10/04
  • コンテナビルド最新事情 2022版 ~TechFeed Conference 2022講演より | gihyo.jp

    記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「コンテナビルド最新事情 2022版(inductor⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 それではこれから、私@_inductor_が「コンテナビルド最新事情」ということでお話をしていきます。 今日は主に4つの話をしていきます。ちょっと駆け足になってしまいますが、コンテナビルド高速化に向けた4つの機能およびポイントについてお話しします。 今回お話すること Dockerfileの新しい記法 まず最初に、Dockerfileに新しい記法がいくつか増えています。それを実装しているのは BuildKitと呼ばれるDocker発のオープンソースのソフトウェアがベースになっていて、Dockerf

    コンテナビルド最新事情 2022版 ~TechFeed Conference 2022講演より | gihyo.jp
    tippy3
    tippy3 2022/09/27
  • Twitterが実現した、決定論的ロードバランシングアルゴリズムによるリソース利用の改善

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Twitterが実現した、決定論的ロードバランシングアルゴリズムによるリソース利用の改善
    tippy3
    tippy3 2022/09/26
  • Pre-hijacking Attacksのメモ書きやSSO/パスワードリセット/アカウントマージ周りのチェックリスト

    Pre-hijacking Attacks.md Pre-hijacking Attacksについてのメモ書きです。 元の論文と記事は次のページを読んでください。 [2205.10174] Pre-hijacked accounts: An Empirical Study of Security Failures in User Account Creation on the Web New Research Paper: Pre-hijacking Attacks on Web User Accounts – Microsoft Security Response Center Pre-hijacking Attacks はメールアドレスの確認をしないでアカウントを作れるサービスという前提があります。 アカウント作成からそのまま機能を利用できるようにすることで、利用体験をよくするための施

    Pre-hijacking Attacksのメモ書きやSSO/パスワードリセット/アカウントマージ周りのチェックリスト
    tippy3
    tippy3 2022/09/22
  • マイクロサービスの再考: タダ飯なんてものはない

    どうも、株式会社プラハCEOエンジニアの松原です。 先日かとじゅんさんがツイートで紹介していたマイクロサービスに関する論文を読むついでに、適度に意訳した内容を音声入力してみました。ついでに意訳レベルなので翻訳の質は保証できないのですが、もし内容を読んでみて少しでも興味を持てた場合は実際の論文にも目を通してみると良いかもしれません。 論文のリンク: 「これ日語でなんて言うの?」って分からなかった部分も多々あったのでより適切な単語があったら教えてほしい...! 導入 マイクロサービスには様々なプラクティスや技術を用いて以下のメリットを目指す 素早いデリバリー 高いスケーラビリティ 自律性 しかし実際にこの業界で実装されるマイクロサービスは採用するプラクティスや効果に大きな差があるため、オンラインサーベイ(51回答)と経験豊富なマイクロサービス実践者14名にインタビューを行った。 わかったこ

    マイクロサービスの再考: タダ飯なんてものはない
    tippy3
    tippy3 2022/09/19
  • LINEの新卒採用試験ズバリ問題解説 〜2021年開発コース(実装問題)版〜

    はい、みなさんこんにちは。 3月7日にオンラインで開催した「LINE Engineer Meetup for Students」にて、2021年の新卒採用開発コース向けに出題している問題の傾向や解くためのコツなどを学生の皆様に解説させていただきました。 はじめにお断りをさせていただきますが、エントリで対象にしているJob categoryは技術職の開発エンジニアとなります。他の職種の試験内容についての言及はしませんので予めご承知おきください。 関連記事:LINEの新卒採用試験ズバリ問題解説~アルゴリズム問題編〜 今回の記事では、当日使用したスライドを元にして、LINE採用での問題の傾向や解くためのコツなどを解説させていただこうと思います。 実際に出題したことがある問題を利用して解説しますので、より実践的な解説記事になっているかと思います。 記事の題へと進む前に発表当日に利用した資

    LINEの新卒採用試験ズバリ問題解説 〜2021年開発コース(実装問題)版〜
    tippy3
    tippy3 2022/09/12
  • ここさえ抑えればGitHub API v4がわかる! GraphQL入門

    この記事について 今年の7/27にGitHub Projectベータと呼ばれていたものがGAになりました。 新しくGAになったProject(以下ProjectV2と書きます)は、 フィールドを用いて、アイテムに様々なメタデータを追加できる カードに設定した様々なメタデータごとにかんばんを作ることができる アイテムのグループ化・ソート・フィルタが簡単にできる 日付・各種メタデータを軸として指定したグラフを作ることができるので可視化が簡単 といった、classic Projectではできなかったあれこれが一つのProjectでできるようになっており、とても便利になりました。 そしてProjectV2がGAした今、一部例外を除いてclassic Projectを新規作成するというのはできなくなっています。 そのため、ProjectV2への移行というのは今後どんどん進んでいくと思われます。 Yo

    ここさえ抑えればGitHub API v4がわかる! GraphQL入門
    tippy3
    tippy3 2022/09/08
  • CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話 - ZOZO TECH BLOG

    はじめに こんにちは。SRE部の巣立(@ksudate)です。 ZOZOTOWNのマイクロサービス基盤では、GitHub Actionsを利用したCDパイプラインを構築しています。しかし、管理するマイクロサービスが増えるにつれて運用負荷が高まりつつありました。 記事では、ZOZOTOWNのマイクロサービス基盤のCDパイプラインが抱える課題と、それらをFlux2でどのように解決したのかを紹介します。また、Flux2の導入にあたり工夫したポイントを紹介します。 目次 はじめに 目次 Flux2の導入背景 マイクロサービス基盤のCI/CDパイプラインが抱える課題とこれまでの対策 Flux2とは? Flux2によるGitOpsの実現 Flux2の導入で工夫したポイント Flux2の管理 GitRepositoryとKustomizationの管理 Flux2によるkustomize build

    CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話 - ZOZO TECH BLOG
    tippy3
    tippy3 2022/09/06
  • BigQueryでのデータ追記処理における冪等化の取り組み - ZOZO TECH BLOG

    こんにちは、MA基盤チームの田島です。私達のチームではMAIL、LINE、PUSH通知といったユーザへの配信をしています。その中でもマス・セグメント配信という一斉に行う配信では、配信対象者のセグメント抽出にBigQueryを利用しています。また、配信前に必要なデータをBigQueryに連携しデータマートの集計をしたり、配信後には配信実績の登録などの更新処理をしています。 そのような処理を定期的に行っているため、ネットワークの問題やサーバーの不調などにより処理が途中で失敗することがあります。そこで、リトライを容易にするため、すべての処理を冪等にしました。今回その中でも、BigQueryの追記処理に絞ってどのように冪等化したのかについて紹介します。 目次 目次 マス・セグメント配信基盤の紹介 課題 冪等化 BigQuery追記処理に関する冪等化の取り組み 冪等にならないケース INSERT 初

    BigQueryでのデータ追記処理における冪等化の取り組み - ZOZO TECH BLOG
    tippy3
    tippy3 2022/08/16
  • VPC Ingress Routingとは何かを噛み砕いて理解してみる | DevelopersIO

    コンバンハ、千葉(幸)です。 2019年12月に新発表となったVPC Ingress Routingですが、初見でなかなか理解に苦労しました。 https://aws.amazon.com/jp/about-aws/whats-new/2019/12/amazon-vpc-ingress-routing-insert-virtual-appliances-forwarding-path-vpc-traffic/ ルートテーブルをインターネットゲートウェイおよび仮想プライベートゲートウェイと関連付けることができるようになりました。また、Amazon Virtual Private Cloud (Amazon VPC) の受信および送信トラフィックを VPC の仮想アプライアンスを通してリダイレクトできるようになりました。 発表時にはすでに弊社千葉(淳)が設定方法などをブログにしているのですが

    VPC Ingress Routingとは何かを噛み砕いて理解してみる | DevelopersIO
    tippy3
    tippy3 2022/08/11
  • SSE-S3とSSE-KMSの違いを知る

    January 10, 2019 KMSは大変便利で私の好きなAWSマネージドサービスのひとつなのですが、初見ではSSE-S3とSSE-KMSの違いはかなりわかりにくいかなと思います。そこで今回はS3のサーバーサイド暗号化においてよく使われるSSE-S3とSSE-KMSの違いについてまとめました。 結論言ってしまうとSSE-S3の場合は鍵を利用したかどうかの監査証跡が取れないことがネックになります。一方でSSE-S3は追加料金が発生せず、APIコールの制限を考慮する必要もないのがメリットです。 SSE-KMSの特徴 キーポリシーでCMK(カスタマーマスターキー)への個別のアクセス制御ができる KMSに対するAPIコールに当たるため、監査証跡(CloudTrail)を残すことが可能 暗号化キーの作成および管理ができる 当該AWSアカウントのリージョンごとに一意に作成されるデフォルトサービスキ

    tippy3
    tippy3 2022/07/20
  • Istioを活用したObservability基盤の構築と運用 / Constructing and operating the observability platform using Istio

    CloudNative Days Spring 2021 Online Istioと各種監視系OSS(Prometheus, Loki, Jaeger, Grafana)を連携させたObservability基盤を構築し、運用する中で得た知見を紹介します。 References John Porcaro, "Observability (re)defined", 2019 Betsy Beyer, Chris Jones, Niall Richard Murphy, Jennifer Petoff, "Site Reliability Engineering", O'Reilly Media, Inc., 2017 Mike Julian, 松浦 隼人, "入門 監視 ―モダンなモニタリングのためのデザインパターン", O'Reilly Media, Inc., 2019 Cindy Sr

    Istioを活用したObservability基盤の構築と運用 / Constructing and operating the observability platform using Istio
    tippy3
    tippy3 2022/07/11
  • “まだ作成していないユーザーアカウント”を先回りして乗っ取る攻撃 米Microsoftなどが指摘

    Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 セキュリティ研究者Avinash Sudhodananさんと米Microsoft Security Response Centerの研究者が発表した「Pre-hijacked accounts: An Empirical Study of Security Failures in User Account Creation on the Web」は、まだ作成していないWebサービスのアカウントを乗っ取る攻撃をテストし脆弱性を示した論文だ。 具体的に5種類の攻撃を提案し75のWebサイトで試したところ、35のサイトで乗っ取りに成功したという。その中には、ZoomやInstagram、Drop

    “まだ作成していないユーザーアカウント”を先回りして乗っ取る攻撃 米Microsoftなどが指摘
    tippy3
    tippy3 2022/07/08
  • Goでの並行処理を徹底解剖!

    並行処理をうまく使うのは難易度が高めです。 それゆえに、go文とチャネルについて基的な文法書で知った後「並行処理ちゃんとできる!」の段階まで自力でたどり着くのは大変でしょう。 このは、 *「並行処理ってやって何が嬉しいの?」 *「ゴールーチンとかチャネルとかって一体何者?」 *「ゴールーチンやチャネルを使ったうまいコードの書き方が知りたい!」 *「Goランタイムで並行処理をどううまく処理しているか知りたい!」 といった要望にお答えする、「Goでの並行処理」に関連した事柄について網羅的・徹底的に書きまくったものです。

    Goでの並行処理を徹底解剖!
    tippy3
    tippy3 2022/07/05
  • コードレビューを通じたチームパフォーマンス向上のための取り組み - ZOZO TECH BLOG

    こんにちは。ECプラットフォームサービスSREチームリーダーの川崎(@yokawasa)です。記事では、コードレビューを通じたチームのパフォーマンス向上のための取り組みについてご紹介します。なお、コードレビューそのもののテクニックに関する話はしないので、あらかじめご了承ください。 目次 目次 はじめに コードレビューはチーム全体のパフォーマンス向上のため 複数ユニット、複数チームで行う 活動状況を定量的に評価する コードレビュー体験を向上させる レビュアーの負担を減らす 同期・非同期コミュニケーションを使い分ける 参加しやすい雰囲気を作る 1. 心理的な安全性を高める 2. チームの共通目標にする さいごに はじめに まずはじめに、我々はGitHubのPull Request(以下、PR)機能を活用してコードレビューをしています。下記の記事でも書いているようにIaCとCI/CDを基ルー

    コードレビューを通じたチームパフォーマンス向上のための取り組み - ZOZO TECH BLOG
    tippy3
    tippy3 2022/07/05
  • ZOZOが歩んできたテック組織の作り方 — クラウド時代のエンジニア像とは? supported by AWS

    ZOZOが歩んできたテック組織の作り方 — クラウド時代のエンジニア像とは? supported by AWS

    tippy3
    tippy3 2022/06/29
  • 技術系イベント登壇における資料作成のコツ - 電通総研 テックブログ

    みなさんこんにちは、電通国際情報サービス(ISID)Xイノベーション部ソフトウェアデザインセンターの佐藤太一です。 少し前になりますが4/23に、私はGo Conference 2022 SpringにおいてGoRDBSQL でアクセスするためのライブラリ Kra の紹介というタイトルで登壇しました。 登壇時の資料はこちらです。 このエントリでは、スライドを作成する際に私が考えていることや、情報を整理する方法について説明します。 伝えたいメッセージを作りこむ アイディア出し 初期のアイディア出し例 アイディアの統合 アイディアの統合例 メッセージの絞り込み メッセージの例 今回のメッセージ 伝えたい情報を構造化する 構造のテンプレート 論理の順序を整理する まとめ 伝えたいメッセージを作りこむ 私が技術系のイベントに登壇する際に最も重視しているのがメッセージの作りこみです。

    技術系イベント登壇における資料作成のコツ - 電通総研 テックブログ
    tippy3
    tippy3 2022/06/23
  • DaggerでベンダーフリーなCIパイプラインを作成する

    最近よく話題になっているDaggerというCI/CD向けのdevkitについて、実際にコードを書きながら検証してみる記事です。 Daggerについて Daggerは、CIにポータビリティを持たせるためのdevkitです。Daggerでは、パイプラインの全てのアクションがDockerコンテナ上で実行されるため、Docker互換のランタイムが動作するマシン上であればどこでも同じ結果を得ることができます。 Daggerでは、パイプラインの記述をCUE(cuelang)で行います。CUEはGoogleが開発した設定ファイル記述向けの言語で、moduleやtemplate等強力な構文を兼ね備えたものになっています(jsonの拡張言語のような位置づけです)。JSONやYAMLにエクスポートも可能です。 上記より、Daggerは既存のCI/CDツール(CircleCI、jenkins、Github Ac

    DaggerでベンダーフリーなCIパイプラインを作成する
    tippy3
    tippy3 2022/06/19
  • 書籍「達人が教えるWebパフォーマンスチューニング」はチューニングの考え方を教えてくれる良本 - Gマイナー志向

    通称 #ISUCON を著者様からご恵贈いただきました。ありがとうございます。 gihyo.jp 所感 この書籍、言っていいのかわかりませんがまったくの初心者・初学者には難しいかもしれません。私の感触では、Webサイトのプログラム作成、改修、構築、運用などに携わったり、Webサイトのパフォーマンスの問題に向き合ったことがある人が対象読者だと思いました。職種でいえばバックエンドエンジニアインフラエンジニア、SREなどですね。もちろんそういった職種を目指している方や、純粋にISUCONに挑戦したい、パフォーマンスチューニングに興味がある、といった方も含まれます。 このは特定の問題に対する直接的な答えではなく、パフォーマンスチューニングの考え方を教えてくれる内容になっています。このを参考に実際に手を動かして実践するのが良いでしょう。現実のWebサイトをチューニングするでもいいですし、そ

    書籍「達人が教えるWebパフォーマンスチューニング」はチューニングの考え方を教えてくれる良本 - Gマイナー志向
    tippy3
    tippy3 2022/06/04
  • JavaScriptを雰囲気で使っていたので勉強し直したら知らなかったこと

    小ネタ。chromeで動作確認 何となく使っていたので改めて勉強してみたら知らなかったことなどのまとめ this 関数の呼び出し元のオブジェクトがthisになる。ただし、呼び出し元のオブジェクトの指定がない場合は、windowオブジェクトがセットされる。ただし、厳格モードuse strictの場合はundefinedがセットされる const foo = { bar: function() { // 呼び出し元はfoo.bar() console.log(this); // foo object const baz = function() { // 呼び出し元はbaz()でオブジェクトの指定がない console.log(this); // window object } baz(); const qux = function() { 'use strict'; // 呼び出し元はqux

    JavaScriptを雰囲気で使っていたので勉強し直したら知らなかったこと
    tippy3
    tippy3 2022/06/04