We are moving our app to Kubernetes, to run on AWS/EC2. The nodes will run various type of apps: Nginx, Postgres, Hadoop, Django,celery.
What do you think is a good/valuable type of instance for this ? Or should we pick different instances for different pods/apps ?
What kind of instances you should pick up depends on many different factors. Amazon EC2 provides a wide selection of instance types optimized to fit different use cases. Instance types comprise varying combinations of CPU, memory, storage, and networking capacity and give you the flexibility to choose the appropriate mix of resources for your applications. Each instance type includes one or more instance sizes, allowing you to scale your resources to the requirements of your target workload.
In context of CPU and memory utilization of course bigger is better than smaller but of course prices will be higher.
To see visible results and graphs to compare performance of specific EC2 instance Metricly can help you make that decision. In this article are topics, which discusses the considerations that you need to take into account with EC2 instance type selection, as well as how to measure those aspects and the impact those choices have on cost.
Here you can find differences between some of instances and their specification: ec2-nstance-types.