How to Ensure Your Application Runs Properly on Google Cloud Platform | Solutions for Websockets and HTTP Sessions | Optimize Your Application Performance

Ensure Your Application Runs Properly on Google Cloud Platform

Question

A lead software engineer tells you that his new application design uses websockets and HTTP sessions that are not distributed across the web servers.

You want to help him ensure his application will run properly on Google Cloud Platform.

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

Google Cloud Platform (GCP) HTTP(S) load balancing provides global load balancing for HTTP(S) requests destined for your instances.

The HTTP(S) load balancer has native support for the WebSocket protocol.

Incorrect Answers: A: HTTP server push, also known as HTTP streaming, is a client-server communication pattern that sends information from an HTTP server to a client asynchronously, without a client request.

A server push architecture is especially effective for highly interactive web or mobile applications, where one or more clients need to receive continuous information from the server.

https://cloud.google.com/compute/docs/load-balancing/http/

The lead software engineer's new application design uses websockets and HTTP sessions that are not distributed across the web servers. This design can cause issues related to scalability, high availability, and fault tolerance. As a solution architect, you need to help the engineer ensure that the application will run properly on Google Cloud Platform.

Option A - Help the engineer to convert his websocket code to use HTTP streaming: This option is not a suitable solution because HTTP streaming is not an alternative to websockets. Websockets provide full-duplex communication channels over a single TCP connection, whereas HTTP streaming uses multiple HTTP connections to send and receive data. Converting websocket code to use HTTP streaming may lead to suboptimal performance, and it would not solve the problem of session data not being distributed across web servers.

Option B - Review the encryption requirements for websocket connections with the security team: This option is not relevant to the problem at hand. While it is important to consider encryption requirements for websocket connections, it does not address the issue of session data not being distributed across web servers.

Option C - Meet with the cloud operations team and the engineer to discuss load balancer options: This is the correct option. Load balancing is a critical component of any scalable and highly available application architecture. In this scenario, the engineer's application is using websockets and HTTP sessions that are not distributed across the web servers. This design can cause issues with scalability, high availability, and fault tolerance. By meeting with the cloud operations team and the engineer, you can discuss load balancer options that will ensure that session data is distributed across web servers, and the application can scale and remain highly available.

Option D - Help the engineer redesign the application to use a distributed user session service that does not rely on websockets and HTTP sessions: This option is not suitable because it involves a complete redesign of the application. While it may be a valid solution in some scenarios, it is not necessary in this case. The engineer's application is already built, and the goal is to make sure it can run properly on Google Cloud Platform without a complete redesign.

In conclusion, the correct option is C - Meet with the cloud operations team and the engineer to discuss load balancer options.