Instantly Run An App in the Cloud 2
(Deliverables added) |
(added instructor SSH access section) |
||
Line 4: | Line 4: | ||
|'''Title''' || Instantly Run An App in the Cloud Using OpenShift Part 2 | |'''Title''' || Instantly Run An App in the Cloud Using OpenShift Part 2 | ||
|- | |- | ||
− | |'''Overview''' || A follow-on to | + | |'''Overview''' || A follow-on to teaching students about creating apps in an online open source cloud environment - OpenShift. This time students focus on command-line driven tools, and the backends of building and deploying new application code via git. |
|- | |- | ||
|'''Prerequisite Knowledge''' || | |'''Prerequisite Knowledge''' || | ||
Line 33: | Line 33: | ||
=== Directions: === | === Directions: === | ||
− | == Give Instructor SSH Access: == | + | ==== Give Instructor SSH Access: ==== |
In order to fully inspect your work, the instructor will need access to your SSH shell that you created. | In order to fully inspect your work, the instructor will need access to your SSH shell that you created. | ||
You do not, however, want to give your same private key away. You could, but it is not the best industry practice. | You do not, however, want to give your same private key away. You could, but it is not the best industry practice. | ||
Instead, you will want to setup access for the instructors Username and his particular Public Key. | Instead, you will want to setup access for the instructors Username and his particular Public Key. | ||
− | Given a Public Key, the instructor can get in with their secret Private Key. | + | Given a Public Key and username access, the instructor can get in with their secret Private Key. |
− | You are encouraged to look up instructions | + | You are encouraged to look up instructions on the web or help each other in the classroom. |
− | == OpenShift Tutorial 2 == | + | You will need: |
+ | <pre> | ||
+ | - THE INSTRUCTORS USERNAME | ||
+ | - THE INSTRUCTORS PUBLIC KEY | ||
+ | </pre> | ||
+ | |||
+ | Instructor will need: | ||
+ | <pre> | ||
+ | - YOUR APP'S URL or IP ADDRESS | ||
+ | </pre> | ||
+ | |||
+ | Do this early, so that you can work through issues. Undoubtedly there will be issues and a need to troubleshoot them. You will be graded on your ability to navigate these issues early. | ||
+ | |||
+ | |||
+ | ==== OpenShift Tutorial 2 ==== | ||
Priorly, we setup Wordpress blogging software and used it. Now we will dive into more usage of the command line, specifically the '''rhc''' command, and what occurs when new code is added via git push. Additionally we will learn how to run it all on your local laptop, so that you can test and develop in a safe environment before you push it live (into production). | Priorly, we setup Wordpress blogging software and used it. Now we will dive into more usage of the command line, specifically the '''rhc''' command, and what occurs when new code is added via git push. Additionally we will learn how to run it all on your local laptop, so that you can test and develop in a safe environment before you push it live (into production). | ||
Line 66: | Line 80: | ||
#* Why might you want to do testing locally on your laptop, instead of out on the Live / Production cloud app? | #* Why might you want to do testing locally on your laptop, instead of out on the Live / Production cloud app? | ||
#* Is the process given in the tutorial cumbersome? Could you find anything better? | #* Is the process given in the tutorial cumbersome? Could you find anything better? | ||
+ | |||
=== Assessment: === | === Assessment: === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| border="1" class="wikitable" | {| border="1" class="wikitable" | ||
! Criteria | ! Criteria | ||
Line 113: | Line 122: | ||
=== Comments: === | === Comments: === | ||
What should the instructor know before using this activity? | What should the instructor know before using this activity? | ||
+ | * Instructor should become familiar with the SSH public/private access mechanism | ||
What are some likely difficulties that an instructor may encounter using this activity? | What are some likely difficulties that an instructor may encounter using this activity? | ||
+ | * Getting yourself SSH access to each students application shell may prove to be some upfront work for yourself | ||
+ | ** Make it clear to students that you want this done early (give them a deadline) | ||
+ | ** Grade them on this | ||
+ | ** Work through it with them; Give them feedback so that they can troubleshoot | ||
+ | ** This is a very realistic professional situation: | ||
+ | ***Not a lot of direction | ||
+ | ***given an end-goal | ||
+ | ***need to work with another person (you) | ||
+ | ***explorative troubleshooting is likely | ||
+ | * Assure that YOU are crystal clear with sharing SSH access | ||
+ | ** Practice it with another teacher or colleague or system | ||
+ | ** Otherwise, you could be doing something wrong on your end, and the students wont be able to properly troubleshoot | ||
Revision as of 01:00, 14 August 2015
Title | Instantly Run An App in the Cloud Using OpenShift Part 2 |
Overview | A follow-on to teaching students about creating apps in an online open source cloud environment - OpenShift. This time students focus on command-line driven tools, and the backends of building and deploying new application code via git. |
Prerequisite Knowledge |
|
Learning Objectives |
|
Background:
What is the rational for this activity? This second portion of the cloud app activity goes a little deeper and focuses on de-facto technologies like ssh / shell-access and git / github. Students will now take their new-found knowledge of the cloud paradigm and start to understand how it can link to a more technically flexible solution set. They can now customize their apps via editing and pushing code via a git publication process.
You will want to have already stepped through this preceding activity: Instantly_Run_An_App_in_the_Cloud
Directions:
Give Instructor SSH Access:
In order to fully inspect your work, the instructor will need access to your SSH shell that you created. You do not, however, want to give your same private key away. You could, but it is not the best industry practice. Instead, you will want to setup access for the instructors Username and his particular Public Key. Given a Public Key and username access, the instructor can get in with their secret Private Key.
You are encouraged to look up instructions on the web or help each other in the classroom.
You will need:
- THE INSTRUCTORS USERNAME - THE INSTRUCTORS PUBLIC KEY
Instructor will need:
- YOUR APP'S URL or IP ADDRESS
Do this early, so that you can work through issues. Undoubtedly there will be issues and a need to troubleshoot them. You will be graded on your ability to navigate these issues early.
OpenShift Tutorial 2
Priorly, we setup Wordpress blogging software and used it. Now we will dive into more usage of the command line, specifically the rhc command, and what occurs when new code is added via git push. Additionally we will learn how to run it all on your local laptop, so that you can test and develop in a safe environment before you push it live (into production).
Follow this tutorial:
- http://code.tutsplus.com/tutorials/running-wordpress-on-openshift-part-2--cms-19947
- Optional: Step 6 - SSL Setup
- Take screenshots as you go
- These will be used in your blog hand-in
- Annotate them to make emphasis clear
Deliverables:
Create another blog post, with public URL, that tells:
- What troubles or more info you came across
- This 2nd edition was much more technical and likely lead to some troubleshooting.
- Tell a small story; 1-2 paragraphs.
- Your understanding of what steps OpenShift implements when you do a simple "git push"
- This is the build and deploy process
- Talk about what you added to customize the build process
- The pro's and con's of synchronizing to a Local / Test coding environment
- Why might you want to do testing locally on your laptop, instead of out on the Live / Production cloud app?
- Is the process given in the tutorial cumbersome? Could you find anything better?
Assessment:
Criteria | Level 1 (fail) | Level 2 (pass) | Level 3 (exceptional) |
---|---|---|---|
Give instructor SSH access | |||
Install and run "rhc" command-line client tool | |||
Understand behind-the-scenes workflow of "git push" | |||
Add custom build and deployment code | |||
Synchronize Local and Live Environments (Test vs Prod) |
Comments:
What should the instructor know before using this activity?
- Instructor should become familiar with the SSH public/private access mechanism
What are some likely difficulties that an instructor may encounter using this activity?
- Getting yourself SSH access to each students application shell may prove to be some upfront work for yourself
- Make it clear to students that you want this done early (give them a deadline)
- Grade them on this
- Work through it with them; Give them feedback so that they can troubleshoot
- This is a very realistic professional situation:
- Not a lot of direction
- given an end-goal
- need to work with another person (you)
- explorative troubleshooting is likely
- Assure that YOU are crystal clear with sharing SSH access
- Practice it with another teacher or colleague or system
- Otherwise, you could be doing something wrong on your end, and the students wont be able to properly troubleshoot
Additional Information:
Knowledge Area/Knowledge Unit | What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge |
Topic | What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf |
Level of Difficulty | Is this activity easy, medium or challenging? |
Estimated Time to Completion | How long should it take for the student to complete the activity? |
Materials/Environment | What does the student need? Internet access, IRC client, Git Hub account, LINUX machine, etc.? |
Author | Who wrote this activity? |
Source | Is there another activity on which this activity is based? If so, please provide a link to the original resource. |
License | Under which license is this material made available? (http://creativecommons.org/licenses/) |
Suggestions to Open Source Mentors:
Suggestions for an open source community member who is working in conjunction with the instructor.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License