Empire is a control layer on top of Amazon EC2 Container Service (ECS) that provides a Heroku-like workflow. It conforms to a subset of the Heroku Platform API, which means you can use the same tools and processes that you use with Heroku, but with all the power of EC2 and Docker. Empire is targeted at small to medium-sized startups that are running a large number of microservices and need more flexibility than what Heroku provides. You can read the original blog post about why we built Empire on the Remind engineering blog. Empire aims to make it trivially easy to deploy a container-based microservices architecture, without all of the complexities of managing systems like Mesos or Kubernetes. ECS takes care of much of that work, but Empire attempts to enhance the interface to ECS for deploying and maintaining applications, allowing you to deploy Docker images.
Features
- Empire supports a subset of the Heroku Platform API
- Any tool that uses the Heroku API can probably be used with Empire, if the endpoint is supported
- Empire's routing layer is backed by internal ELBs
- Any application that specifies a web process will get an internal ELB attached to its associated ECS Service
- When a new internal ELB is created, an associated CNAME record will be created in Route53 under the internal TLD
- Any tagged Docker image can be deployed to Empire as an app