2026-04-26

"詳解 Terraform" Yevgeniy Brikman 著

近年、DevOps という用語を耳にする。
だが、ソフトウェアの開発やアップデートと並行して運用する考え方は、ずっと前からある。オンラインが当たり前な環境では、ネットワーク整備のための一時停止が致命的なダメージにもなりうる。決済システムや認証システム、SaaS や各種サーバなど、些細なメンテナンスの度に停止するわけにはいかない。こうした状況下で、より効率よく運用するには...
尚、松浦隼人訳版(オライリー・ジャパン)を手に取る。

「午前 3 時のアラート対応をやったことがあるなら、この本はあなたのためにあります。」

もう三十年ぐらい前になろうか。会社のルータを自宅からリモートで設定し、しくじっては深夜に車を走らせた記憶が蘇る。そもそも、ネットワークの設定をネットワーク経由でやるところに自己言及の罠がある。
本書は、ソフトウェアプロジェクトの時間見積もりは不正確なことで有名で、ホフスタッターの法則を計算に入れても、予測以上に時間がかかるものとしている。
ちなみに、ホフスタッターの法則とは、ダグラス・ホフスタッターの著作「ゲーデル、エッシャー、バッハ - あるいは不思議の環」の中で唱えられた自己言及に関する格言、いや、皮肉か...

さて、DevOps ムーブメントには、文化(Culture)、自動化(Automation)、計測(Measurement)、共有(Share)という四つのコアバリューがあるという。頭文字をとって CAMS とも呼ばれるとか。
本書は、この中の自動化に注目し、Infrastructure as Code(IaC)という考え方を提示する。そして、プログラミング言語の視点から、宣言型言語に焦点を当てる。
例えば、ルータを制御するためのコマンド群は、特化した宣言的な記述ができるが、柔軟性に欠く。複数のサーバや複数のアカウント、さらに複数のインフラを統合管理するのに手続き型言語を用いれば、コードが複雑化し、メンテナンスの手間も増大する。
コンパクトで分かりやすく記述でき、言語らしい振る舞いをする言語となると、その選択肢の一つが Terraform というのである。言語的な興味から、ちと試すことに...
ちなみに、コマンド群は、手続き型言語のコードをマクロ化してきた資産に似たところがある...

Terraform は、HashiCorp 社が提供するオープンソースツールで、Go 言語で書かれている。プロバイダや仮想化プラットフォームへ API コールする仕掛けとして。例えば、AWS, Azure, Google Cloud, DigitalOcean, OpenStack, VMware などを相手に...
また、宣言型言語でありながら、count, for_each, for, create_before_destroy、ビルトイン関数が実装され、柔軟性と表現の豊かさを与えるという。
但し、IaC は通常のコーディングとは違うトレードオフがあるとか。特にロック、分離、ステートについてよく考えよ!と注意を促している。ちょっとでもしくじると、その影響は広範に及び、大規模なシステムダウンに... 御用心!

さらに、複数のプロバイダを相手取るのに、Docker や Kubernetes の入門にも触れてくれる。
Docker は、アプリケーションの実行環境を構築、配布、実行するためのプラットフォームで、コンテナ型の仮想化技術を活用する。
Kubernetes は、コンテナ管理ツールで、アプリケーションのデプロイや管理を自動化する。

「自動テストのないインフラコードは、壊れている。」

1. 設定ファイルの集合体
プロバイダとは、各種インフラに対応したインスタンス生成のための宣言とでもしておこうか。その実装イメージは、設定ファイルの集合体といった様相で、宣言型らしくコンパクトな記述。

  module "name" {
    source = ...
    [CONFIG ...]
  }

  provider "name" {
    reigion = ...
    alias = ...
  }

2.インスタンス生成の大まかな手順
  1. 設定ファイルを HCL(Hashicorp Configuration Language)で書き、terraform init コマンドを実行。
  2. terraform plan コマンドで、実行する前に内容を確認。
  3. terraform apply コマンドで、実際にインスタンスの生成、更新。

