ENI
- ENI stands for Elastic Network Interface - essentially a virtual network card.
- ENI is used for basic networking.
- It allows:
  - A primary private IPv4 address from the IPv4 address range of your VPC.
  - One or more secondary private IPv4 addresses from the IPv4 address range of your VPC.
  - One elastic IP address (IPv4) per private IPv4 address.
  - One public IPv4 address.
  - One or more IPv6 addresses.
  - One or more security groups.
  - A MAC address.
  - A source/destination check flag.
  - A description.

- Scenarios for ENI use:
  - Create a management network.
  - Use network and security appliances in your VPC.
  - Create dual-homed instances with workloads/roles on distinct subnets.
  - Create a low-budget, high-availability solution.   
                                      
ENA
- EN stands for Enhanced Networking
- When you need speeds between 10Gbps and 100Gbps. Anywhere you need reliable, high throughput.
- Uses single root I/O virualization (SR-IOV) to provide high-performance nerworking capabilities on supported instance types.
- SR-IOV is a method of device virtualization that provides higher I/O performance and lower CPU utilization when compared to traditional virtualized network interfaces.
- Enhanced networking provides higher bandwidth, higher packet per second (PPS) performance, and consistently lower inter-instance latencies.
- There is no additional charge for using enhanced networking.
- Use where you want good networking performance.

- Depending on your instance type, enhanced networking can be enabled using:
  - ENA (Elastic Network Adapter), which supports network speeds of up to 100Gbps for supported instance types.
  - Intel 82599 Virtual Function (VF) interface, which supports network speeds of up to 10Gbps for supported instance types.
    This is typically used on older instances.
- Most of the time you probably want to use ENA over VF!
                                    
EFA
- EFA stands for Elastic Fabric Adapter
- A network device that you can attach to your EC2 instance to accelerate High Performance Computing (HPC) and machine learning applications.
- EFA provides lower and more consistent latency and higher throughput than the TCP transport traditionally used in cloud-based HPC systems.
- EFA can use OS-bypass. OS-bypass enables HPC and machine learning applications to bypass the operating system kernel and to communicate directly with the EFA device.
- It makes it a lot faster with a lot lower latency.
- Not supported with Windows currently, only Linux.
                                    
Recording