Right choice is all it takes to get business going as expected. This in turn helps in getting cost optimized as your workloads are only being charged for the best of the service & performance delivered by the resources
Well, how do I make the right selection as per my business needs? Use AWS EC2 Instance Discovery service for the same. It is available under AWS EC2 Console -> Instance Type menu on left navigation panel.
There is a 6 dimensional instance details provided for each instance type and helps you in the decision making.
Let us pick up the highest instance configuration available as on date for our analysis
i) This is the instance discovery view, the highest form of instance available is selected here "u-24tb1.112xlarge" which is $218.4/Hr. Wow !!
ii) Obviously, CPU, architecture, memory, network has been listed against the instance type.
iii) There are further details, in the bottom part of the screen with "Instance Family", "supported root devices", "dedicated host support" etc
i) Above is the "Compute" details which lists Architecture, Free-tier eligibility & availability, Bare Metal, vCPUs, memory, clock speed - this is the core details which helps in more granular level of decision making
ii) vCPU is 448 in this example. What a configuration? :-)
i) Next is the "Networking" view with AZ, Max. no. of network interfaces supported, network performance is 100 GB, IP address, IPv6 support, placement group strategies etc
ii) Along with pricing & instance family type details, networking information gives a spectrum of possibilities that does help in Architectural decisions
i) Above is storage view, this instance doesn't have any details or support but ideally, storage GB supported, instance storage support, type of storage(SSD or not), disk count, encryption support are listed for planning
i) Accelerators are GPU, FGPAs, its memory are presented
ii) Instances with GPU are recommended for deep learning use cases where Training models are super fast. For ex. G4, G5, G6 instances
i) Finally, on-demand pricing against major OS like Windows, RHEL, SuSE, Linux are listed for easy selection
If you are ready with the instance discovery as according to the business use case, there isn't any need for switching over to EC2 console view to launch the instance. Selected EC2 instance can be launched, or created as a launch template based on the selection made from "Actions" menu in the top right corner. Apart from all these, the list of EC2 instances can be downloaded as CSV, as well
There are API support available which can be used to create EC2 using discovery, inside automation scripts, as well
There is one other place where the list of EC2 instances are made available are "EC2" creation wizard page. But below are the differences
1.) EC2 Launch Instance wizard lists out all instances available with instance family type, CPU, memory, generation & OS based pricing. All these information is listed or made available for users while doing a "Launch Instance" of EC2
2.) "Instance Type" discovery service has lot of attributes to select from like Memory, Architecture, Network performance, Storage type, on-demand rates along side
So utilize this discovery service to the core and remember right choice is also right way into optimization !! Good Luck !