ServerのSubscriptionはインメモリのイベントシステムで実装されているWebSocketをサポートしているインフラを選定する必要がある本当にSubscriptionが必要が見極める今回作成したアプリケーションでは、QueryとMutationのAPIのみを取り扱い、Subscriptionは扱いませんでした。Serverの3.x系ではデフォルトでSubscriptionの実装をサポートしていません。追加のパッケージをインストールし、Subscription用の実装を行えば実現することは可能です。https://www.apollographql.com/docs/apollo-server/data/subscription可能ではあるのですが、いくつか注意点があります。Runのように複数のコンテナインスタンスでアプリケーションが動いている場合、あるインスタンスAで発行されたイベントは、インスタンスBには通知されないということです。そのため、コミュニティで作成されたライブラリを選択・導入し、Redisなどの外部のデータストアを通じてイベントのやりとりをするように実装しなければなりません。これを知っておかないと、思わぬバグに繋がる恐れがありそうなので、十分に注意してください。WebSocketをサポートしているインフラを選定する必要があるGraphQLのSubscriptionはWebSocketを使って実現されています。Serverを動かす必要があります。Serverをデプロイした場合、Subscriptionを使用することはできませんでした。そのため、開発するアプリケーションでSubscriptionを使う必要がある場合、インフラの選定から注意が必要です。本当にSubscriptionが必要が見極めるリアルタイム性が重要なチャットがメインのアプリケーションなどであればSubscriptionが必要かもしれません。多くの場合Subscriptionは必要ないはずです。Apolloのドキュメントでも、クライアントからのポーリングやユーザーの何かしらのアクション実行時にフェッチを実行することでカバーできるはずと書いてあります。ServerでSubscriptionを実装する場合、前述の通りRedisなどの外部のデータストアを通じてPubSubを実装する必要があり、実装の複雑度が若干増します。AppSyncの利用を考えてみるのもアリでしょう。