Codemotion 2012 Rome - An OpenShift Primer

Preview:

DESCRIPTION

Whether you're a seasoned Java developer looking to start hacking on EE6 or you just wrote your first line of Ruby yesterday, the cloud is perfect for developing apps in any modern language or framework. Join us for an action-packed hour of power where we'll show you how to deploy an application written in a language of your choice - Java, Ruby, PHP, Perl or Python, with a framework of your choice - EE6, CDI, Seam, Zend, Rails, Sinatra, PerlDancer or Django to the OpenShift PaaS in just minutes. Use the following promotional code when signing up to try out OpenShift: CODEMOTION

Citation preview

An OpenShift Primer Get your code into the Cloud!

Eric D. Schabell Codemotion – Rome, ItalyJBoss Senior Solution Architect 23-24 March 2012erics@redhat.com / @ericschabell www.codemotion.it

Sign up, it's free!• http://openshift.redhat.com – “Sign

up and Try it!”

• Example projects you can deploy now!

– https://www.github.com/openshift

• Help?

– IRC: freenode #openshift

– Forums: http://www.redhat.com/openshift/community/forums

– Email: openshift at redhat dot com

Promotional Code: CODEMOTION

Shift happens?

Immersion...

Never look back...

PaaS?

Why am i DORKINGwith the stack?!

Express

1.Sign Up

2.Install Client Tools

3.Create Domain

4.Create Application

5.Deploy Application (GIT)

Sign Uphttp://openshift.redhat.com

Install Client Tools

• Fedora / RHEL– openshift.repo

• Move to yum.repos.d$ sudo mv openshift.repo /etc/yum.repos.d

• Install client tools$ sudo yum install rubygem-rhc

• The rest (osX, Ubuntu, Cygwin):– gem install rhc

(json_pure)– see forums, blogs

Create Domain

• Use rhc-create-domain command$ rhc-create-domain -n mydomain -l openshiftlogin

• use Express console!

rhc-create-domain

Usage: /usr/bin/rhc-create-domain

Bind a registered rhcloud user to a domain in rhcloud.

-n|--namespace namespace Namespace for your application(s) (alphanumeric - max 16 chars)

-l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login with OpenShift Express access)

-p|--password password RHLogin password (optional, will prompt)

-a|--alter Alter namespace (will change urls) and/or ssh key

-d|--debug Print Debug info

-h|--help Show Usage info

--config path Path of alternate config file

--timeout # Timeout, in seconds, for connection

Web Administration

Create Application

Configure Application

Ready to code!

Application Details

Why OpenShift? It's you.

Other Options: create apps

• Name app and define type$ rhc-create-app -a appname -t apptype -l openshiftlogin

(Node.js, DIY, Jenkins, PHP, Ruby, Python, Perl and most important, Java!)

• Add application to local repo$ git add .

• Commit changes$ git commit -m “Initial app import.”

Deploy to Cloud

• Push the code to Express

$ git push

• Congratulations, your app is in the cloud!

Demo Codemotion Mobile App

$ rhc-create-app -a codemotion -t jbossas-7

$ cd codemotion

$ git remote add upstream -m master git://github.com/eschabell/kitchensink-html5-mobile-example.git

$ git pull -s recursive -X theirs upstream master

$ git push

http://codemotion-$your_domain.rhcloud.com

JBoss Developer Studio

JBDS in action...

Remove Application

Time for a new project!

What will the future bring?

Express / Flex unification

JBoss++

Commercial Service / Pricing

Mobile

Open Source (SDK + project)2012

Loving your hammer?

• OpenShift: http://openshift.redhat.com

• OpenShift Express: https://openshift.redhat.com/app/express

• Blogs: https://www.redhat.com/openshift/community/blogs

• JBPM Web Designer in the Cloud (example): http://www.schabell.org/2011/10/jbpm-web-designer-integrates-jbpm.html

• Deploy an application to OpenShift with JBossTools (video): http://vimeo.com/33988381

• Deploying mobile application with JBoss Dev Studio: https://community.jboss.org/wiki/DeployingHTML5ApplicationsToOpenshift

• Rise above the Cloud hype with OpenShift: http://www.schabell.org/2012/01/rise-above-cloud-hype-with-openshift.html