3. インスタンスの依存グラフ
インスタンスの依存関係では、terraform graph コマンドが紹介される。グラフ記述言語 DOT で出力され、愛用してきた Graphviz とも連携できそう。

4. ステートファイル
Terraform は、インフラの構築情報を Terrafotm ステートファイルに記録するという。JSON フォーマットで...
また、ステートファイルの保存場所として、バックエンドという機能があるという。ローカルファイルとして扱うローカルバックエンドと、共有ストレージとして扱うリモートバックエンドが。共有するからには、ロックや暗号化にも対応。

5. workspace
すべてのステートファイルを一箇所で管理することも可能だが、一つのミスが全体に及ぶリスクは計り知れない。ステートを分離する方法としては、ファイルレイアウトを分離することが考えられるが、ある程度計画的にやる必要があろう。手っ取り早くやる方法としては、ワークスペースを利用する事例が紹介される。
terraform workspace コマンドで、開発ステージと本番ステージを分離したり...

2026-04-19

"マルチパラダイムデザイン" James O. Coplien 著

ソフトウェア開発の歴史を振り返ると、数学的記号や機械語の羅列に始まり、マクロやサブルーチンによる構造化を経て、オブジェクト指向やドメイン駆動といった方法論を編み出してきた。今や、アジャイルという考え方まで定着し、その流れは、ますます哲学的になっていくかに見える。これに伴いプログラミング言語も進化し、言語自体が一つのパラダイムを、いや、一つの哲学を成すような。パラダイムとは、考え方の枠組みであり、一つの世界観。いずれも、柔軟性、拡張性、分かりやすさを追求してきた結果でもある...

「アインシュタインの言葉を言い換えて引用すれば、可能なかぎり作りやすく、しかしそれ以下にならないように...」

巷では何事も、それに至るプロセスよりも、結果を重視する傾向がある。しかしながら、複雑で多様化していく世界では、結果を出すにも困難が増大していく。特定の結果に目を奪われ、設計ストレスも限界へ。人間社会とは、まったくエントロピーな世界だ。
そして、文化やプロセスに目が向き、なぜそうなっているのか?どうあるべきか?と、その意義を問わずにはいられない。仕事の意味と目的が確立されれば、自由と信頼が得られ、満足度も上がる。自己満足で終わることもあるにせよ。こうした思考プロセスが、パラダイムを生み出す原動力となるのであろう...

ジェームズ・O・コプリンは、一つのパラダイムだけでは対処できない状況にあることを告げ、オブジェクト指向が「優れた設計手法」と同義語になっている危険性を指摘している。
マルチパラダイムとは世界観の融合ではあるが、手っ取り早く、良いとこ取りに走ることも。それはそれで調和すればいいが...
ますますカオス化し、答えの見つからない世界では、多種多様な手法を組み合わせるバランス感覚が求められる。ソフトウェア工学は、抽象原理に後押しされ、ますます哲学へ導かれていくかに見える。いや、あらゆる研究分野が...
尚、平鍋健児 + 金澤典子 + 羽生田栄一訳版(ピアソン・エデュケーション)を手に取る。

「どのようにカテゴリ化を行っているかを理解することは、我々がどのように考え、どのように役割を果たしているかを理解するための核心となる部分であり、それゆえに我々を人間としているものが何であるかを理解するための核心ともなる。そして、カテゴリが共通の特性により定義されるという考え方は、カテゴリとは何かといった場合の日常的な定義であるだけでなく、学問的にも基本的な理論として扱われてきた。我々が 2000 年以上にわたって馴れ親しんできた考え方である。」
... George Lakoff

本書は、「ファミリ」「共通性」「可変性」といった語をキーワードに掲げる。
プログラミング言語の特徴に、クラス化やパラメータ化、柔軟性や拡張性といったものがある。それは、自然言語とて同じ。人間の論理的思考は、なんらかの意味合いを表す記号群に支えられ、人類の進化にこうした言語現象を重ねることができよう。それは、複雑で多様な世界を認識するためのプロセスであり、言語の優れた特性は、曖昧かつ不明瞭なものまでも記述し、不明確で不確実な状況に応じて判断を下すために機能する。こうした抽象原理こそが言語機能の本質やもしれん...

