Design an Enterprise Remote Browser Isolation System
OracleSoftware Engineer · OnsiteLast updated
This problem tests the ability to architect a low-latency, secure isolation platform that bridges the gap between untrusted web content and enterprise endpoints.
Design an Enterprise Remote Browser Isolation (RBI) System
Design a Remote Browser Isolation (RBI) system for an enterprise. The goal is to ensure that when an employee clicks a link, the actual webpage rendering and code execution occur within a secure, disposable environment in the cloud rather than on the user's local machine.
Functional Requirements
- Isolation: Web content (HTML, JS, CSS) must be processed on a remote virtual browser instance.
- Visual Streaming: The user must experience a seamless visual interaction (the "feel" of a local browser) while accessing the remote content.
- Policy Enforcement: Administrators must be able to block specific scripts or sites.
Non-Functional Requirements
- Low Latency: Interactive elements (scrolling, clicking) must feel near-instant.
- Scalability: Support 50,000 concurrent browsing sessions across a global workforce.
- Security: Ensure no malicious code can persist between sessions or escape the isolated environment.
Scope of Response
- Define the architecture of the browser node (e.g., containerization, VDI).
- Describe the protocol used to stream pixels/events between the browser node and the client browser.
- Outline how you would handle session persistence and state.
- Discuss the trade-offs between pixel-perfect rendering (streaming bitmaps) vs. DOM reconstruction (rebuilding parts of the page on the local client).
Hints
Hint 1
Consider the trade-off between streaming raw video frames (high bandwidth, high CPU load on server) versus sending DOM updates (lower bandwidth, complex state synchronization).
Hint 2
Think about how to use short-lived, disposable containers or micro-VMs to ensure session isolation and security.
Hint 3
Address the challenge of global latency by incorporating an edge-computing strategy or a global load balancer to route users to the nearest data center.
Follow-up questions
- How would you handle high-fidelity audio and video playback within this isolated environment without overwhelming the network?
- How do you ensure that enterprise credentials or browser cookies are protected from the infrastructure hosting the isolated session?
- What metrics would you monitor to detect if a browser node is being compromised or is experiencing performance degradation?
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.