Just having Docker won't give you the same that you can get from AWS RDS, S3, Glacier, Redshift, Route 53, etc.
While native Docker clustering is cool in theory, I think the vast amount of complexity around networking makes it unsuitable for production deployments at this time. If stability is more important than bells and whistles, ECS is great choice. Docker's production story, outside of simply running containers, has a lot to be desired.
DNS + a load balancer is proven and stable. We have 65,536 available ports on linux, and doing port mapping to prevent conflicts across containers is trivial (Empire handles this for us). Client side service discovery is usually unnecessary for most Docker use cases (stateless services), where a load balancer is a better fit (why push load balancing to clients? Would you expect your browser to have to load balance when visiting google.com?).
I'm sure there are cases where networking overlays are a good fit, I just haven't found one yet.
> I'm assuming you're referring to instabilities in Docker networking
I don't know... whichever instabilities you were thinking of when you said "If stability is more important than bells and whistles..."http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create...
one nick against beanstalk is that it could be faster doing all those things, but it's tolerable considering alternatives.
- Elastic Beanstalk does not provide a native Docker experience. You're forced to use AWS own way of defining services and dependencies (Dockerrurn.aws.json, which comes in two versions). This means you cannot longer use docker-compose, and not all of the options from `docker run` are available (logging driver, privileged containers, though I think the ability to run privileged containers was recently added).
- From my personal experience deployment times can be unacceptable long ranging from 5 - 20 mins. They get longer as you add more instances to the environment or if the instances are not powerful enough.
I think Elastic Beanstalk makes a good choice for starters or for not so mission-critical applications.As a result of the points explained above I'm now looking into more Docker-centric solutions such Rancher/Kubernete or Docker's UCP.
After further review, they don't seem to have a product similar to SNS, looks like I might be able to do most of the same things with Pub/Sub though.
The K is for Kubernetes :)
Similar from what I can tell with CloudSearch being superceded by Elasticsearch Service. Although their version of elasticsearch is ~2 years old and hasn't been updated since they launched the service, so this may be a case where neither are getting any attention.
The worst part is, AWS support is so tight-lipped in the forums and over web support that there's no way to tell what is still fully supported and what's being silently put out to pasture. You have to look for hints based on what products they're doing webinars about, looking at the momentum of what products they're making tweaks to in the weekly update emails, etc.
Interested to know because we're considering cloud providers.
Isn't there usually some sort of "disclosure: I work for Google"? Your post-history seems very one-sided. :)
I could make a long list with such issues... If the price is the most important factor and you need basic cloud features and you are fine with a beta label GCP may work for you, otherwise you should look elsewhere.
https://news.spotify.com/us/2016/02/23/announcing-spotify-in...
Also a ton of third-party tools and documentation are built with aws support in mind.
This is mostly because turn-key kubernetes on GCE is light years ahead of what ECS provides. It almost makes amazon's offering seem like a joke.
This might level the playing field a bit by having Docker itself provide the infrastructure management software instead of it being tied to a particular service.