ファミリとは、グループ化やカテゴリ化の抽象度を上げた概念といったところであろうか。共通性はファミリの肝となる特性で、可変性はファミリの柔軟性や拡張性と結びつけることができよう。
また、アプリケーションやドメインという限定されたエリアから、ソリューションという広範な領域へ目を向けることを要請している。
実際、まったく異なる分野からアイデアを拝借して問題解決の糸口とすることも多々ある。他業界で成功しているコンセプトがヒントとなって新たな事業を生み出すことも。
対象が経験や知識から遠くにあれば、その関連性に気づくことは難しく、複雑な事象に潜む本質的な構造を見抜くには、より抽象化した洞察力が求められる。

ところで、システム構築で、気を使うものの一つに例外処理ってやつがある。それが設計思想に適合すれば問題ないが、コア部を崩壊させてしまうことがあり、システムの致命的な欠陥にもなりやすい。人間でもパニックに陥る要因の一つに想定外ってやつがあるが、まさにそれだ。
どんな原理にも、どんな思想にも、そして、どんなパラダイムにも、矛盾がつきまとう。こうした状況に対応するものとして、本書では「負の可変性」という語を見つける。マルチパラダイムデザインは、こうした状況下で強力なメカニズムを提供するとしている。
ただ、事例がイマイチか...
通信システムにおいて、メッセージがボディを持つと定義した場合、ボディを持たない特殊メッセージの実装例が紹介され、分かりやすいといえば、そうだけど。要するに、C++ という言語の抽象を超えた抽象として...

2026-04-12

"〆切本 2" 左右社編集部 編

〆切にまつわるアンソロジー... 第二弾!
この手の企画は、愚痴を誘う。愉快!愉快!
愚痴も文才が書けば文学となり、釣られて読み手も本音をぶちまける。愉快!愉快!
〆切とは、責任か、義務か。そんなものが不平等条約で課せられた日にゃ。猿に邪魔されても〆切はやってくるとさ...

「義務の遂行とは、並たいていの事では無い。けれども、やらなければならぬ。なぜ生きてゐるか。なぜ文章を書くか。いまの私にとつて、それは義務の遂行の為であります、と答へるより他は無い。金の為に書いてゐるのでは無いやうだ。快楽の為に生きてゐるのでも無いやうだ。先日も、野道をひとりで歩きながら、ふと考えた。愛といふのも、結局は義務の遂行のことでは無いのか。」
... 太宰治

締切りをめぐる攻防は、まさにデッドライン!宿場に監禁されてりゃ、M じゃねぇとやっとられん。戦時でも、平時でも、上役の決まり文句は同じときたぁ... 死守せよ!

「日本の国内では、敗戦後日本人が平凡で疲れた頭脳で考えだした『平和ファシズム』『民主主義ファシズム』『自然保護ファシズム』『差別反対ファシズム』が横行し、そうした傾向は、批判する者がマイノリティーであると見るや、マジョリティーの暴力を以って圧し潰し、発言さえ封じてしまうという、まるで現象的には戦争中と、さも似た様相を示していた。」
... 團伊玖磨

そもそも、芸術作品に〆切なんてものがあるのか。いや、〆切にも効用がある。期限をもうけることによって、具体的な目標が定まる。だからといって、ギチギチに詰め込めばアイデアも浮かばんよ。
どんな文才にも、どうしても書けないということがあるらしい。編集者は、書けない人間に書かせようとする。だがそれは、人間を否定するようなもの。書き手も負けじと、言い訳のためのアイデアを絞り出す。まるで狐と狸の化かし合い!結局、人間社会なんてものは、いつも、どこでも、化かし合いよ...

