Rancher is an orchestrator built on Docker. It handles scheduling of containers and certain auxilary objects (load balancers, for example) within that universe. Rancher builds on the Docker Engine and can integrate with things like Mesos and Kubernetes, but doesn't require anything else to get up and running; it comes with its own container scheduler.
Deis is an entire PaaS, designed to handle end-to-end deployment and hosting of apps. It requires Kubernetes to run, which is notoriously complex (even on Google's Cloud) and probably not worth the effort if you have a small number (some people say >10) machines.
Thank you, you really clarified my view on these tools. I don't have experience with K8 and GCE, but when it comes to AWS, it doesn't seem so complex: http://kubernetes.io/docs/getting-started-guides/aws/ but I don't have production experience with this setup either, so who knows ;).
Kubernetes is complex — no matter where you run it. Docker itself is also complex; any orchestration/scheduling system layered on top of it will by definition add a dynamism that involves complicated things happening whenever something needs to be shuffled around.
Kubernetes makes some good design decisions. For example, you can kill the master and the cluster will continue to work just fine, except no scheduling will happen. You get some operational simplicity through how Kubernetes dedicates an IP to each container, too. Several other systems (including Rancher) make the mistake of relying on DNS to abstract the locations of services from clients, but Kubernetes dedicates a single, permanent IP to each service, which is then routed it at the network level. (In case you're curious, DNS is a huge mistake because it's almost never used correctly [1], and there are numerous Rancher issues filed that all stem from this design flaw.)
I wouldn't consider Kubernetes for simple setups, even on GCE, where it's "managed". (Scarequotes because GCE starts a master for you from a prebuilt VM image, but everything else is up to you; the only real UI is the standard one the master runs.) For smaller setups, you might want to consider a simpler solution such as Docker Compose, Docker Swarm or (once it's mature enough) Nomad.
Rancher is nice, but IMHO not ready for prdoctuon; it's much too unstable for an 1.0 release. I set it up to test recently, and within a few minutes I had encountered several serious bugs and several design flaws, including the fact that Rancher's load balancer (which is just HAProxy) loses traffic whenever it's reconfigured.
AWS has the EC2 Container Service (ECS), which is essentially a proprietary Docker scheduler that AWS preinstalls on your VMs. The consensus seems to be that it's one of Amazon's worst products, which my own brief attempt at playing with it confirmed.
Sorry about the long-winded reply, it got out of hand. :-)
Rancher is an orchestrator built on Docker. It handles scheduling of containers and certain auxilary objects (load balancers, for example) within that universe. Rancher builds on the Docker Engine and can integrate with things like Mesos and Kubernetes, but doesn't require anything else to get up and running; it comes with its own container scheduler.
Deis is an entire PaaS, designed to handle end-to-end deployment and hosting of apps. It requires Kubernetes to run, which is notoriously complex (even on Google's Cloud) and probably not worth the effort if you have a small number (some people say >10) machines.