AWS Docker ECS best architecture suggestion?

Hi all,

I have been working with learning AWS and currently doing a course on scaling docker to aws.  Looking for some real world feedback of good architecture.  Amazon EKS is in preview so I am going to look there if it goes mainstream.  For now I am trying to understand what is best to use aka setup an ECS cluster, task definitions and should I also use application load balancer or elastic load balancers etc. to create a solid setup for failover.  My goal is take one front end app for example maybe spread across 3 AZs in docker containers (learning docker).  I will also have a web api also in a container not sure if that also makes sense to have the same setup across 3 AZs etc.  Any suggestions if you had a front end and api how would be best real world to set it up with docker and instances?   Thanks all.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Phil PhillipsDevOps ArchitectCommented:
I haven't set up ECS specifically, but can answer to some of your overall architecture questions.

Setting up over multi availability zones is always a good practice.  2 zones have usually been more than stable enough in my experience, though nothing really wrong with going to 3 either, other than a little bit more complexity.  For spreading the services across AZs, a load balancer is definitely a good option.  For application load balancer (ALB) vs. classic/elastic load balancer (ELB), I'd go with the application one.  It was built with support for containers in mind (i.e. path based routing and the ability to route to multiple ports on an instance).  I would go ahead and keep the same setup for both the api and front-end layers.

Also, EKS looks to be very promising.  Kubernetes does seem to be the current favorite with respect to containers.  That said, nothing wrong with getting your feet wet with Docker in the meantime!

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
sbornstein2Author Commented:
Thanks Phil that is great feedback I appreciate it.
sbornstein2Author Commented:
Thanks sorry I thought I already graded this.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.