バックエンドの技術の種類 - サーバーで動く技術紹介
前置き
※ この記事は、AI全盛期において、敢えて基本に立ち返った技術要素を知ることを目的にしています。
- この記事は、ソフトウェア初学者向けに全体像をつかむことを目的にした解説です。
- 理解しやすさを優先するため、細かな例外や厳密な定義は一部省略しています。
- 個々の技術の詳細や最新動向は、各公式ドキュメントで補完してください。
この記事でわかること(概要)
- バックエンドの技術を「4つの部品」で分類した地図
- 代表的な言語・フレームワーク・データベースが、地図のどこに位置するか
- 「バックエンドは言語を選べる」という、フロントとの大きな違い
この記事の要点
- バックエンドは「言語・Webフレームワーク・データベース・実行環境」の組み合わせでできています。
- フロントと違い、言語は目的や組織に合わせて自由に選べます。
- 技術の名前を覚えるより、「どの部品にあたる技術か」を判別できることが重要です。
まず全体像:バックエンドは4つの部品でできている
バックエンドも技術の名前が多く、最初は圧倒されがちです。
ですが、次の4つの部品に分けて見ると、ほとんどの技術は地図のどこかに置けます。
| 部品 | 役割 | 代表的な技術 |
|---|---|---|
| 1. 言語 | 処理そのものを書く | Python、Java、C#、PHP、Go、Ruby、JavaScript(Node.js) |
| 2. Webフレームワーク | 定型作業をまとめて効率化する | Spring、Django、Ruby on Rails、Laravel、Express など |
| 3. データベース | データを保存・取り出す | PostgreSQL、MySQL、SQLite、MongoDB など |
| 4. 実行環境 | プログラムを動かす場所 | 自前サーバー、クラウド、コンテナ、機器内蔵 |
前回の「受け付ける・判断する・保存する」を、実際に担うのがこの4部品です。ここから1つずつ見ていきます。
1. 言語:フロントと違い「選べる」
フロントエンドはJavaScriptが事実上必須でしたが、バックエンドの言語は自由に選べます。 目的や、チームが得意な言語で決めるのが一般的です。
代表的な言語と、だいたいの利用の広がりは次のとおりです。
| 言語 | よく使われる場面 | 使う人の割合(めやす) |
|---|---|---|
| Python | Web全般・データ・AI | 約58% |
| Java | 業務・大規模システム | 約29% |
| C# | 業務・Windows系・ゲーム | 約28% |
| PHP | Web(CMSや既存システム) | 約19% |
| Go | 高速なサーバー・基盤系 | 約16% |
| Ruby | Webサービス | 約6% |
| JavaScript(Node.js) | フロントと同じ言語でサーバーも書ける | (JS全体で約66%) |
数値は「その言語を使ったことがある人の割合」の目安です。順位そのものより、「近年はPythonが伸び、Java・C#が業務で根強い」という大まかな傾向として捉えてください。
この傾向は、Stack Overflow Developer Survey 2025 をもとにした概観です。調査・年によって数値は変動します。
2. Webフレームワーク:言語ごとの「定番の道具箱」
バックエンドでは、リクエストの振り分け(ルーティング)、データベース接続、認証の土台といった定型作業が毎回発生します。これらをまとめて用意してくれるのがWebフレームワークです。
フロントのReactなどと同じで、「別の言語」ではなくその言語で書かれた道具です。言語ごとに定番があります。
| 言語 | 代表的なWebフレームワーク |
|---|---|
| Python | Django、Flask、FastAPI |
| Java | Spring(Spring Boot) |
| Ruby | Ruby on Rails |
| PHP | Laravel |
| C# | ASP.NET |
| JavaScript(Node.js) | Express、NestJS |
フレームワークを使うと、ゼロから作るより早く、安全に、他の人にも読みやすい形で組み立てられます。
3. データベース:データの保管庫(大きく2種類)
「保存する」を担うのがデータベースです。大きく2つのタイプがあります。
- RDB(リレーショナルデータベース): 表(テーブル)の形でデータを整理し、関係を扱うのが得意。今の主流です。
- NoSQL: 表の形にとらわれず、柔軟な形や高速な読み書きが得意。用途を絞って使われます。
代表的なものと、だいたいの利用の広がりです。
| タイプ | 代表 | 使う人の割合(めやす) |
|---|---|---|
| RDB | PostgreSQL | 約56%(最多) |
| RDB | MySQL | 約41% |
| RDB | SQLite | 約38% |
| RDB | Microsoft SQL Server | 約30% |
| NoSQL(インメモリのデータストア/キャッシュ用途が多い) | Redis | 約28% |
| NoSQL(柔軟な文書型) | MongoDB | 約24% |
数値は Stack Overflow Developer Survey 2025 の概観です。近年はPostgreSQLの利用が広がり、最も使われるデータベースになっています。
まずは「多くの場面ではRDB(特にPostgreSQLやMySQL)が基本で、用途に応じてNoSQLを足す」と押さえておけば十分です。
4. 実行環境:どこで動かすか
前回、サーバーには「オンプレ型・クラウド型・機器内蔵型」があると触れました。ここではもう少しだけ補足します。
- オンプレ型: 自社の施設にサーバー機を置いて運用。自由度が高い反面、管理の手間がかかります。
- クラウド型: AWS・Azure・Google Cloudなどから借りる。必要な分だけ使え、近年の主流のひとつです。
- 機器内蔵型: ルーターやIoT機器の中で小さなサーバーが動く形。
- コンテナ: アプリを「実行環境ごと箱詰め」して、どこでも同じように動かしやすくする仕組み(Dockerが代表)。「自分のPCでは動くのに本番で動かない」を減らせます。
実行環境は「どこで・どう動かすか」の話で、言語やフレームワークとは別の部品だと捉えると整理しやすくなります。
バックエンドを構成する4つの部品(図)
勘違いしやすい解釈
-
「一番人気の言語を選べば正解」ではありません。
言語は適材適所です。既存システムの言語、チームの得意分野、扱う分野(Web・データ・組み込みなど)で選ばれます。「人気=自分の現場の正解」とは限りません。 -
「フレームワーク=言語」ではありません。
フレームワークはその言語で書かれた道具です。たとえばSpringはJava、DjangoはPythonの道具で、言語そのものではありません。 -
「NoSQLの方が新しくて優れている」ではありません。
多くの業務システムではRDBが基本です。NoSQLは高速なキャッシュや柔軟なデータなど、得意な場面で使い分けるものです。
実際の業務で押さえておきたいポイント
- 新しい技術の名前を聞いたら、まず「言語・フレームワーク・データベース・実行環境のどれか」を確認する癖をつけると、混乱しにくくなります。
- 配属先のシステムで使われている技術を、この4部品に当てはめて書き出してみると、学ぶ順番の見当がつきます。
- 実務では、言語そのものより使っているフレームワークとデータベースの流儀を覚える方が、早く戦力になれる場面が多いです。
まとめ
- バックエンドは「言語・Webフレームワーク・データベース・実行環境」の4部品の組み合わせでできています。
- フロントと違い、言語は目的や組織に合わせて選べます。
- 名前を覚えるより、「どの部品にあたる技術か」を判別できることが大切です。
- 次回は、これらを使ってバックエンドが実際にどう動くのか(API・データ・認証)を、もう一段詳しく見ていきます。
この理解のあとに進めていけること
- 気になるバックエンドの技術(見聞きした名前でOK)を3つ挙げて、それぞれ「言語・フレームワーク・データベース・実行環境」のどれにあたるか調べて分類してみます。関わっているシステムがあれば、その4部品を書き出してみるのもおすすめです。
関連リンク
- 前回: バックエンドとは何者か(サーバーの中で動くプログラム)
- 次回: バックエンドのちょっと詳しいアーキ的な仕組み(API・データ・認証)(公開後にURL追記)
- 関連: フロントエンドの技術の種類 - WEBブラウザで動く技術紹介
- 関連: フロントエンドとバックエンドの違い - 実行環境・技術選択・責任範囲で整理する