システムアーキテクチャ

BFFについて

システムアーキテクチャ

概要 BFFについて調べたことをまとめる。 BFFとは Backends For Frontendsの略。Best Friends Forever(ズッ友だよ)ではない。 ‌ 名前の通り、フロントエンドのためのバックエンドサーバーのことで、フロントエンドのためのAPIやHTMLをレスポンスするなどUI・UXのための役割を担っている。 ‌ クライアント(サーバーの呼び出し側)の多様性に応えるのが難し...

BFF

通知基盤構築についてのメモ書き

システムアーキテクチャ

概要 通知基盤の構築に関してざっくりと考えたことや調べたことなどをまとめておく。 通知基盤とは ユーザーに通知(メール・プッシュ・SMS・音声など)を行うためのシステム基盤。 クライアント(通知を依頼するシステム)からリクエストを受けて、送信先・送信内容など通知に関する処理を担うシステム。 通知基盤の設計・実装における観点 考えることが一杯ありそうだと思ったので、思いついた順で雑に書いた。整理でき...

通知

Road to ISUcon

システムアーキテクチャ

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

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

システム設計の面接試験

システムアーキテクチャ

システム設計の面接試験を読んだ。 System Design Interview – An insider's guideの和訳本。 donnemartin/system-design-primerを読んでいるとある程度知っている内容ではあるが、この類の本は日本ではあまり出版されていないような気がするので、手元において置きたい一冊。 ByteByteGoは著者が運営しているサービス。一部無...

システム設計

ソフトウェアアーキテクチャ Hardparts

システムアーキテクチャ

ソフトウェアアーキテクチャ Hardpartsを読んだ。 分散システムにおけるアプローチは難しい問題について書かれた本。 ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチと進化的アーキテクチャ ―絶え間ない変化を支えるを事前に読んでおいたほうが読みやすいかもしれない。 アーキテクチャをどのように再構築していくかについての考え方やアプローチについて整理されている。 個人的...

システム設計

システム設計関連の資料を読み漁った

システムアーキテクチャ

システム設計関連の資料をいくつか読み漁ったので、リンク集的にまとめておく。 動画系は見れていないものが多い。 あとあんまり関係なさそうなやや離れたトピックに関してのコンテンツも含んでいたりする。 モチベーション なぜ色々と調べてみたかというと、システム設計について体系的に学ぶことができないか知りたかった、学んでみたかったからである。 もっというと、システム設計についての能力を高める糸口が欲しかった...

システム設計 リンク集

SOAとマイクロサービスとの違いについて整理するために読んだ記事メモ

システムアーキテクチャ

SOAとマイクロサービスの違いについて整理したくなったときに漁った記事の雑メモ。 aws.amazon.com - サービス指向アーキテクチャとは何ですか? www.talend.com - マイクロサービスとSOA:の違い 適したユースケースとは ja.wikipedia.org - エンタープライズ・サービス・バス www.xlsoft.com - API インフラストラクチャ: ESB と...

マイクロサービス リンク集

ADR(Architecture Decision Record)について

システムアーキテクチャ

概要 ADR(Architecture Decision Record)について調べた。 ADRとは 2011年にMichael Nygardによって紹介されたアーキテクチャに関する決定事項を記録したドキュメントのこと。 cf. cognitect.com - DOCUMENTING ARCHITECTURE DECISIONS フォーマット Michael Nygardは提案するフォーマットは次...

Architecture Decision Record