SlideShare a Scribd company logo
1 of 41
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS re:INVENT
C5 Instances and the Evolution of
Amazon EC2 Virtualization
C M P 3 3 2
N o v e m b e r 2 9 , 2 0 1 7
A n t h o n y L i g u o r i , S e n i o r P r i n c i p a l E n g i n e e r , E C 2
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introductions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
 What is the Nitro Project and how does it relate to AWS C5?
 Background on virtualization
 The evolution of the Nitro Project
 Compatibility
 FAQ
 What’s next
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From the C5 launch:
Q. What is the new hypervisor for Amazon EC2?
The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that
primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are
implemented by dedicated hardware components that are part of all current generation EC2 instance families.
It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose
operating system components.
What is Nitro?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From the C5 launch:
Q. What is the new hypervisor for Amazon EC2?
The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that
primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are
implemented by dedicated hardware components that are part of all current generation EC2 instance families.
It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose
operating system components.
The Nitro Hypervisor is the “new hypervisor,” but more than just a hypervisor
What is Nitro?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Stepping back...
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
ERROR
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 Operating Systems use special instructions that are not available to applications.
 A processor is virtualizable when access to these instructions cause an error that privileged software can
intercept or trap.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Virtualization
ERROR
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Trap & Emulate: Virtual Machine Monitor
TRAP
VMM
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Trap & Emulate
VMM
EMULATE
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Trap & Emulate
VMM
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 The VMM is the heart of a hypervisor.
 As long as a statistical majority of instructions execute natively, we call this virtualization.
 Not all emulation can be handled by the VMM.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
Trap & Emulate
EMULATE
VMM
TRAP
Device
Model
Device
Model
Device
Model
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 A hypervisor consists of:
 - Virtual Machine Monitor
 - Many device models (10 to 100s)
 - Scheduler, memory manager, etc.
 This was state of the art in 1974
 Not all of the assumptions held true though...
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
 Early Intel processors did not trap
 The Xen project found a clever solution
 Paravirtualization modifies the OS to trap
 Hypercalls directly invoke the VMM
 EC2 launched using Xen Paravirtualization
From 1974 to 2006
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f HYPERCALL io_in
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Evolution of the Nitro System
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Circa 2012
 Can we do better than the software-only hypervisor architecture?
 Device models compete for CPU and system resources, jitter is hard to avoid.
 Can we decompose the hypervisor and shuffle components around?
 Let’s begin our journey with the state of the art instance type from 2012.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CR1 (no Nitro) Jan 2013
Amazon
RDS
IAM
Amazon
Linux
cr1.8xlarge
EBS Volumes
Hardware Software
DM
Instance Storage
DM DM DM
VPC Networking
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CR1 (no Nitro) Jan 2013
Amazon
RDS
IAM
Amazon
Linux
cr1.8xlarge
EBS Volumes
Hardware Software
DM
Instance Storage
DM DM DM
VPC Networking
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C3 (early Nitro) Nov 2013
Amazon
RDS
IAM
Amazon
Linux
c3.8xlarge
Enhanced Networking
Hardware Software
DMDM DM EBS Volumes
Instance Storage
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C3 (early Nitro) Nov 2013
Amazon
RDS
IAM
Amazon
Linux
c3.8xlarge
Enhanced Networking
Hardware Software
DMDM DM EBS Volumes
Instance Storage
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C4 Jan 2015
Amazon
RDS
IAM
Amazon
Linux
c4.8xlarge
EBS Volumes
Enhanced Networking
Hardware Software
DM EBS Volumes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C4 Jan 2015
Amazon
RDS
IAM
Amazon
Linux
c4.8xlarge
EBS Volumes
Enhanced Networking
Hardware Software
DM EBS Volumes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X1 May 2016
Amazon
RDS
IAM
Amazon
Linux
x1.32xlarge
Instance Storage
Enhanced Networking
Hardware Software
DM DM EBS Volumes
Instance Storage
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X1 May 2016
Amazon
RDS
IAM
Amazon
Linux
x1.32xlarge
Instance Storage
Enhanced Networking
Hardware Software
DM DM EBS Volumes
Instance Storage
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I3 Feb 2017
Amazon
RDS
IAM
Amazon
Linux
i3.16xlarge
EBS Volumes
Instance Storage
Enhanced Networking
Hardware Software
DM
DM EBS Volumes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I3 Feb 2017
Amazon
RDS
IAM
Amazon
Linux
i3.16xlarge
EBS Volumes
Instance Storage
Enhanced Networking
Hardware Software
DM
DM EBS Volumes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C5 Nov 2017
Amazon
RDS
IAM
c5.18xlarge
EBS Volumes
Enhanced Networking
Hardware Software
Nitro Hypervisor
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 Bare Metal Nov 2017
Amazon
RDS
IAM
i3.metal
EBS Volumes
Instance Storage
Enhanced Networking
Hardware
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VMware on AWS Aug 2017
Amazon
RDS
IAM
i3.metal
EBS Volumes
Instance Storage
Enhanced Networking
Hardware
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
 Nitro Hypervisor
 Lightweight hypervisor
 Nitro Card
 Storage
 Networking
 Management
 Monitoring
 Security
 Nitro Security Chip
 Integrated into the motherboard
