wiki:UserGuidelines/DeploymentTools

Version 1 (modified by gnarula, 7 years ago) ( diff )

--

User Guidelines - DeploymentTools

This page documents the usage of DeploymentTools (setup template). Please refer to http://eden.sahanafoundation.org/wiki/InstallationGuidelines/Amazon#InstallingDeploymentCoapponEC2 to setup the coapp on an EC2 instance.

Workflow

The coapp allows single and 3 tier deployments (with database, webserver and Eden on separate EC2 instances). The workflow is almost the same for both with subtle differences for the 3 tier deployments.

Create EC2 Instance(s)

  • Once you've registered for Amazon's Web Services, login to the EC2 Management Console. You'll be greeted with the EC2 dashboard as in the picture below

http://eden.sahanafoundation.org/raw-attachment/wiki/InstallationGuidelines/Amazon/Dashboard.png

  • Next, click on Launch Instance. This new instance will act as a master node for future deployments. We'll use Debian as the OS but other distributions may be supported in the future. In the "Select your Amazon Machine Image" pane, select "AWS Marketplace" from the left sidebar. Scroll down, click on "Operating Systems" and select "Debian GNU/Linux"

http://eden.sahanafoundation.org/raw-attachment/wiki/InstallationGuidelines/Amazon/SelectAMI.png

  • In the next step, select the instance depending on your requirements.
  • Create a new security group with rules as displayed below (for production instance).

http://eden.sahanafoundation.org/raw-attachment/wiki/InstallationGuidelines/Amazon/SecurityGroup.png

Port 80 - HTTP Port 22 - SSH Port 5432 - PostgreSQL Port 59025 - uWSGI for Production Instance Port 59026 - uWSGI for Demo Instance Port 59027 - uWSGI for Test Instance

  • Finally, review the configuration and launch the instance. You'll be prompted to select an existing key pair or generate a new one. In case you're a new user or you don't have access to your key, generate a new keypair, save it and proceed.

In case you wish to have a 3-tier deployment, create 3 servers in total with security groups allowing permission for HTTP and SSH in all, PostgreSQL in one and uWSGI (deopending on instance type) on the 3rd one.

Create Deployment using the CoApp

  • Register an account so that you may have permissions to create new deployments
  • Once that's done, click on "Deploy Eden" and "Add Record" to deploy a new Eden instance
  • In the "Server Role" section of the form, if you wish to use a single EC2 instance for the deployment, select "all" as the role and enter the Elastic-IP in the "Host IP" field. On the other hand, if you wish to create a 3-tier deployment, select "db", "webserver" and "eden" as the roles in each row and enter the respective Elastic-IPs in the "Host IP" field.
  • In the "Instance Type" section, select the type of instance ("prod", "demo") you wish to deploy along with the URL and prepop options for the same.

Add another instance to a deployment

The coapp makes it easy to add say, a demo instance after setting up the prod instance on a deployment. Here's how:

  • Begin by opening the deployment record and clicking on the "Instances" tab
  • Click on "Add Record"
  • Complete the form and submit. The entry will be added to scheduler and the status can be checked on the read page of the record.

Perform management tasks

You may use the coapp to perform operations on instances such as cleaning the database or upgrading Eden. A word of caution though - be extremely careful before initiating these on a production server

  • Begin by opening the deployment record and clicking on the "Instances" tab
  • Click on "Clean" or "Upgrade Eden" for the instance you wish to perform the management task on
  • The task will be queued to the scheduler in the background (TODO: report status)

Attachments (8)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.