Cloud Powering DH Research

Cloud computing has become very popular recently. Part of the reason for this popularity is that it provides great flexibility allowing complete control of the computing environment. In addition the environment can be copied, backed up, created and recreated in an automated way. In these lessons we will start you on the path towards making use of the great flexibility and power of cloud computing.

One of the more interesting use cases for the cloud is its ability to provide web services. To explore the flexibility and power of cloud computing we will use the popular WordPress software as an example. WordPress is free as in ‘free beer’ and also as in ‘free speech’ since it is OpenSource software. WordPress allows you you build great looking websites without the need to write all the code your self. It what is referred to as a Content Management System CMS. There are other CMS out there (e.g. Mediawiki, Drupal, Omeka) but WordPress is among one of the most popular and the methods learnt for setting up WordPress will also be applicable to other CMS software.

Prerequisites

Schedule

Day 1 10:15 Introduction What will we do in this course?
Who are we?
Who are you?
Are we ready?
10:30 How the Internet works What is an IP address?
What is a LAN?
What are ports and what do they do?
What is a domain name?
11:00 Introduction to cloud computing What is a cloud?
What does “virtual” mean when applied to a computer?
Why use Compute Canada’s cloud?
What is OpenStack?
11:30 Creating a keypair What is a shell?
What is SSH?
What are key-pairs and how do you create one?
How do you view and set file permissions?
12:00 Lunch Day 1 Break
13:30 Creating a virtual machine How do you create a virtual machine?
What is an OpenStack flavor?
What is a floating IP?
How can I allow SSH traffic into my virtual machine?
14:00 Creating a persistent virtual machine What makes a virtual machine persistent?
What are the differences between ‘p’ and ‘c’ flavors?
What is CPU oversubscription?
Why are ‘p’ flavors oversubscribed?
14:30 Applying updates How can can you keep a Linux software updated?
How can I fix the ‘sudo: unable to resolve host’ message?
14:45 Creating a web server What is Apache?
What is LAMP?
How do we install and configure Apache?
How to we check that our web server is running?
Where do we put our first web page?
15:15 Finish
Day 2 09:00 Installing MySQL What is MySQL?
How can MySQL databases and tables be viewed?
How can MySQL tables be modified?
How do we install it securely?
How do we set the MySQL root user’s password?
09:40 Installing PHP What is PHP?
10:20 Creating a Self-Signed SSL Certificate What is a Self-Signed SSL Certificate?
How can we create one?
What is a Trusted Certificate Authority?
What is a Diffie-Hellman group?
How do we configure Apache to use our certificate?
How do we test to ensure that encryption is working?
11:05 Creating a WordPress site How do we download the WordPress software?
How do we install the WordPress software?
How do we finalie the WordPress installation?
12:00 Lunch Day 2 Break
13:30 Installing OpenStack CL client Why use OpenStacks command line client?
How do we start using the CL client?
13:45 Using the OpenStack CL client How do we see what OpenStack CL commands are available?
How can we find out how to use OpenStack CL commands?
How do we backup our persistent virtual machine?
How do we download/upload images to the cloud?
14:45 Finish
Day 3 09:00 Automating with cloud-init What does cloud-init do?
How can I specify a cloud-config file when creating a new VM?
How can I verify that the setup worked?
09:30 Bash Scripting What is Bash scripting?
Why use Bash?
How does Bash scripting relate to cloud-init?
How can passwords be automatically generated?
10:15 YAML What is YAML?
How do you create a YAML file?
How can a YAML file be validated?
10:30 Cloud-config What does cloud-init do?
11:00 Lunch Day 3 Break
12:30 Heat Orchestration Templates (HOT) What do HOT templates do?
Can I use HOT templates with cloudInit scripts?
15:00 Finish
Day 4 09:00 Your Project Part I
12:00 Lunch Day 4 Break
13:30 Your Project Part II
16:30 Finish
Day 5 09:00 Your Project Part III
12:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.