|'''Overview''' || Students need to know what Cloud Computing really means, how it fits into the wider computing context, and how they can use an open source cloud alternative to quickly host coding platforms for them to toy around in. This activity sets out to do all of this as a walkthrough learn-as-you-go tutorial.

+

|overview=

−

|-

+

Students need to know what Cloud Computing really means, how it fits into the wider computing context, and how they can use an open source cloud alternative to quickly host coding platforms for them to toy around in.

This activity sets out to do all of this as a walkthrough learn-as-you-go tutorial via Red Hats Open Shift platform - a completely open sourced cloud-hosted coding platform.

−

|-

+

|prerequisites=

−

|'''Learning Objectives''' ||

+

Basics of computing, programming & virtualization concepts

+

|objectives=

* Understand what Cloud / Utility Computing is

* Understand what Cloud / Utility Computing is

* Be able to quickly spin up an app in an online PaaS environment

* Be able to quickly spin up an app in an online PaaS environment

−

* Learn the context of SSH and URLs and components of online applications

+

* Able to express your troubleshooting and solutions

−

|}

+

* Create your own open source blog and post to it

+

* Explain what else PaaS can be used for

+

|process skills=

+

}}

[[File:WordpressOpenShift.png|500px]]

[[File:WordpressOpenShift.png|500px]]

−

=== Background: ===

+

----

−

What is the rational for this activity?

+

+

=== Background ===

+

+

''What is the rational for this activity?''

Students need to know what Cloud Computing really means, how it fits into the wider computing context, and what the different types are (IaaS, PaaS, SaaS). Students can dig into PasS, as a powerful development platform - and understand how quickly, easily, and powerfully they can spin up new applications. Gone are the days of having to setup a physical server, know the details on how to setup the OS, fiddle with the kernel, setup web-servers (Apache), databases (Postgres, Mysql), and middle-ware micros-services (AMQP Message busses, JBoss Fuse, Apache Camel). In a PaaS environment like OpenShift, the developer just fires up an instance of whatever pieces they want, and start coding. Seriously - its that easy. Of course, the developer has to know how to develop in said language or platform, but it makes development considerably easier by removing focus from lower layers. Basically, those lower layers (most mentioned above) are automated away by the PaaS platform.

Students need to know what Cloud Computing really means, how it fits into the wider computing context, and what the different types are (IaaS, PaaS, SaaS). Students can dig into PasS, as a powerful development platform - and understand how quickly, easily, and powerfully they can spin up new applications. Gone are the days of having to setup a physical server, know the details on how to setup the OS, fiddle with the kernel, setup web-servers (Apache), databases (Postgres, Mysql), and middle-ware micros-services (AMQP Message busses, JBoss Fuse, Apache Camel). In a PaaS environment like OpenShift, the developer just fires up an instance of whatever pieces they want, and start coding. Seriously - its that easy. Of course, the developer has to know how to develop in said language or platform, but it makes development considerably easier by removing focus from lower layers. Basically, those lower layers (most mentioned above) are automated away by the PaaS platform.

−

+

This activity shows students, step-by-visual-step, how to start up a new coding environment and actually implement a small chunk of working software on Openshift.

−

We need an activity that can show students, step-by-visual-step, how to start up a new coding environment and actually code a small chunk of working software on Openshift. Make it something sexy, like Node.js. Make it an effective piece of code (contact someone within red hat for advise) and it would be even more amazing.

+

Background readings:

Background readings:

Line 30:

Line 36:

* Read about open sources role in cloud computing. http://opensource.com/business/13/1/future-cloud-computing

* Read about open sources role in cloud computing. http://opensource.com/business/13/1/future-cloud-computing

You may have heard of Software as a Service (SaaS), or Cloud Computing before. Examples of SaaS are that of Google Docs, Twitter, DropBox. Another flavor of Cloud Computing is Platform as a Service (PaaS). This cloud-hosted service allows developers to program apps and functionality in an easy to grasp and scale and demo online environment. You can push stuff live '''very''' quickly, and you dont have to worry about backup or the Operating System, or getting database services running. Your infrastructure and coding platform are pre-taken-care-of. You just code your app. Lets go signup for one and start a simple blog app.

+

−

==== Overview ====

+

You may have heard of Software as a Service (SaaS), or Cloud Computing before. Examples of SaaS are that of Google Docs, Twitter, DropBox. Another flavor of Cloud Computing is Platform as a Service (PaaS). This cloud-hosted service allows developers to program apps and functionality in an easy to grasp, scale, and demo online environment. You can push stuff live '''very''' quickly, and you don't have to worry about the Operating System or getting database services running. Your infrastructure and coding platform are pre-taken-care-of. You just code your app. In the below tutorial, you will signup to the Openshift PaaS environment and start a simple Wordpress blog app.

−

Here are the major steps you will implement:

−

* Get OpenShift Online account

+

Assure that you read the Background readings, so that you understand the Cloud Computing paradigm and what a Paas is.

*** Likely, you will not need to follow Step 2B, though skim through it for some additional understanding of the OpenShift structure.

+

** Do not follow 3, 3A, 3B

+

*** Likely, you will not need to read or follow Steps 3, 3A or 3B - unless you have interest in using an existing domain name that you own.

Line 54:

Line 57:

+

=== Deliverables ===

−

==== Get OpenShift Online account ====

+

Create a blog post, with public URL, that talks about:

−

One such PaaS provider (amongst many) is Red Hats OpenShift. Other examples are Heroku, Google AppEngine, Engineyard, Microsoft Azure, VMWare's CloudFoundry. The list goes on. However, one of the cool things bout OpenShift is that its open sourced. You will remain free to move your code and environment to other vendors within OpenShift. Say that Red Hat starts charging too much - many vendors can be implementing the same environment,allowing you to easily move (at least, more easily than proprietary solutions). Alternatively, you could take OpenShifts code and implement your own PaaS server, on your computer at home. Only those whose source code is open sourced can claim this.