The Nitro System
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
2) Will applications need to be modified?
Most of the time, no. Some applications have relied on undocumented behavior to detect they are running
within EC2 and they may require adjustment.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
2) Will applications need to be modified?
Most of the time, no. Some applications have relied on undocumented behavior to detect they are running
within EC2 and they may require adjustment.
3) Will all new instance types be based on the Nitro System?
In the fullness of time, we expect most (if not all) new instance types to be Nitro-based. We have no plans to
convert existing instance types to Nitro and expect to continue to launch Xen based instance types where
appropriate.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What’s next?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

More Related Content

What's hot

コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201Manabu Ori
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVRToru Makabe
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014Amazon Web Services
 
pixivのインフラを支える技術
pixivのインフラを支える技術pixivのインフラを支える技術
pixivのインフラを支える技術Ryuta Kamizono
 
Evolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNEvolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNBelmiro Moreira
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵Amazon Web Services Korea
 
Openstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud NetworkingOpenstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud NetworkingShannon McFarland
 
RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会Ken SASAKI
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 

What's hot (20)

コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
OpenStack and ACI
OpenStack and ACIOpenStack and ACI
OpenStack and ACI
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
Paxos
PaxosPaxos
Paxos
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
 
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~
 
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
 
pixivのインフラを支える技術
pixivのインフラを支える技術pixivのインフラを支える技術
pixivのインフラを支える技術
 
Evolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNEvolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERN
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
Openstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud NetworkingOpenstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud Networking
 
RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 

Similar to C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Invent 2017

Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Amazon Web Services
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Amazon Web Services
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Amazon Web Services
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...The Linux Foundation
 
Accelerated Windows Malware Analysis with Memory Dumps
Accelerated Windows Malware Analysis with Memory DumpsAccelerated Windows Malware Analysis with Memory Dumps
Accelerated Windows Malware Analysis with Memory DumpsDmitry Vostokov
 
Kansas City WordCamp - Website Performance
Kansas City WordCamp - Website PerformanceKansas City WordCamp - Website Performance
Kansas City WordCamp - Website PerformanceKevin Potts
 
Minimalism in Web Development
Minimalism in Web DevelopmentMinimalism in Web Development
Minimalism in Web DevelopmentJamie Matthews
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdfPhmNgcTr3
 
UIWebViewでつくるUI
UIWebViewでつくるUIUIWebViewでつくるUI
UIWebViewでつくるUIcocopon
 
State of the Union: Compute & DevOps
State of the Union: Compute & DevOpsState of the Union: Compute & DevOps
State of the Union: Compute & DevOpsAmazon Web Services
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assemblyMarian Marinov
 
