Amazon Silk: Amazon’s Revolutionary Cloud Accelerated Web Browser
A run down of the Silk browser from the Engineers over at Amazon (written version below):
Browsers have been built the same way for the last 15 to 20 years without a whole lot of new architectural approaches. We stopped, stepped back, and took a fundamentally different look at a web browser. We asked how would you build a browser in the era of cloud computing.
If you look at a typical browser today, it’s based on original browser designs from the mid-90s, back when the web was much simpler. We didn’t have mole devices. We didn’t have large amounts of content to the extent we do today. We started to look at the difference between mobile devices and the desktop experience. And we noticed that there’s a very big gap just between the performance of loading a page. What do customers really care about? They care about the time is takes to get something that’s usable on the screen. We really wanted to remove those limitations by taking advantage of Amazon Web Services.
So when you think about different types of computers, different ways to access the internet, each form is meant for specific capabilities. Massive desktop computers that meant for really heavy duty graphics processing. As you go down the chain, with more and more accessible form factors like a tablet, it’s just not meant to do that sort of stuff. It’s not meant to process and crunch a lot of heavy data. But when you add the capabilities of our cloud, where you’ve got EC2 instances with 68 gigs of RAM and eight cores and they’re sitting right there on this massive optical, they can take that work off and still get the great form factor and the experience of the Kindle Fire but you’ve got this huge amount of power behind it.
The biggest differentiator in the Silk browser is the fact that it’s split between what runs on your device and what runs in the cloud. We’ve effectively taken a decentralized look at the subsystems and split them apart, decoupled them. And we’ve placed all these subsystems both locally on the Kindle Fire device and as well remotely on the Amazon Computing cloud. By building a browser that is smart, that is split between a front and back end, where the back end can do all those optimizations, we’ve really changed the game.
So with a typical web request, on any normal browser, which you’re going to do with every page request, with clicking to another page from the site you’re on, you’ve got to go out and do some DNS resolutions. You’ve got to go figure out where is the origin server. Issue that request, there’s a TCP handshake, ask them for the content you want, there’s an acknowledgement back to you, punching back and forth all these steps. Your device is going to have to go back and forth across that wireless network perhaps dozens of times to get all the page assets. And that’s every time. Every time you’re making a trip across the last mile and then waiting for things to get resolved out on the big internet, that’s just time when the user is sitting there waiting. Each of those hoffs is going to be a minimum of a 100 milliseconds. Now when you think about a split browser where you’re requesting assets from a browser that’s running on the cloud, and when a lot of those assets are living on the very same cloud, that’s a 5 millisecond request. Now when you think about the 80 some files on a typical webpage, that difference really adds up.
We can optimize what we’re sending back to the device to account for screen size, pixel depth. There’s no point in giving you a 3MB jpeg if it’s going to look the same when it’s 50kb. So we make that image 50k and it gets to your browser a lot faster. The browser observes aggregate user behaviour across a large number of sites. For instance, people who view the New York Times home page often go to the NYT business page afterwards. Our browser is capable of detecting aggregate user behaviour patterns and actually requesting the next page you’re likely to need before you even know you need it.
We decided to call our browser Amazon silk, because a thread of Silk is an invisible yet incredibly strong connection between two different things. In our case, it’s the connection between your Kindle Fire and the Amazon compute cloud. It’s the bringing together of those two elements to create a better web browser.
Because Amazon was a pioneer in cloud computing, that gave us a different perspective. It wasn’t just about an application that sits on a device somewhere. It was about building a whole new system. Let’s build a split browser architecture that leverages this great strength we’ve got with our AWS cloud to kind of change the whole game and and really rethink how we do web browsers.
I’m sure you’ve had the experience where you’re trying to load a page and the browser is just sitting there hanging. You wish you were on a better network. We’re on a better network. Our backend has some of the fattest pipes to the internet that you’ll find. We do all the heavy lifting on the backend and serve optimized content over this dedicated channel back to your device so you don’t have to worry about it.
There’s a lot of great innovations that we’re really excited about with this new browser. Especially around the split browser architecture. All the stuff that enables, with image compression, or predictive rendering or machine learning. All the great stuff we can do. The great thing in my opinion you don’t have to think about any of that. Amazon Silk will seem like a traditional browser, just a lot better and lot faster than you’re used to working with.