タグ

ブックマーク / tech.repro.io (11)

  • Kafka Streams はレコードをどのように処理しているのか - Repro Tech Blog

    Platform Team/Repro Core Unit の村上です。 Repro では Kafka を基盤としたストリーム処理のアプリケーションを構築する際に、Kafka Streams を積極的に活用しています。 Kafka Streams は、フォールトトレラントなステートフル処理を簡潔に実装でき、データパイプラインを Topology という表現で抽象化することで、複雑な処理でも管理しやすい形で組み立てていくことが可能です。 また、Apache Kafka 以外の外部依存がないことや Streams DSL によるシンプルな記述でストリーム処理を実装できることなども、ストリーム処理のアプリケーションをスムーズに構築する上で助かっています。 一方で、 なにかしらの問題が発生したときのトラブルシューティングや影響範囲調査の際には、Kafka Streams の内部処理を把握していない

    Kafka Streams はレコードをどのように処理しているのか - Repro Tech Blog
  • 共通認識を作ろう!ユーザーストーリーマッピングのすすめ - Repro Tech Blog

    はじめまして。ReproでUI/UXデザイナーをしている竹内と申します。Reproのデザイナーはプロダクト企画を行っているProduct Planning Teamに所属しており、中期製品戦略の策定とその浸透および状況にあわせた戦略の改定、顧客からの一次情報を収集、戦略の実行のため体験設計、UI設計まで一貫して行っています。 Product Planning Teamがやっている仕事は、いくつかのブログ記事でもご紹介しているので、よろしければご参照ください。 tech.repro.io tech.repro.io 今回は、プロダクト全体の企画に関する話ではなく、個別の機能開発においてデザイナーとしてどのように関わっているかのお話です。開発初期で要件が固まっていない時に役に立つ、要件・フェーズを決めるための手法であるユーザーストーリーマッピングをご紹介します。 ユーザーストーリーマッピングと

    共通認識を作ろう!ユーザーストーリーマッピングのすすめ - Repro Tech Blog
  • 作った機能をお客様に使ってもらうために必要なのは結局組織間連携の強化だった - Repro Tech Blog

    こんにちは。ReproのProduct Planning Teamでプロダクト企画を担当している正木です。 今回は前回の記事の続きで、なぜGoToMarketの改善活動の効果がなかったのかの原因と、そこへの対策についてお話をしていきます。 tech.repro.io 結論から先に言うと、機能提供から利用開始されるまでのリードタイムが減り、活用度も上がるという結果になりました! GoToMarket改善活動はなぜ効果がなかったのか? 大きく2つの理由がありました。 プロジェクト型組織構造によるナレッジの局所化 当時のReproの開発組織はプロジェクト制を取っており、何かの開発が決定すると都度プロジェクトが発足し、開発が終わると解散するという流れでした。 GoToMarket活動を行う前にプロジェクトチームが解散されてしまうことで、すべての機能のGoToMarketを担当するPMMだけにナレッ

    作った機能をお客様に使ってもらうために必要なのは結局組織間連携の強化だった - Repro Tech Blog
  • マルチプロジェクト構成リポジトリにおいて変更の影響を受けるプロジェクトを検出する - Repro Tech Blog

    どうも、Repro Core Unit に所属している村上です。 Repro では現在、20 を超える Kafka Streams アプリケーションが稼働しています。 その中の半分くらいが Repro システムの共通基盤を構成する Kafka Streams アプリケーションであり、それらの運用は Repro Core が持つ責務の 1 つとなっています。 この共通基盤となる Kafka Streams アプリケーション群は、Gradle のマルチプロジェクト構成になっていてコードベースはモノレポで管理されています。 稿では、この構成におけるデプロイ性の課題とそれに対するアプローチの話をします。 ディレクトリ構造 共通基盤のコードは以下のようなディレクトリ構成になっています。 . ├── Base ├── Deployments A │ └── Kafka Streams Applica

    マルチプロジェクト構成リポジトリにおいて変更の影響を受けるプロジェクトを検出する - Repro Tech Blog
  • AWS Aurora MySQL のメンテナンスの準備・実施・振り返りをチーム横断で行った話 - Repro Tech Blog

    こんにちは、Sys-Infra Unit の小山です。今回は、AWS Aurora MySQL のメンテナンス準備・実施・振り返りまでを複数チーム横断で行った話を紹介します。 背景と課題 Repro では、AWS Aurora MySQL を利用してサービスを提供しています。Aurora MySQL は、MySQL 互換のリレーショナルデータベースサービスで、Aurora MySQL にも独自のバージョン番号が設定されています。バージョンにはサポート期間が設定されているため、利用しているバージョンのサポート期間が終了する前にはアップデートしておきたいものになります。 今回、Repro で利用している Aurora MySQL のバージョンがサポート終了日に近づいてきたため、バージョンアップデートをする必要がありました。Aurora MySQL のバージョンを上げるには、Aurora MyS

    AWS Aurora MySQL のメンテナンスの準備・実施・振り返りをチーム横断で行った話 - Repro Tech Blog
  • Reproにおけるプロダクト企画を担うチームとは? - Repro Tech Blog

    はじめまして。ReproのProduct Planning Team というチームのマネージャーをしている正木と申します。元々はReproのユーザーでしたが、なんやかんやあってReproに入社しCSを経て現在はPMMを担当しています。 今後、Product Planning Teamからはこれまであまり発信してこなかったReproというプロダクトの企画のお話や、デザインの話、作った機能のGo To Marketの話などをしていこうと思っていますので、よろしくお願いします。 今回は初めての投稿ということもあり、そもそもReproのプロダクト企画チームって何をやってるの?という話をしようと思います。 プロダクトの企画に関わる方(主にPdMPMMなど)の組織作りや、今後関わりたい方の何かの参考になれば幸いです。 Reproのプロダクト企画 Reproではプロダクト企画チームが2022年から開発

    Reproにおけるプロダクト企画を担うチームとは? - Repro Tech Blog
  • SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog

    Development Division/Platform Team/Sys-Infra Unitの伊豆です。Sys-Infra Unitインフラエンジニア・SRE 的な役割を担っています。 今回は、ある日突然SSHログインが遅くなったときに調査した内容を共有します。 SSHログインに数分かかる ある日、AWS EC2上で動いている開発環境のSSHゲートウェイにSSHログインすると30秒以上かかると報告がありました。-vvvオプションを指定してSSHログインしてみるとpledge: filesystemというログが出力された後、数十秒から数分程度かかってSSHログインが成功する状況でした。 pledge: filesystemやssh slowなどで検索してみると、主に以下のような対処法が挙げられていましたがどれを試しても状況は改善されませんでした。 systemd-logindを再起動

    SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog
  • ServiceWorkerの落とし穴8選 - Repro Tech Blog

    はじめに Reproで開発を担当しているEdward Fox (edwardkenfox) です。2021年頃から Repro Booster というプロダクトの立ち上げに携わっており、開発を通して得た知見を共有できればと思い立ち筆を取るに至りました。4年ぶりのテックブログ執筆で少しばかり緊張していますが(?)、張り切ってやっていこうと思います。 Repro Boosterとは 2022年11月に正式リリースした、ウェブサイトの表示速度向上を実現するサービスです。「タグを入れたその日から、Webサイトが速くなる」というタグラインのもと、タグ(JavaScript)の設置だけでウェブサイトの表示速度が簡単に実現できるということで、リリース以来多くのお客様・サイトでご利用いただいています。 Repro BoosterではServiceWorkerと呼ばれる技術を最大限活用して多くの機能が実現さ

    ServiceWorkerの落とし穴8選 - Repro Tech Blog
  • サービス毎に作られていたデプロイ用のSlackBotなどを統合し、利用しやすくしました - Repro Tech Blog

    こんにちは、@r_takaishi です。今回は、筆者が所属しているシステム基盤チームで行ったデプロイパイプラインの改善について紹介します。 背景と課題 Reproでは多数のサービスをECS上で動かしており、それらのサービスは複数の言語・リポジトリで構成されています。また、サービスをChatOps、つまりSlackBotに指示を出してデプロイを行うための仕組みも存在しています。しかし、SlackBotからデプロイされているサービスは一部だけで、手元からデプロイするサービスも多数存在します。 SlackBotからデプロイするサービスと手元からデプロイするサービスの二種類が存在する要因に、SlackBotを含むデプロイパイプラインを構築する手間がかかるというものがあります。 Reproにおけるデプロイパイプラインを構成する主なソフトウェアは以下の3つです。 Capistrano + githu

    サービス毎に作られていたデプロイ用のSlackBotなどを統合し、利用しやすくしました - Repro Tech Blog
  • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog

    Apple Silicon の時代が来る Repro でサーバーサイドの開発をお手伝いしているうなすけと申します。 2021年10月19日に行われた Apple の新製品発表において、M1 チップを搭載した MacBook Pro が発表されました。この発表により、Intel チップを搭載した MacBook はラインナップから消え、今後は M1 チップ上で開発する機会が増えることは確実です。 ところで、私達の開発環境は M1 に対応しているのでしょうか? 社内の開発メンバーの大半は MacBook を使用しているので、もし対応していない場合、なるべく早く対応させないと新しい社内端末を購入できなかったりするので、結構影響が大きいです。 またインターネット上で、M1 Mac を使用している人々からの「全然発熱しない」だとか「ファンが回ることがない」とか「電池の持ちがすごい」とかの良い評判を目

    Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog
  • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(撤退編) - Repro Tech Blog

    記事執筆中に動かなくなった開発環境 Repro でサーバーサイドの開発をお手伝いしているうなすけと申します。 前回の記事を最後の脚注まで読んでくださった方はご存知でしょうが、記事執筆中にmergeされた変更によって、M1 Mac での開発環境は動かなくなってしまいました。 tech.repro.io この記事では、一体何が原因で動かなくなってしまったのか、回避のために試したことと、結局撤退する判断をした経緯について書きます。 Repro のアーキテクチャについて まず、なぜ動かなくなってしまったのかですが、これには Repro というサービスのアーキテクチャが関係してきます。 Repro では、ユーザーの端末やWebブラウザから送信されてくる大量のデータを取り扱うために、Kafka を使用してデータの処理を行っています。これに関しては、チーフアーキテクトによる以下の記事及びスライドにて K

    Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(撤退編) - Repro Tech Blog
  • 1