I am learning microservices and deployment through docker and kubernetes on AWS. I learned individual components of Spring cloud like Eureka, Zuul, Config server, Hystix etc. I learned docker as well as kubernetes with various resources of kubernetes like ReplicaSet, IngressService, Deployment descriptor and many more.
But there are some of features provided by multiple frameworks like below.
Routing: Spring Cloud Zuul provide routing to each microservice underneath while same feature is provided by IngressService.
ReplicaSet maintains the min/max number of pods to be running always. Same feature is provided by AWS to maintain number of instances.
Job resource provided by kubernetes which can be used for scheduled batch jobs. Same can be implemented by Spring Batch or Scheduler in AWS.
Client Side load balancing in Ribbon (spring cloud) vs AWS load balancer vs Kubernetes Load balancers
ConfigMap/Secrets in Kubernetes vs Spring Cloud Config Server
If someone guide me which feature to give preference, that will be great.
Also I did not understand how kubernetes work on AWS. if any good link will be appreciated.