4 Node.js Gotchas: What your ops team needs to know
4 Node.js Gotchas: What your ops team needs to know4 Node.js Gotchas: What your ops team needs to know
4 Node.js Gotchas: What your ops team needs to knowDynatrace
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingBozhidar Batsov
 
Web Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleWeb Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleEstelle Weyl
 
SAP (in)security: Scrubbing SAP clean with SOAP
SAP (in)security: Scrubbing SAP clean with SOAPSAP (in)security: Scrubbing SAP clean with SOAP
SAP (in)security: Scrubbing SAP clean with SOAPChris John Riley
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVMJohn Lee
 
Panic report 121112
Panic report 121112Panic report 121112
Panic report 121112wangxueGT
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbsvarien
 
[第34回 WBA若手の会勉強会] Microsoft AI platform
[第34回 WBA若手の会勉強会] Microsoft AI platform[第34回 WBA若手の会勉強会] Microsoft AI platform
[第34回 WBA若手の会勉強会] Microsoft AI platformNaoki (Neo) SATO
 

Similar to C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Invent 2017 (20)

Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
 
Accelerated Windows Malware Analysis with Memory Dumps
Accelerated Windows Malware Analysis with Memory DumpsAccelerated Windows Malware Analysis with Memory Dumps
Accelerated Windows Malware Analysis with Memory Dumps
 
Kansas City WordCamp - Website Performance
Kansas City WordCamp - Website PerformanceKansas City WordCamp - Website Performance
Kansas City WordCamp - Website Performance
 
Minimalism in Web Development
Minimalism in Web DevelopmentMinimalism in Web Development
Minimalism in Web Development
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf
 
UIWebViewでつくるUI
UIWebViewでつくるUIUIWebViewでつくるUI
UIWebViewでつくるUI
 
State of the Union: Compute & DevOps
State of the Union: Compute & DevOpsState of the Union: Compute & DevOps
State of the Union: Compute & DevOps
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assembly
 
4 Node.js Gotchas: What your ops team needs to know
4 Node.js Gotchas: What your ops team needs to know4 Node.js Gotchas: What your ops team needs to know
4 Node.js Gotchas: What your ops team needs to know
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programing
 
Web Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleWeb Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at Google
 
RIAs
RIAsRIAs
RIAs
 
SAP (in)security: Scrubbing SAP clean with SOAP
SAP (in)security: Scrubbing SAP clean with SOAPSAP (in)security: Scrubbing SAP clean with SOAP
SAP (in)security: Scrubbing SAP clean with SOAP
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVM
 
