Description
This homework will prepare you for basic setup for the course.
Basic course setup
Properly setting up your Mattermost, Stack Overflow, and Moodle profile.
For Moodle, upload a current headshot picture of you (not anyone else, not a
cartoon picture of you, etc.) to your Moodle profile, which will help the teaching
staff learn your name. Use US passport photo guidelines.
For Mattermost, make sure you have your first and last name as part of your
profile.
For your Stack Overflow account, you are not required to use a full name or
photo.
Github
Provisioning
Automatically provisioning a computational resource will be one of the most important
skills for you to master in your career. You have gained experience using digitalocean to
automatically create virtual images on a cloud platform and perform simple tasks with
the droplets. As part of any risk management strategy, it is also important to be able to
have access to a variety of platforms to avoid vender lock-in and systematic failures.
In this homework assignment, you will complete the following tasks:
Be able to automatically provision using a code api from two cloud providers.
Logically, the provision workshop is a good starting point for working with
digitalocean. Choose one additional cloud provider listed here.
If using digitalocean, you must be able to obtain your own api key after creating
an account.
The provisioning code needs to be able to perform the following:
o create a new VM, with a registered ssh key. This will allow you ssh directly
into your account without being emailed a temporary root password.
o print out the ip address of the new server.
You are free to choose which technology/framework you like for your
implementation. You might consider something like the node aws-sdk package,
or boto for Python, or just raw REST requests.
Use proper and source control and configuration management practices e.g.,
using package managers and their associated files
(package.json/requirements.txt) to declare software dependencies. Remember,
someone else should be able to run your code.
Depending on your cloud provider, there may be some manual one-time
configuration you need to perform, such as setting up security groups, firewall
rules, etc. For this assignment, this can be manually configured.
Screencast (10)
Create a screencast of your assignment:
Create a screencast demoing your opunit profile check.
Demonstrate running your code that provisions the two servers across the
different platforms, including the cloud provider interface before and after
running the code. Demonstrate being able to ssh into your box with your
registered ssh key.
For guidelines, software, and recommendations see Screencasts.
Evaluation
You will receive a ZERO if a security token is found to be checked into your repository.
Complete moodle, mattermost, stack overflow profiles by deadline (10).
Github repo and collobrator settings (10).
Ask and answer a question (10)
Opunit checks (10)
Provision code for two cloud providers (50)
Screencast (10)



