クライアント側で動作するアプリケーションとサーバー側で動作するデータベースからなる2層クライアント・サーバーシステムは、さらに、ユーザーとの対話を主に行うクライアント側のプレゼンテーション層、すべてのデータ処理を行うサーバー側のアプリケーション層または機能層、同じくサーバー側のデータベース管理を行うデータ層の3つに分けることができる。
この方式の利点は、処理能力の低いクライアントマシンを使用できること、クライアントとサーバー間のデータ通信量が少なく、低速回線でも高速に応答できることなどがあげられる。
さらに、サーバー上のデータベースの構造を、クライアント側のモジュールで操作することも可能だ。
長年、クライアント/サーバーアプリケーションの設計では、3層構造が常套手段でした。しかし最近、これらの3層アプリケーションをクラウド化することを最終目的として、マイクロサービスやコンテナなどのクラウド中心技術を活用して改善する試みが行われている。