Panic report 121112
Panic report 121112Panic report 121112
Panic report 121112
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
[第34回 WBA若手の会勉強会] Microsoft AI platform
[第34回 WBA若手の会勉強会] Microsoft AI platform[第34回 WBA若手の会勉強会] Microsoft AI platform
[第34回 WBA若手の会勉強会] Microsoft AI platform
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Invent 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS re:INVENT C5 Instances and the Evolution of Amazon EC2 Virtualization C M P 3 3 2 N o v e m b e r 2 9 , 2 0 1 7 A n t h o n y L i g u o r i , S e n i o r P r i n c i p a l E n g i n e e r , E C 2
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introductions
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda  What is the Nitro Project and how does it relate to AWS C5?  Background on virtualization  The evolution of the Nitro Project  Compatibility  FAQ  What’s next
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. From the C5 launch: Q. What is the new hypervisor for Amazon EC2? The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are implemented by dedicated hardware components that are part of all current generation EC2 instance families. It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose operating system components. What is Nitro?
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. From the C5 launch: Q. What is the new hypervisor for Amazon EC2? The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are implemented by dedicated hardware components that are part of all current generation EC2 instance families. It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose operating system components. The Nitro Hypervisor is the “new hypervisor,” but more than just a hypervisor What is Nitro?
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Stepping back...
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization ERROR
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  Operating Systems use special instructions that are not available to applications.  A processor is virtualizable when access to these instructions cause an error that privileged software can intercept or trap.
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Virtualization ERROR
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Trap & Emulate: Virtual Machine Monitor TRAP VMM
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Trap & Emulate VMM EMULATE
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Trap & Emulate VMM
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  The VMM is the heart of a hypervisor.  As long as a statistical majority of instructions execute natively, we call this virtualization.  Not all emulation can be handled by the VMM.
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) Trap & Emulate EMULATE VMM TRAP Device Model Device Model Device Model
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  A hypervisor consists of:  - Virtual Machine Monitor  - Many device models (10 to 100s)  - Scheduler, memory manager, etc.  This was state of the art in 1974  Not all of the assumptions held true though...
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.  Early Intel processors did not trap  The Xen project found a clever solution  Paravirtualization modifies the OS to trap  Hypercalls directly invoke the VMM  EC2 launched using Xen Paravirtualization From 1974 to 2006 <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f HYPERCALL io_in <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Evolution of the Nitro System
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Circa 2012  Can we do better than the software-only hypervisor architecture?  Device models compete for CPU and system resources, jitter is hard to avoid.  Can we decompose the hypervisor and shuffle components around?  Let’s begin our journey with the state of the art instance type from 2012.
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CR1 (no Nitro) Jan 2013 Amazon RDS IAM Amazon Linux cr1.8xlarge EBS Volumes Hardware Software DM Instance Storage DM DM DM VPC Networking
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CR1 (no Nitro) Jan 2013 Amazon RDS IAM Amazon Linux cr1.8xlarge EBS Volumes Hardware Software DM Instance Storage DM DM DM VPC Networking
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C3 (early Nitro) Nov 2013 Amazon RDS IAM Amazon Linux c3.8xlarge Enhanced Networking Hardware Software DMDM DM EBS Volumes Instance Storage
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C3 (early Nitro) Nov 2013 Amazon RDS IAM Amazon Linux c3.8xlarge Enhanced Networking Hardware Software DMDM DM EBS Volumes Instance Storage
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C4 Jan 2015 Amazon RDS IAM Amazon Linux c4.8xlarge EBS Volumes Enhanced Networking Hardware Software DM EBS Volumes
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C4 Jan 2015 Amazon RDS IAM Amazon Linux c4.8xlarge EBS Volumes Enhanced Networking Hardware Software DM EBS Volumes
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X1 May 2016 Amazon RDS IAM Amazon Linux x1.32xlarge Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes Instance Storage
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X1 May 2016 Amazon RDS IAM Amazon Linux x1.32xlarge Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes Instance Storage
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I3 Feb 2017 Amazon RDS IAM Amazon Linux i3.16xlarge EBS Volumes Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I3 Feb 2017 Amazon RDS IAM Amazon Linux i3.16xlarge EBS Volumes Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C5 Nov 2017 Amazon RDS IAM c5.18xlarge EBS Volumes Enhanced Networking Hardware Software Nitro Hypervisor
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 Bare Metal Nov 2017 Amazon RDS IAM i3.metal EBS Volumes Instance Storage Enhanced Networking Hardware
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VMware on AWS Aug 2017 Amazon RDS IAM i3.metal EBS Volumes Instance Storage Enhanced Networking Hardware
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.  Nitro Hypervisor  Lightweight hypervisor  Nitro Card  Storage  Networking  Management  Monitoring  Security  Nitro Security Chip  Integrated into the motherboard The Nitro System
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers.
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers. 2) Will applications need to be modified? Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within EC2 and they may require adjustment.
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers. 2) Will applications need to be modified? Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within EC2 and they may require adjustment. 3) Will all new instance types be based on the Nitro System? In the fullness of time, we expect most (if not all) new instance types to be Nitro-based. We have no plans to convert existing instance types to Nitro and expect to continue to launch Xen based instance types where appropriate.
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What’s next?
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!