Configure a Multi-Application Environment

This document describes how to configure a multi-application environment on Engine Yard Cloud. In other words, you already have an environment on Engine Yard and you want to deploy another application to that same environment.

Environments are language specific. Only an application of the same language can be added to an existing environment.

Important: In general, best practice is to run one production application per environment. Consider carefully whether this is the right solution for your applications.

Engine Yard recommends the following when configuring a multi-application environment:

  • Best practice is to test in a non-production environment before moving to production; consider the differences in test load versus production load.
  • Ruby: Use Passenger instead of Unicorn, especially for lower-traffic sites.
  • Confirm that any long-running tasks are on a separate worker system (for example, Sidekiq/Resque for Ruby, or another worker system in other languages) and run on a separate utility instance.

Performance Considerations

Consider the following before you configure a multi-application environment:

  • You can have only one SSL certificate per application environment.
  • The AWS hostname in your dashboard shows only the first application added to the environment. You must access all other applications by their hostname or domain name. (You configure the domain name in the dashboard using Edit Environment.)
  • You might experience memory issues. Running multiple applications on the same environment means running additional application worker processes on hardware generally intended for only one application. This will very likely result in high memory overhead and may lead to possibly severe performance degradation.
  • Environment maintenance will become more complex.
  • You might need to use custom Chef recipes.
  • High traffic volume will impact performance.

To Configure a Multi-Application Environment:

  1. Log in to your Engine Yard dashboard.
  2. Click Add an Application on the Account page.
  3. Provide the necessary information for your application then click Create Application.
  4. Click Add to Existing Environment on the Create New Environment page.


  5. Select the environment. Only environments matching the application's language appear. For example, if you have a Ruby application, then only environments with existing Ruby applications will be listed.
  6. Enter the domain name for this application. This domain name is the server name to which this application should respond. A domain name allows you to access this application through a registered domain name. Only the first application that you associated with this environment will respond to any direct requests to the AWS hostname.
  7. Click Save Domain Name.

    Your application is added to the environment.

More information

For more information about... See...
Stopping an application on a multi-application environment Stop an Application Running on a Multi-application Environment.

If you have feedback or questions about this page, add a comment below. If you need help, submit a ticket with Engine Yard Support.


Article is closed for comments.