LAS VEGAS — Amazon CTO Werner Vogels spent a long stretch of his AWS re:Invent keynote talking about the company’s years-long effort to reconfigure virtualization for the cloud computing era.

“Virtualization has been sort of the bread-and-butter of the compute parts of any cloud environment from day one,” dating back to its use in major mainframes in the ‘60s, he said. “It’s one of those major technical underpinnings that has really allowed cloud computing to become as big as it is.”

However, during the last few years, Amazon has “pushed the boundaries of virtualization,” most recently with its Nitro platform, which separates the underlying hardware with a light hypervisor, Vogels said.

Instead of tolerating the old “monolithic” framework of virtualization wherein guest services compete for the same network device, causing jitter and variations in latency, Amazon set out to completely rearchitect virtualization through a series of developments that began earlier this decade, he said. “Newer kind of architectures really were being hampered by the old style of virtualization.”

Moving Components to Separate Cards

With traditional virtualization techniques, the transfer of an 8-gigabyte file from AWS’ S3 platform would result in hundreds of thousands of kernel traps, Vogels explained. Amazon’s first step to overcome that challenge and to modernizing virtualization architecture was to move the network component onto a separate card in 2013, he added.

The company spent the next two years gaining the insights required to offload processing on two separate cards sitting on the same server. During that period Amazon began working with Annapurna Labs, which it later acquired in 2015, to start moving Elastic Block Store processing into a separate card. That allowed Amazon to separate volume processing from the main CPU and lead to the development of Nitro, which embeds networking functions in a separate card.

The next “major jump,” according to Vogels, occurred when Amazon began working on C5 instances in its Elastic Compute Cloud (EC2), which offloaded all input and output virtualization to separate cards. The Nitro system eventually reached completion when Amazon removed “all the other pieces of the hypervisor” and moved those functions into the control plane on a separate card, he said.

AWS Nears Bare Metal Performance

“The C5 has performance that is almost close to bare metal. This is purely because the hypervisor is so thin that it is no longer in the way of the guest [operating system] to get the performance that they want,” Vogels explained.

With that, Nitro “became a base for innovation” and enabled Amazon to do things it couldn’t do before, he said. “We could start patching the operating system, we could start patching the hypervisor from the Nitro card without anything taken down,” Vogels noted.

Nitro controls all of Amazon’s compute environments today and with further development the company wants to provide its customers with “performance at almost bare metal if that would be possible,” Vogels said. He described the effort as a “modular system” that incorporates lessons Amazon has learned in software and applies those learnings in hardware virtualization.

The cloud giant wants to “create a world where we have all these devices and they have an API,” he said. The API could be hardware like a PCI bus, but it’s still an API to actual hardware, he explained.

With this microservices approach via Nitro, Amazon has moved network management, monitoring, security, and storage off the host, resulting in a lighter hypervisor. This also enables Amazon to provide bare metal instances and laid the foundation for this week’s commercial arrival of Outposts, the cloud giant’s push into enterprise data centers.