「期限の長き未来を言うときにはたいそうなることを企つるようなれども、その期限ようやく近くして今月今日と迫るに従いて、明らかにその企ての次第を述ぶること能わざるは、畢竟ことを企つるに当たりて時日の長短を勘定に入れざるより生ずる不都合なり。」
... 福沢諭吉

約束を守らない!というのと、間に合わない!というのは、同義であろうか。それは、人間失格を意味するのだろうか。書く自由ってなんだ。それは、書けない時の不自由を悟るためのものか。人間社会は恐ろしい。なにがしら約束めいたものを交わすだけで、契約成立ときた。そればかりか、そこに優劣関係が生じる。人はみな、あらゆる場面で優越主義者を演じようと必死!世間を渡り歩くとは、そういうことやもしれん...

「結局、人はほとんどの状況において『約束』などしていないのであり、約束という言葉がオトナ社会の日常で持ち出される時はすべて『都合と立場の悪くなった人の切り札』として持ち出されている... 逆に『できない約束はしない』という言葉をやたら自信を持って言う人もいる。どんなに甘酸っぱい状況でも、『できない約束はしない主義なの』と下らない主義を持っている人もいる。こういう人が一番約束の意味を知らない。」
... リリー・フランキー

おまけに、仕事効率とリソース配分を定式化して魅せる学者までいる。
仕事効率 u(t) は、リソース配分の分布関数 r(t) で決まるとさ。そして、時間 0 から T における仕事量の最大化は...

  Maximaize W = T
0
u(r(t))dt

「集中力を上げるのは大変である。人は、集中力を上げることをできるだけ節約する傾向があるようにも思える。しかし、忘れてはならないのは、創造的な仕事は、集中しなければ進まないことである。... 追い込まれなくても集中力を上げるために自分なりの方策を編み出していくことは、研究者が健康で文化的な最低限度の生活(日本国憲法)を送る上で、欠くことのできないスキルではないだろうか。」
... 松尾豊

2026-04-05

"〆切本" 左右社編集部 編

〆切ひしめく日常。リリース日が近づくと、きまって管理役が声を荒げる... 死守せよ!
すべては約束事に始まり、不平等契約もなんのその。いわれのない義務を背負わされ、仮病にも縋る。責任に考えを巡らすと前にも進めず、鬱病ぎみな人が精神科にかかって本当に鬱病になっちまうようなもの。おまけに、ぼんやりとした不安が暗示をかけてくる。ほんとに死んじまった方が楽になれるやもしれん... と。

「人生とは、〆切である!」

古くは人間五十年と詠われ、今や人生百年時代と言われる。倍になっても尚、時間は無常だ。短い人生を有意義にしようと思っても、好きなことを商売にして生きていくことは難しい。いくら好きでも嫌気が差すこともしばしば。好きが苦悩になろうとは... 原因は、金か、人間関係か。いや、生きること自体が苦悩やもしれん。それでも取り憑かれたように熱中できるのは、やはり才能か。それが、好きなことをして生きていくための資質か。仕事がなくなることへの恐怖心は抑えがたいはずだが...

「あとの一週間で猫をかたづけるんです。いざとなればいや応なしにやつゝけます。... 夏目金之助。」

本書は、書き手たちの〆切にまつわるエピソード集。いや、「しめきり症例集」だそうな。〆切哲学をぶちまける書き手たちに、それが病的であるが故に読み手は勇気づけられる。パンツのゴムのように延びる〆切。それでもボツにならない文壇メカニズムとは... 作家が愚痴を漏らせば、編集屋も負けじと本音をこぼす。書けない時に書かせようとする作家殺しがいれば、〆切が過ぎて、ようやく書き始めるツワモノまで...

「向田邦子は遅筆だった。遅筆にも二種類あって、ギリギリまで書かないが書きだせば早いという人と、原稿用紙に向って呻吟するタイプとがある。彼女は前者だったと思われるが、締切日を過ぎてから書きだすというのだから恐れいってしまう。... 山口瞳」

