Ok, so I am breaking with tradition here and talking about a cloud service that really doesn’t fit within the definition of SaaS but that life sometimes. A quick disclaimer: I am proud to be an Amazon shareholder, AWS user and I think this will be my first Kindle.
Amazon has announced their latest Kindle Fire with a new browser called Silk. Silk’s claim to fame is that the work it performs of downloading and rendering web page is performed partially on the device and partially in the Amazon Web Services cloud infrastructure. The use of remote cloud grunt allows them to deliver a heavily optimised, cached and lower bandwidth rendering of the web pages you view using the massive and virtually limitless machine power they own and run. Only a few companies who are vertically integrated like Amazon, Google, Apple and Microsoft can offer services like this affordably, because they own or control much of the browser, device, network and servers.
From the Amazon Kindle Fire website, here is a quick summary of the advantages and technologies in use. I look forward to getting my hands on an early Fire and try Silk out for myself.
Revolutionary Cloud-Accelerated “Split Browser”
Shorter Transit Times
Amazon EC2 is always connected to the backbone of the Internet where round-trip latency is 5 milliseconds or less to most web sites rather than the 100 milliseconds that’s typical over wireless connections. AWS also has peering relationships with major internet service providers, and many top sites are hosted on EC2. This means that many web requests will never leave the extended infrastructure of AWS, reducing transit times to only a few milliseconds.
Computing Power in the Cloud
EC2 servers have massive computational power. On EC2, available CPU, storage, and available memory can be orders of magnitudes larger than on mobile devices. Silk uses the power and speed of the EC2 server fleet to retrieve all of the components of a website simultaneously, and delivers them to Kindle Fire in a single, fast stream. Transferring computing-intensive tasks to EC2 helps to conserve your Kindle Fire battery life.
A typical web request begins with resolving the domain names associated with the server and establishing a TCP connection to issue the http request. Establishing TCP connections for each request consumes time and resources that slow down traditional browsers. Silk keeps a persistent connection open to the backend server on the AWS cloud so that there is always a connection at the ready to start loading the next page. In addition, the Silk backend server keeps persistent connections open to the top sites on the web. This approach further reduces latency that would otherwise result from constantly establishing connections. Further, the connection between Silk and the backend infrastructure uses a pipelined, multiplexing protocol that can send all the content over a single connection.
Traditional browsers must wait to receive the HTML file in order to begin downloading the other page assets. Silk is different because it learns these page characteristics automatically by aggregating the results of millions of page loads and maintaining this knowledge on EC2. While another browser might still be setting up a connection with the host server, Silk has already pushed content that it knows is associated with the page to Kindle Fire before the site has even instructed the browser where to find it.
Finally, Silk leverages the collaborative filtering techniques and machine learning algorithms Amazon has built over the last 15 years to power features such as “customers who bought this also bought…” As Silk serves up millions of page views every day, it learns more about the individual sites it renders and where users go next. By observing the aggregate traffic patterns on various web sites, it refines its heuristics, allowing for accurate predictions of the next page request. For example, Silk might observe that 85 percent of visitors to a leading news site next click on that site’s top headline. With that knowledge, EC2 and Silk together make intelligent decisions about pre-pushing content to the Kindle Fire. As a result, the next page a Kindle Fire customer is likely to visit will already be available locally in the device cache, enabling instant rendering to the screen.