Elevator is an open source application, and is designed to run on Amazon’s AWS cloud infrastructure. We’ve done a lot to try to make it easy, but it still requires some technical expertise. We’d love to make this even easier, so if you’ve got thoughts on how we can help, let us know!
In order to deploy Elevator, you’ll need a few specific skills:
- Basic knowledge of Chef and the Chef.io management interface
- An AWS account and a basic understanding of EC2, RDS, IAM, and S3. You may also (optionally) be using CloudFormation and CloudWatch.
- Basic familiarity with Linux, working with PHP applications, and interfacing with Postgres.
You don’t need to be an expert at any of these – we’ve (hopefully) done the heavy lifting for you.
In addition to the main source repository in github, there are two additional repositories you’ll need to work with. These are the Chef cookbook and the Cloudformation template. If you’re working with Moodle, you may also want the Moodle plugins (repository and filter) but that’s further down the line.
Below is a high level overview of the process. We’re not sure yet if a more thorough step by step is actually useful – we’d love some feedback!
- Get a Chef Knife starter kit, add the Elevator cookbook, and use Berks to install all the other cookbooks
- Launch two EC2 virtual machines, one for the web app and one for Elasticsearch. We’d recommend t2.medium or better for these.
- Configure the Chef environment with the IP addresses for these machines. (sample environment coming soon)
- Add three encrypted data bags for Chef, with a cloudwatch-scoped IAM role’s credential, your SSL certificate, and your database credentials
- Create the Chef roles for your web, elasticsearch, and transcoding nodes. We’d recommend also deploying beanstalkd on the Elasticsearch node.
- Use knife bootstrap to deploy the web and elasticsearch roles to your EC2 virtual machines.
- If you’ll be using Cloudformation to autoscale your transcoding nodes, upload the Cloudformation template. Upload your Chef validation PEM and your data bag PEM to a protected bucket on S3. Fill in the various fields for the Cloudformation stack and deploy it. It should automatically start one transcoding node.
- Manually load the defaultSQL file from the main source repository into Postgres.
- At this stage, you should be able to login to Elevator using the default credentials, by visiting http://<web Ip address>/defaultInstance.
We understand these instructions are currently too vague to actually allow a full installation. We’re providing them to give you a sense of the complexity involved. If you’d like to talk further about deploying your own environment, get in touch!