+

# What you learned

+

#* Both specific to OpenShift and generally about Cloud Computing and PaaS

+

# What troubles or more info you came across

+

#* Troubleshooting you did, additional info you learned about, etc

+

# What other ways you might use a PaaS environment in the future

+

#* What other apps and coding platforms / languages could you use?

−

* Head to https://www.openshift.com/ and look for "Openshift Online".

+

=== Assessment ===

−

* Signup for a free account

+

−

* Verify it by email

+

−

+

−

[[File:SignupOpenShift.png|300px]]

+

−

+

−

==== Quick Setup ====

+

−

* Login to OpenShift Online

+

−

* Click on the '''Settings''' tab on the webpage

+

−

* '''Namespace''' field, fill it in

+

−

** This will define the URL that you and others will visit to see your live apps that your create.

+

−

** So, for example, we enter "teachingoss" and our URLs will be something like:

+

−

http://wordpress-teachingoss.rhcloud.com/

+

−

+

−

[[File:OpenShiftSettings.png|300px]]

+

−

+

−

* '''Public Keys''', for now, we will leave this blank

+

−

** If you know what a public key is, and you have one on your existing machine, go ahead and enter it here

+

−

** This will allow you to extremely easily access the SSH command line of your virtual app

+

−

** We will touch on it in a later activity

+

−

+

−

==== Quick Win - Start Wordpress ====

+

−

* Click on the '''Applications''' tab

+

−

* If you have not started an app already, click the text '''Create your first application now'''

+

−

* A list of applications, coding platforms, coding languages, and middleware appear in a large grid / list.

+

−

** This is how you can explore what Red Hat offers "out of the box".

+

−

** Dont worry though, this is open source, and the community provides hundreds more at http://hub.openshift.com

What are some likely difficulties that an instructor may encounter using this activity?

+

''What should the instructor know before using this activity?''

+

* Instructor should understand what Cloud Computing is; If not, the pre-readings are necessary for the instructor.

+

* It would be useful for instructor to step through the instructions and create an app themselves.

−

+

'What are some likely difficulties that an instructor may encounter using this activity?''

−

=== Additional Information: ===

+

* Grading the activity may be subjective and not reflective of student effort since much of the effort goes into implementing the Wordpress app, but then they are graded on the blog they post that recaps what they did.

''Suggestions for an open source community member who is working in conjunction with the instructor.''

+

* Has the mentor ever programmed in a web or cloud computing environment of any kind? Share your experience and knowledge with the students.

+

* Help students through troubleshooting and the last blog question: What else might PaaS platforms be used for? What kind of coding languages and apps might you use it to develop?

−

[[Category: Learning_Activity]]

+

[[Category:Learning Activity]]

−

[[Category: LEARNING_ACTIVITY_SUBCATEGORY]]

+

[[Category:Introduction]]

+

[[Category:Communication and Tools]]

+

[[Category:Use and Evaluate]]

+

[[Category:Good Draft]]

Latest revision as of 00:17, 8 September 2018

Title

Instantly Run An App in the Cloud Using OpenShift

Overview

Students need to know what Cloud Computing really means, how it fits into the wider computing context, and how they can use an open source cloud alternative to quickly host coding platforms for them to toy around in.
This activity sets out to do all of this as a walkthrough learn-as-you-go tutorial via Red Hats Open Shift platform - a completely open sourced cloud-hosted coding platform.

Prerequisites

Basics of computing, programming & virtualization concepts

Learning Objectives

After successfully completing this activity, the learner should be able to:

Background

What is the rational for this activity?

Students need to know what Cloud Computing really means, how it fits into the wider computing context, and what the different types are (IaaS, PaaS, SaaS). Students can dig into PasS, as a powerful development platform - and understand how quickly, easily, and powerfully they can spin up new applications. Gone are the days of having to setup a physical server, know the details on how to setup the OS, fiddle with the kernel, setup web-servers (Apache), databases (Postgres, Mysql), and middle-ware micros-services (AMQP Message busses, JBoss Fuse, Apache Camel). In a PaaS environment like OpenShift, the developer just fires up an instance of whatever pieces they want, and start coding. Seriously - its that easy. Of course, the developer has to know how to develop in said language or platform, but it makes development considerably easier by removing focus from lower layers. Basically, those lower layers (most mentioned above) are automated away by the PaaS platform.

This activity shows students, step-by-visual-step, how to start up a new coding environment and actually implement a small chunk of working software on Openshift.

Directions

You may have heard of Software as a Service (SaaS), or Cloud Computing before. Examples of SaaS are that of Google Docs, Twitter, DropBox. Another flavor of Cloud Computing is Platform as a Service (PaaS). This cloud-hosted service allows developers to program apps and functionality in an easy to grasp, scale, and demo online environment. You can push stuff live very quickly, and you don't have to worry about the Operating System or getting database services running. Your infrastructure and coding platform are pre-taken-care-of. You just code your app. In the below tutorial, you will signup to the Openshift PaaS environment and start a simple Wordpress blog app.

Assure that you read the Background readings, so that you understand the Cloud Computing paradigm and what a Paas is.

Comments

Instructor should understand what Cloud Computing is; If not, the pre-readings are necessary for the instructor.

It would be useful for instructor to step through the instructions and create an app themselves.

'What are some likely difficulties that an instructor may encounter using this activity?

Grading the activity may be subjective and not reflective of student effort since much of the effort goes into implementing the Wordpress app, but then they are graded on the blog they post that recaps what they did.