sogaohのブックマーク (318)

  • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

    はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

    explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
    sogaoh
    sogaoh 2024/06/05
  • ブラウザからDBに行き着くまでただまとめる

    はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

    ブラウザからDBに行き着くまでただまとめる
    sogaoh
    sogaoh 2024/04/24
  • アプリケーションエンジニアこそ「監視」だよね!と私が考える訳 #phpkansai

    PHPカンファレンス関西2024での発表資料です https://fortee.jp/phpcon-kansai2024/proposal/42712995-5f3e-4c68-a951-39584eac95a1

    アプリケーションエンジニアこそ「監視」だよね!と私が考える訳 #phpkansai
    sogaoh
    sogaoh 2024/02/12
    とても良い。 自分が常々思う、周りに伝えたいことが凝縮されていて、それでいて親しみやすいうえに同意できる。
  • PostgreSQLの仕組みから学ぶために必要な資料 - そーだいなるらくがき帳

    質問されることが多いのでPostgreSQL初学者が運用を行うためにしっておく知識に必要な内容をまとめる。 PostgreSQLの基的なアーキテクチャ PostgreSQLのアーキテクチャを知らないと自分がやっている作業が危険な作業かどうかわからないし、パラメータの意味もわからない。 そこで以下のリンクを読むと良い。 富士通が後述の資料を参考にまとめたのだろうなと思われる記事。 非常によくまとまっているのでわかりやすい。 www.fujitsu.com もっと細かく知りたいならPostgreSQL Internalsがおすすめ。 富士通の資料と重複するところがあるがこっちが家。 Githubで管理されているので誤字脱字などあったら気軽にPRを出してほしい。 www.postgresqlinternals.org PostgreSQL Internalsが少し古いので最新事情で知りたい場

    PostgreSQLの仕組みから学ぶために必要な資料 - そーだいなるらくがき帳
    sogaoh
    sogaoh 2024/01/19
  • はてなブックマークのステージング環境を支える技術 - Hatena Developer Blog

    id:cohalzです。この記事ははてなエンジニア Advent Calendar 2023 の29日目の記事です。 28日目の記事は id:SlashNephy さんの おうち Kubernetes クラスタ運用記 ~2023~ でした。 はてなブックマークにおけるステージング環境について紹介します。 はてなブックマークでは現在インフラをAWS上に構築しており、ECSやAurora MySQLのサービスを利用しています。 番環境と同様にステージング環境も用意していますが、より良いステージング環境(例えば番環境に近く、変更がすぐ試せて、費用が安い構成)にすることを目指し、いくつか工夫した点があるのでそれらを紹介します。 AWSアカウントの分離 はてなでは複数のサービスを運用していますが、はてなブックマーク単体でAWSアカウントを分けて他のサービスとリソースが同居しないようにしています。

    はてなブックマークのステージング環境を支える技術 - Hatena Developer Blog
    sogaoh
    sogaoh 2024/01/11
    知見の宝庫や・・・アカウント跨ぎのデータコピーはいつか実現して汎用化したいという野望がある・・・(やるとは言ってない)
  • 開発者ポータル Backstage とは - Carpe Diem

    背景 開発チームが抱えるよくある課題として システムが変化する一方でドキュメントは更新されず腐る メンバーの流入出によって口伝でかろうじて継承された知見も失われる 検索性が良くないと過去のドキュメントが気づかれず、同じような内容のドキュメントが新規量産される 後から参加したメンバーはどちらが正のドキュメントか分からず混乱する といったことが良くあります。 解決方法としては以下のように、GitHub&ルールベースで管理するといった例があります。 future-architect.github.io また組織・システムが大きくなってくると認知負荷を低減するためにドメインで区切るような形でチームの分割が始まりますが、 異なるチームによってシステムが管理され、システムの依存関係を全て知っている人がいなくなる CxOレイヤが大規模イベント前に現状を把握したいときに都度時間がかかってしまう チームごと

    開発者ポータル Backstage とは - Carpe Diem
    sogaoh
    sogaoh 2023/12/29
    事例とかないかな
  • New Relicをフルに活用するためにデータ量とコストに気を配る - TVer Tech Blog

    こんにちは、TVerの加我です。 こちらは TVer Advent Calendar 2023 と New Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2023 の8日目の記事です。 みなさまNew Relicを活用していますか?サービスの信頼性を担保していますか?オブザーバビリティの導入・実現に向けてNew Relicを使い倒していますか? New Relicは非常に高機能なオブザーバビリティプラットフォームです。TVerではフロントエンドからバックエンドまでNew Relicを活用した横断的な観測を行っています。しかしNew Relicを導入し活用していくにつれて気になってくるのがコストです。 ということで、New Relicを活用しつつコストを最適化するためのポイントについて考えていきます。 New Relicのコスト計算につ

    New Relicをフルに活用するためにデータ量とコストに気を配る - TVer Tech Blog
    sogaoh
    sogaoh 2023/12/13
    "取り込むデータ量の可視化 & 定期的な通知" とても大事 ログを放り込む監視SaaSでおそらく最も要注意点
  • はてなブログとblogsyncの歴史 | おそらくはそれさえも平凡な日々

    ヘンリーでVP of Engineeringを務めるSongmuです。このエントリーは株式会社ヘンリー Advent Calendar 2023 、11日目の記事です。 はてなブログとblogsync はてなブログにはAtomPub APIという、はてなブログをAPIで操作できる機能があります。これは実は結構古くからある機能で、2013年にリリースされています。当時のはてなインターン生によるもので、moznionさん、krrrrさんが担当されたようです。歴史を感じますね。 そのAtomPub APIを利用し、はてなブログを管理するためのCLIツールとして、当時はてな社のチーフエンジニアで現CTOのmotemenさんが「個人で」開発したGo製のOSSがblogsyncです。これは2014年にリリースされています。社員が自社サービスのユーザーであり、社員が趣味個人開発でそのサービス利用のため

    はてなブログとblogsyncの歴史 | おそらくはそれさえも平凡な日々
    sogaoh
    sogaoh 2023/12/12
    いつ始められるか読めないけど、これやろうって思った。
  • 2023年のSREチームのAWSコスト削減を振り返る - Uzabase for Engineers

    概要 全般 何はともあれコストタグ Cost Explorer でリソース別にコストを見よう IaC化しよう QuickSight も使おう 稼働時間対応する際はマスタカレンダを用意したい コンピューティング、コンテナ関連 EC2 定時バッチはマネージド化しよう EBS, Snapshot, AMI, EIP を消す ECS Container Insights の有効/無効を使い分けよう 何でも Fargate を選択すれば良いわけではない Fargate スポットを活用しよう Lambda Graviton対応しよう ECR イメージサイズを抑えよう ライフサイクルポリシーを設定しよう ネットワーキング VPC VPCエンドポイント入れ忘れに注意 VPC Flow Logs のS3バケット設定に注意しよう ストレージ系 RDS スロークエリ出てないかAPMを使って確認 DynamoDB

    2023年のSREチームのAWSコスト削減を振り返る - Uzabase for Engineers
    sogaoh
    sogaoh 2023/12/10
    Lambda の Graviton 対応はまだやってなかった気がする。まとめありがたい。
  • ボランティアメンバーで大規模カンファレンスの高度なハイブリッド配信を行うためにやったこと - Cloud Penguins

    技術カンファレンス Advent Calendar 2023の7日目! 今回は、大規模な技術カンファレンスでボランティアスタッフの力でハイブリッドイベントを行えるようになった、これまでの過程を書いてみたいと思う。 ハイブリッドイベントを続ける理由 どうやってハイブリッド配信できるようになったか CloudNative Days Tokyo 2020 - 業者任せの配信 CloudNative Days Online 2021 Spring - 自前配信初挑戦 CI/CD Conference 2021 - 安定したオンラインイベント CloudNative Days Tokyo 2021 / Observability Conference 2022 - 挑戦と挫折 CloudNative Security Conference 2022 / CloudNative Days Tokyo

    ボランティアメンバーで大規模カンファレンスの高度なハイブリッド配信を行うためにやったこと - Cloud Penguins
    sogaoh
    sogaoh 2023/12/09
    壮大な物語すぎる。みんなすごい。
  • IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな

    この記事はSRE Advent Calendar 2023の4日目の記事です。 qiita.com 3日目は@myu_mxさんのゆるやか成長スタートアップの小さなEnabling SRE的活動でした。 久々のアドカレ参加ですが、少し思いの丈に任せてみようということで経験と主観が強めの記事です。 この辺で語られていたよとかこれは賛同できないというポイントなどもっといい情報があればぜひお知らせください、という感じで雑多に書いて参ります。 TerraformやCloudformationあたりをよく触るのでそのあたりがどうしても頭にありますがなるべく固有の話はしない方向で。 色々書きつつ、基的には長期的な運用を見越したソフトウェアの運用設計と同じ考えで良いとは思ってます。 最低限のインターフェースを公開し疎結合に設計する、モジュールは交換可能する、ライフサクルを考える、などなど。 ただIaCコ

    IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな
    sogaoh
    sogaoh 2023/12/05
    インフラ構築コードを継続的にメンテできるようにしておく、は今年気がついて実践し始めた大事なことの1つ。Terraform の Advent Calendar で書く予定。 > "先々のバージョンアップペースについて考える"
  • 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
    sogaoh
    sogaoh 2023/12/02
    おぼえとこ。SSHしなくて良い、になる日まで。
  • SRE留学体験記(第3期生) - Classi開発者ブログ

    こんにちは。プロダクト部Growth部でエンジニアをしている id:ruru8net です。以前はこちらの記事を書かせていただきました。 tech.classi.jp tech.classi.jp この度わたしはSRE留学の第3期生として、2023年5月-10月の半年間SREチームに留学をしました。 SRE留学とは?や、第1期生、2期生の体験記はこちらをご覧ください。 tech.classi.jp tech.classi.jp SRE留学を志望した理由 留学以前は主に認証機能の運用開発をするプロダクトチームで仕事をしていました。弊社のプロダクトチームはただアプリケーションコードの実装をするだけでなく、担当機能のインフラ管理や監視等もすることが多々ありその中でAWSに触れ、サービスの様々なことを考えながらも全体を操作している感覚を漠然と楽しいなと思うようになりました。またCI・CDを考えた

    SRE留学体験記(第3期生) - Classi開発者ブログ
    sogaoh
    sogaoh 2023/11/28
    "累積矢面時間"
  • 真意を確認している要注意ワード - Konifar's ZATSU

    言った人と聞いた人の認識がずれやすい言葉というのがあると思っていて、その話を雑に書いておきたい。 自分はこれらを"要注意ワード"と呼んでいて、出てきたら真意を確認するようにしている。無意識的にやっている人は結構いると思うので、同じような"要注意ワード"の知見吸いたい。 リスク 「リスクがある」と言われたときは、何のリスクのことを言っているかを確認している。 たとえば何かの開発を1週間後にリリースしたい、と言った時に「いやーこれは結構怖いしリスクありますよね」みたいな話になったとする。ここでいうリスクは何を言っているのだろうか。なんとなく品質が担保しきれないリスクのことを言っているような気がするが、実は間に合わないかもしれないことをリスクと言っているのかもしれない。あるいは、チームメンバーのモチベーションが下がることをリスクと言っている可能性もある。 何のリスクのことを言っているのかすり合わ

    真意を確認している要注意ワード - Konifar's ZATSU
    sogaoh
    sogaoh 2023/11/11
    「再起動します」「何を!?」が浮かびました。
  • エンジニア全員が Terraform を安心・安全に触れるような仕組みを整えています - VisasQ Dev Blog

    はじめに こんにちは!DPE(Developer Productivity Engineering)チームの高畑です。 ちょっと前に iPhone 15 Pro に変えてようやく USB-C ケーブルに統一できる!と思っていたら、手元にある Magic Trackpad が Lightning ケーブルでしょんぼりしました。 さて今回は、ビザスクのインフラ周りで利用している Terraformエンジニア全員が安心・安全に利用できる仕組みづくりを行なっている話をしていきます! これまで ビザスクではインフラの構築・運用に Terraform を利用しており、依頼ベースで DPE のメンバーが Terraform の修正を行なってレビュー&リリースをしていました。 開発メンバーから Terraform の PR をあげてもらうこともありますが、plan / apply の権限を持っていない

    エンジニア全員が Terraform を安心・安全に触れるような仕組みを整えています - VisasQ Dev Blog
    sogaoh
    sogaoh 2023/11/09
    今年は terraform こそ CI し続けるべきだということに最近気がついたし、aqua を使い始めてもいたので、だいぶ頷きながら読みました。 apply は手動派だけど。
  • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

    はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

    Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
    sogaoh
    sogaoh 2023/10/13
  • 2023 State of DevOps Reportを読んだ - 生涯未熟

    今年もState of DevOps Reportが発表されましたね。ということで、ザザッと全体を読んで気になったところなどピックアップして読み解いてみました。 全文が気になる方は以下からPDFをダウンロードしてみてください。 cloud.google.com 今年の調査主軸 組織の業績 組織は収益だけでなく、顧客のため、さらに広範なコミュニティのために価値を生み出さなければならない チームパフォーマンス アプリケーションまたはサービスチームが価値を創造し、革新し、協力する能力 従業員の幸福 組織やチームが採用する戦略は、従業員にとって有益なものでなければならない。すなわち、燃え尽きを減らし、満足のいく仕事体験を育み、価値あるアウトプット(つまり生産性)を生み出す能力を高めることである。 今回は上記3つの成果達成に対しての調査となった。 調査結果短評 生成的な文化を持つチームは、組織のパフ

    2023 State of DevOps Reportを読んだ - 生涯未熟
    sogaoh
    sogaoh 2023/10/12
  • エンジニアのためのSRE論文への招待 - SRE NEXT 2023 - ゆううきブログ

    この記事では、2023年9月29日に開催されたSRE NEXT 2023 IN TOKYOでの講演の概要に加えて、講演では触れられなかった部分の補足と、発表を終えての後記、最後にSRE NEXT全体の感想を書きました。 SRE NEXT 2020の基調講演に招いていただいたところから始まり、昨年のSRE NEXT 2022の公募セッションでも発表し、今回で3回目の発表になりました。今回の講演は、SRE NEXTの「NEXT」と価値観の一つである「Diversity」を踏まえて、自身のエンジニアと研究者の両方の経験を活かして、SREを深く実践する上で、技術論文を探して読むアプローチを提示するものです。昨今の国内のSREコミュニティでは組織的実践に主な関心が移っている状況と対比させて、コンピュータサイエンスに基づく技術的挑戦の可能性を示唆する意欲的な講演を目指したつもりです。 この講演での主要

    エンジニアのためのSRE論文への招待 - SRE NEXT 2023 - ゆううきブログ
    sogaoh
    sogaoh 2023/10/03
    Staffとして自分史上最高に感動した。
  • MySQL のデータを BigQuery にサクっとインポートした - mita2 database life

    MySQL のデータを BigQuery にサクっとインポートしたメモ。 Big Query がサポートしている形式 Arvo ORC CSV Parquet JSON Arvo/ORC/Parquet は MySQL からそれぞれのデータ形式に簡単に変換する方法が見つからなかった。 CSVはカンマや改行などの特殊記号がうまく扱えるか不安があったので、JSONを選択。 MySQL Shell で JSON 形式で export する MySQL Shell を使うと、非常に簡単に、結果を JSON形式 で取り出すことが出来て便利でした。 --result-format=ndjson を指定して、SELECT結果をJSON 形式で出力します。 念の為、記号や改行を入れたデータで試してみましたが、問題なくインポートできてました。 $ cat exp.sql SELECT * FROM d1.t

    MySQL のデータを BigQuery にサクっとインポートした - mita2 database life
    sogaoh
    sogaoh 2023/09/05
    ちょうど利用したいことがある・・・できれば同期したいんだよな・・・
  • Security-JAWS DAYSに「ECS on Fargate のセキュリティ対策は何をやるべき? 開発者目線で考える」というタイトルで登壇しました #secjaws #secjawsdays | DevelopersIO

    はじめに CX事業部アーキテクトチームの佐藤智樹です。 今回は以下のイベント「Security-JAWS DAYS」で登壇させていただきました。 以下のSpeakerDeckで資料を公開しました。今回話しきれなかった内容として、NIST SP-800 190の中で対象外として内容の紹介やコンテナランタイムという場合の種類などについて書いたのでよければご覧ください。 登壇のモチベーション 今回の登壇ではNIST SP800-190をベースにECS on Fargateだと何をやるべきか考えてみました。これを日中のいろんな会社で個別にやっていると時間がもったいないので、自分なりに読み解いて関連部分を切り出して対応方法を話させてもらいました。ECS on Fargateには関連ない部分と判断したものは省いたりしています。もしこの部分はこの方がよいなどあればどんどん改善していきたいので、Twi

    Security-JAWS DAYSに「ECS on Fargate のセキュリティ対策は何をやるべき? 開発者目線で考える」というタイトルで登壇しました #secjaws #secjawsdays | DevelopersIO