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 13:00 Introduction Who are we?
Who are you?
What will we do in this course?
13:15 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?
13:45 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?
14:15 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?
14:30 Coffee break Break
14:45 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?
15:15 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?
15:45 Applying updates How can can you keep a Linux software updated?
How can I fix the ‘sudo: unable to resolve host’ message?
16:00 Creating a web server What is Apache?
What is LAMP?
How do we install and configure Apache?
How do we check that our web server is running?
Where do we put our first web page?
16:30 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?
10:00 Coffee break Break
10:15 Installing PHP What is PHP?
11:05 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?
12:00 Lunch break Break
13:00 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?
14:10 Installing OpenStack CL client Why use OpenStacks command line client?
How do we start using the CL client?
14:30 Coffee break Break
14: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?
15:45 Using Heat Orchestration Templates (HOT) What do HOTs do?
How can I use HOTs?
16:15 Finish

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