Split Browser Architecture

When a traditional browser requests a web page, the browser has to complete a series of
resource-intensive, client-side processes before it can display the page. For a typical page
request, a browser might perform a DNS look-up, open a series of TCP/IP connections to the
server, retrieve resources (HTML, CSS, JavaScript, media files), and use these resources to
generate a document object model (DOM). Then the browser’s layout engine renders a layout, and
the browser paints the page.

All of these client-server interactions can add up to slow page loads, especially given
the limited resources of a mobile device and the increasing size and complexity of modern websites.
To load a news page that features many media components and scripts, the browser might need to
make several hundred requests. And the initial page load isn’t the only aspect of browsing
that consumes system resources. Dynamic modern web pages invite many additional interactions.
Users scroll, zoom, and initiate on-page events that result in JavaScript invocations or style
recalculations. More and more, web pages are turning into long-running applications.

That's where Amazon Silk comes in. The architecture is designed for both rapid page loading
and extended engagement with the page. With Amazon Silk, much of the processing behind page
rendering can be performed in the Amazon cloud.

Instead of relying on the limited client-side processing power of a mobile device, Amazon Silk
leverages the processing power of Amazon EC2 virtual servers. The EC2 servers provide
high-performance CPUs, expansive memory, and fat network pipes, all of which help minimize
page load times.