読み方 : ぎじゅつスタック
技術スタック【technology stack】テクノロジースタック
別名 :tech stack/テックスタック
概要
技術スタックとは、あるシステムやサービスを構築・運用するために使用する技術の組み合わせ全体を指す用語。プログラミング言語、フレームワーク、データベース、オペレーティングシステム(OS)などが含まれる。

「スタック」(stack)とは「積み重ね」を意味する言葉であり、システムを支える複数の技術層が積み重なった構造をイメージした表現である。Webサービスを例にとると、利用者が目にする画面を担うフロントエンド、サーバ側の処理を担うバックエンド、データを保存・管理するデータベース、そしてシステムを動かすインフラという層がそれぞれ存在する。これらすべての層で使用される技術の組み合わせが技術スタックである。
具体的な例として「LAMP」スタックがよく知られている。OSの「Linux」、Webサーバの「Apache」、データベース管理システム(DBMS)の「MySQL」、プログラミング言語の「PHP」の頭文字を繋げたもので、かつてのWeb開発で広く採用された構成だ。
現代では、「MongoDB」「Express」「React」「Node.js」を組み合わせた「MERNスタック」など、JavaScriptを中心に据えた構成も普及している。このように、人気の組み合わせには固有の名称がつけられることがあり、開発者間のコミュニケーションを簡潔にする役割も果たす。
技術スタックの選定はシステム開発の初期における重要な意思決定の一つである。採用する技術によって開発速度、保守性、スケーラビリティ、セキュリティ特性が異なるためだ。また、エンジニアの採用市場における人材の豊富さや、対応ライブラリやコミュニティの充実度も選定に影響を与える実務上の要因となる。一度採用した技術スタックを後から変更することは、システムの規模が大きくなるほど困難になるため、選定は将来性の評価なども加えて慎重に行われる。