記事

Githubでレジュメを管理するようにした

ビジネス

今までGoogle Driveで管理していたレジュメをGithubで管理するようにした。 これが個人的に良い取り組みだったので記事にしておく。 ここでいうレジュメは、自分のキャリアのあれこれがテキストベースでまとめられたものを指す。 モチベーション Google Driveでファイルをアップロードして管理していたが、イマイチ更新しづらかったり、更新する気力が沸かなかったりした。 差分がわかりやすい...

Git GitHub レジュメ

Road to ISUcon

システムアーキテクチャ

概要 ISUcon出場に向けて準備したことを記す。 目標・目的を定めた 目標 ISUconの予選の時間を目一杯使い切ってチューニングをする 勝つことが目標ではあるが、初参戦なので現実的なラインの目標を立てた 目的 インフラ周りの知見を高める パフォーマンスを考慮したアプリケーション構築のための知見を高める 社内のパフォーマンス・チューニングの業務に携われるようにする(頑張る) メン...

パフォーマンスチューニング ISUCON ISUCON8

コンテナ技術概要

インフラストラクチャ

概要 コンテナ技術についてのまとめ。 Dockerを使わずにコンテナをつくって触ってみる。 コンテナとは ホストOSからアプリケーションとランタイムをまとめて、分離した一連のプロセス。 コンテナの歴史 1979年 UNIX OSにchrootが登場。 2000年 FreeBSD jailsがFreeBSD 4.0に登場。chrootの発展系。 2001年 VServer Projectを通じて...

Docker libcontainer lxc lxd コンテナ

キャッシュの書き込み方式

インフラストラクチャ

概要 キャッシュの書き込み方式についてまとめる。 ライトスルー データがキャッシュに書き込まれると同時にメインメモリにも書き込む方式。 書き込み操作がキャッシュとメインメモリ両方に対して発生する。 データの一貫性を保ちやすいが、書き込みの遅延が発生する可能性がある。 ライトバック データがキャッシュに書き込まれた後、メインメモリに書き込みをするまでキャッシュ内にデータが保持される方式。 書き込み操...

キャッシュ

デプロイ戦略について

アプリケーション

概要 デプロイ戦略についてまとめる。 デプロイ・リリース・ロールバックの定義 デプロイ戦略の前提知識として言葉の定義を明確にしておく。 デプロイとは、「実行環境に実行可能なプログラムを配置すること」 リリースとは、「ユーザーがアクセスできる状態にすること」 ロールバックとは、「古いバージョンのリリースをリリースすること」 デプロイ戦略の種類 代表的と思われるものを取り上げる。 インプレースデプロイ...

デプロイ

シャーディングとパーティショニングの違い

データベース

概要 時々どっちがどっちか混乱してしまうので、メモを残す。 シャーディングとパーティショニングの違い 項目 シャーディング パーティショニング データの分割方法 水平方向(≒水平パーティショニング) ex. 行 垂直方向 ex. テーブル、データベース、カラム メリット パフォーマンスの向上、スケーラビリティの向上 パフォーマンスの向上、データの検索性向上 デメリット データや...

パーティショニング シャーディング

プロキシサーバー(フォワードプロキシサーバー)・リバースプロキシサーバー・ゲートウェイサーバーの違いについて

インフラストラクチャ

概要 プロキシサーバー(フォワードプロキシサーバー)・リバースプロキシサーバー・ゲートウェイサーバーの違いについてまとめる。 プロキシサーバー(フォワードプロキシサーバー)とは クライアントとサーバーの間に配置され、両者の通信を代理で行う(中継する)サーバー。 クライアントからのリクエストを代理をする。 クライアント→プロキシサーバー→インターネット→サーバー メリットは次のようなものがある。 ...

フォワードプロキシ リバースプロキシ ゲートウェイ

GCPについての覚え書き

インフラストラクチャ

概要 Google Cloud認定アソシエイトクラウドエンジニアの試験に向けた勉強をしている際の雑多な覚え書き。 考え方 責任共有モデル 最小権限の原則 組織全体でガバナンスを発揮する 権限の分譲 ステートレスなアプリケーションとイミュータブルなインフラ 自動化によるトイルの削減 スケーラブル・高可用性・堅牢性 モニタリングと自動的な通知 cf. https://blog.g-gen.co.j...

GCP

PyroscopeでContinuous Profiling

アプリケーション

概要 PyroscopeというContinous Profilingのツールを導入してみた。 Continous Profilingについてはこちら参照。 What is continuous profiling? 今年に入ってからGrafanaが買収したらしい。 Grafana Labs が Pyroscope を買収してコード プロファイリング機能を追加 買収してからは、Grafana Pyr...

プロファイリング

ファイルシステムの容量不足によるサービスダウン

障害報告

ステータス 解決 事象 2023年1月2日正午頃、https://bmf-tech.com/ にアクセスするとレスポンスが遅い、500エラーが常に返却されることに気づき、発覚。 grafanaにログインして調査をしようとしたが、ログインができなかった。 一部コンテナが何らかの原因でダウンした可能性を考慮して、デプロイを実施したが、no space left on device のエラーログを確認...

ポストモーテム