CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをそのように設計しておかなけれなならない。このイミュータブルデータモデルは、それを手助けする手法で、手順に沿って実施すればある程度のスキルのバラつきも吸収できるように組み立てられている。
世の中をみると、官僚的なシステム化と現場主導のアドリブ、二つの世界観に二分されがちです。本当は両者の中間がベストなのに、どうしても片側に寄ってしまうようです。 偏る原因は、おそらく両方が得意な人が少ないため。 このためシステムとアドリブの住み分け、バランスの取り方を人に説明するのは難しいものです。僕も長く悩んでいましたが、最近、ようやく頭の中でメンタルモデル化できました。 岩として考えるシステムとアドリブの特性は、以下のようにモデル化できます。システムは大きな岩。アドリブは多くの小石。 システム化:単一の大きな岩 アドリブ化:大量の小石 システムの考え方平地にドンと置かれた大岩が安定するように、システム化は地盤がしっかりした環境で力を発揮します。また大きな問題をざっくり埋めるような、手っ取り早く80点をとるような場合にも便利です。 一方、大岩を坂道のような不安定な足場に置くと、とても危険で
10年以上金融機関で働いているインフラエンジニアの落ちないサーバにするための考察です。 ハードウェアの専門家ではないので、正確ではないかもしれません。 今までの経験からの個人的考え方になります。 私たちオンプレ重視のインフラエンジニアは、 クラウドサービスではできない高可用性サーバを導入したり、 複数台構成で1台故障しても問題ない構成のサーバはコスト重視するなど、 システムに最適なサーバを導入しようとしています。 高可用性サーバを追求する目的 ■アプリに影響を与えないように Active/Standby構成にしていて、インフラ的にはダウンタイムが数秒だとしても、 アプリによっては復旧に時間がかかったり、問題ないことの確認にも時間がかかってしまいます。 また、正しくサーバが落ちればアプリが問題ないとしても、 サーバが中途半端な状態のままになってしまい、なんだかおかしいということもあります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く