Introduction to EC2
Elastic Compute Cloud (EC2) provides the compute power on AWS. This is a Virtual Machine, or instance, running on supported versions of either Linux or Windows.
- Management of the operating system upwards is with the user which include patching and application installation and maintenance
- Can launch using standard or custom AMIs (Amazon Machine Images) which can be pre-configured with your applications, libraries, data, and associated settings.
- Firstly choose the Availability Zone in which the instance is located
- AWS allows you the choice of various numbers of Virtual CPUs and sizes of memory.
- Some configurations are optimized for computation, memory, storage and acceleration as well as general purpose usage.
- Instances has can purchased on demand, as spot instances (discounted but may have availability limited), as reserved instances (guaranteed but you pay whether you use them on not) or as part as a savings plan (committed monthly volume of spend across the account).
- You can also specify the use of dedicated host if you must ensure your instance does not share hardware with other accounts
- Per second billing is available for instances running Amazon Linux or Ubuntu when purchased on demand on for spot instances
- AWS give SLA commitment of 99.99% availability for each Amazon EC2 region. Each region consists of at least 3 availability zones. This is achieved by using an autoscaling group that places one or more instances in at least 3 of the availability zones in the region.
Use Cases For Using EC2
- where you have specific operating system requirements not supported by AWS managed solutions
- where you have specific networking requirements not supported by AWS managed solutions
- where you have specific storage requirements not supported by AWS managed solutions
- where you have specific security requirements not supported by AWS managed solutions
- where you have specific compliance requirements not supported by AWS managed solutions
- where you have specific control requirements not supported by AWS managed solutions
- where you want to lift and shift and application to the cloud with no or minimal changes
Use Cases For Not Using EC2
- when you have sufficient time to exploit AWS managed services
- when employing AWS services would allow reduction in cost
- when employing AWS services would allow an increase in reliability, scalability and performance of the application
- when employing AWS services would improve the flexibility and ease of change of the application
Good Companions For Amazon EC2
- Elastic Block Storage
- Elastic File Storage
- Elastic IP Addresses
- Elastic Load Balancers
- Auto Scaling Groups
- AWS Private Link (over AWS Direct Connect)
- Amazon Time Sync Service
Advanced Features of EC2
- Amazon EC2 bare metal instances provide your applications with direct access to the processor and memory of the underlying server.
- High Performance Computing (HPC) Clusters
- Enhanced Networking
- Elastic Fabric Adapter (Fast interconnect for HPC clusters)