他の症例には... 掲載するからには編集側にも責任の半分があると責任論を掲げる編集屋、「手塚おそ虫」と陰口をたたかれる漫画家、「缶詰体質」を称し、おいしい缶詰のされ方を処方してはマゾヒスト論を展開するコラムニスト、締切が守れないと言いつつも、「締切の効能」を論じる学者、「書かないことの不安、書くことの不幸」をつぶやく小説家、「自由という名の不自由」を噛みしめる作家... などなど。そして、この病の潜伏期間方程式を提示する小説家まで...

  S =   G2 × N × I × M
 H 

S は病原体の潜伏期間、G は原稿の枚数、N は締切までの残り日数、I は患者の意気込み、M は完成時の報酬。ここで鍵を握るのは、H だという。編集者の原稿取り立て術の巧拙で、潜伏期間も短くなるとさ...

「どの業者に対しても、とにかく『先生、先生』とおだてておいて、陰では呼び捨てている編集者がいるものだ。そいういう編集者にかぎって、誰それに『書かせる』という言い方をする。... 川本三郎」

2026-04-01

男と女の不平等物語...

人間社会とは、真実と虚偽のぶつかり合いの世界。真実ばかり追い求める社会では、堂々と冗談の言える日が貴重となる。だが、エイプリルフール禁止令が発動される昨今、虚偽が渦巻く社会では、冗談の言える日に本音をもらす。真実と虚偽の狭間で社会の緩衝材を演じてきた冗談はいずこへ...
人間ってやつは、なんでも二元論で片付けようとする。真実と虚偽ばかりか、善と悪、正義と不義、勝ち組と負け組... などと対立構図を煽り、それで理解した気になる。多様化社会と言いながら、頭はなかなか多様化できずにいる。そして、男と女も...

男女不平等の歴史は長い。それは役割分担から始まったと思われる。まず、大きな違いは子供を産む能力がある。女は子を産み、育てるという重要な役割を担い、男は外に出て働く。生物学的に子孫を残すことを中心に据えれば、男の役割は補助的なものとなる。それが、いつのまにか逆転しちまったようだ。権威を腕力でもぎとったのか、あるいは、子供を産む能力という物理的優位性への嫉妬から、男を社会的地位や肩書に走らせたのか。今となっては虚栄に過ぎないが....

性には、生物学的なものとは別に、社会や文化が生み出した性がある。巷ではジェンダーと呼ばれ、この立場もまた男と女の狭間で社会の緩衝材を演じてくれる。平等とは、互いの違いを認め、それを受け入れてこそ成り立つ概念。認められなければ、せめてそっとしておきたい。わざわざ否定することもあるまい...

ところで、古くから男と女にまつわる格言が数多ある。未練がそうさせるのか。いくつか未練がましく拾ってみよう... 未練は男の甲斐性よ!

「女は勝負!ここと決めた時は、相手の骨までしゃぶるのだ!」
... ブラック・ジャック「サンメリーダの鴞」より、ピノコのつぶやき

「女性はなにをするにしても、男性の倍うまく行なわなければ。でも、幸いなことに、これは難しいことではありません。」
... シャーロット・ウィトン

「男は常に女の初恋の人でありたがる。それが男の無様な虚栄である。」
... オスカー・ワイルド

「男は上手をいく女には、めったに手を出さぬもの。」
... フランクリン・P・ジョーンズ

「恋する男は己の能力以上に愛されたいと願望する人間だ。それがすべての恋する男を滑稽にする。」
... フランソワ=ルネ・ド・シャトーブリアン

「女がお白粉を塗りたくることも、いやというほど聞かされている。神から授かった顔があるのに、女は自分でそれを別の顔にしてしまうのだ。」
... シェイクスピア

「男と女のあいだには友情は成立しない。情熱、敵意、崇拝、愛は存在しうるが、友情は無理だ。」
... オスカー・ワイルド

「歳をとったら女房の悪口を言っちゃいけません。ひたすら感謝する。これは愛情じゃありません。生きる知恵です。」
... 永六輔