PaaS mit der Red Hat OpenShift Cloud

+ andere TechDocs
+ Google App Engine (GAE)
+ Red Hat OpenShift Cloud
+


Die Red Hat OpenShift Cloud zählt zu den Cloud-Computing-Plattformen. Beim Cloud Computing werden Anwendungen auf entfernten Servern gehostet und ausgeführt. Die wichtigsten Vorteile sind: Es muss keine eigene IT vorhanden sein und gewartet werden, die Anwendung kann bei Bedarf ("On-Demand") leicht hoch skaliert werden und es werden optimale Internet-Zugriffsgeschwindigkeiten angeboten.

Im Folgenden werden einige erste Schritte mit Red Hat OpenShift unter Windows demonstriert.



Inhalt

  1. Cloud-Typen
  2. PaaS-Anbieter für Java-Anwendungen
  3. Red Hat OpenShift
  4. OpenShift-Basisinstallation unter Windows
  5. rhc-Domain einrichten und eine erste Cloud-Applikation erzeugen
  6. Cloud-Applikation ändern und neu deployen
  7. Clone
  8. Java, Marker Files, Datenbank



Cloud-Typen

Es gibt verschiedene Kategorisierungen für Cloud-Computing-Systeme, zum Beispiel die beiden folgenden.

Kategorisierung nach Zugänglichkeit:

Private Cloud Nur für bestimmte Anwender nutzbar, meistens nur innerhalb einer Firma.
Kann bereits wesentliche Kosteneinsparungen bringen.
Daten müssen nicht außer Haus gegeben werden.
Beispiel: Red Hat CloudForms
Public Cloud Öffentlich zugänglich und gegen Bezahlung nutzbar.
Bietet wesentlich größeres Sparpotenzial.
Könnte wegen der Datenüberlassung kritischer sein.
Beispiele: Amazon EC2, Red Hat OpenShift Cloud, Google App Engine (GAE), Microsoft Azure

Kategorisierung nach Architekturebene bzw. Serviceart:

Software as a Service
(SaaS)
Software wird als Dienstleistung basierend auf Internettechniken angeboten.
Beispiele: Web-E-Mail-Dienste, Google Apps, Salesforce CRM, Microsoft Office 365
Platform as a Service
(PaaS)
Eine integrierte Laufzeit- (und evtl. auch Entwicklungs-)umgebung wird als Dienst für eigene Programme zur Verfügung gestellt.
In der Regel gibt es bestimmte Einschränkungen (z.B. Programmiersprache).
Beispiele: Red Hat OpenShift, Google App Engine (GAE), Heroku, Microsoft Azure
Infrastructure as a Service
(IaaS)
Eine Rechnerinfrastruktur wird als Dienst zur Verfügung gestellt.
Meistens können verschiedene Betriebssysteme und beliebige Programmiersprachen eingesetzt werden.
Beispiel: Amazon EC2


PaaS-Anbieter für Java-Anwendungen

Beispiele für PaaS-Anbieter für Java-Anwendungen (die Liste ist unvollständig):



Red Hat OpenShift

Red Hat OpenShift ist eine Platform-as-a-Service-Cloud (PaaS) auf der Basis von Red Hat Enterprise Linux. OpenShift steht in verschiedenen Varianten zur Verfügung. Die ursprünglichen Angebote waren (mittlerweile gibt es andere ähnliche Angebote):



OpenShift-Basisinstallation unter Windows

  1. Red-Hat-OpenShift-Account:

    Beantragen Sie auf der OpenShift-Webseite https://www.openshift.com einen Account unter "Sign up". Lesen Sie sich vorher die Nutzungsbedingungen durch.

    Falls Sie nicht die "Confirm your Red Hat account"-E-Mail erhalten: Sehen Sie nach, ob sie vielleicht im Spam-Ordner gelandet ist.

  2. Client Tools:

    Installieren Sie die für OpenShift benötigten Client-Tools, entweder wie beschrieben unter
    https://developers.openshift.com/index.html,
    https://developers.openshift.com/en/getting-started-overview.html und
    https://developers.openshift.com/en/managing-client-tools.html,
    oder wie im Folgenden beschrieben.

  3. Git:

    Git ist ähnlich wie Mercurial (hg) ein verteiltes Versionskontrollsystem (DVCS, Distributed Version Control System).

    Falls Sie noch keinen Git-Client installiert haben: Downloaden Sie die Git-Installationsdatei für Windows (z.B. Git-1.9.0-preview20140217.exe) von http://git-scm.com und führen Sie die Installation aus. Wichtig: Wählen Sie "Run Git from the Windows Command Prompt" und kontrollieren Sie, dass die Git-Installation die Windows-PATH-Environmentvariable korrekt erweitert hat.

    Sehen Sie sich die Dokumentation zu Git an: http://git-scm.com/documentation.

    Führen Sie für einen Kurztest folgende Kommandos im Windows-Kommandozeilenfenster aus:

    path

    git --version

    git --help

    git config -l | sort

  4. Ruby:

    Installieren Sie Ruby mit dem "RubyInstaller for Windows" (z.B. rubyinstaller-1.9.3-p545.exe) von http://rubyinstaller.org. Wichtig: Wählen Sie "Add Ruby executables to your PATH" und kontrollieren Sie, dass die Ruby-Installation die Windows-PATH-Environmentvariable korrekt erweitert hat.

    Führen Sie für einen Kurztest folgende Kommandos im Windows-Kommandozeilenfenster aus:

    path

    ruby --version

    ruby --help

    ruby -e 'puts "Welcome to Ruby"'

  5. RHC-Ruby-Paket und RHC-Setup:

    Führen Sie folgende Kommandos im Windows-Kommandozeilenfenster aus:

    gem install rhc

    gem update rhc

    rhc setup

    rhc -h

    rhc account

    type %USERPROFILE%\.openshift\express.conf

    dir %USERPROFILE%\.ssh

  6. OpenShift-Doku:

    Sehen Sie sich die OpenShift-Doku an: https://docs.openshift.org/origin-m4/oo_user_guide.html.



rhc-Domain einrichten und eine erste Cloud-Applikation erzeugen

  1. Falls Sie im Folgenden diese Fehlermeldung erhalten:

    A secure connection could not be established to the server (SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure)

    Dann ersetzen Sie in Ihrer %USERPROFILE%\.openshift\express.conf die Zeile

    #ssl_version=...

    durch:

    ssl_version=tlsv1

  2. Richten Sie eine rhc-Domain (bzw. einen rhc-Namespace) ein, der später ein Teil der Webadressen-URL wird. Wählen Sie dafür einen Namen, der die wesentlichen Bestandteile Ihrer Internet-Domainadresse enthält, aber kein Minuszeichen enthält. Dieser Name ist im Folgenden mit {myrhcdomain} gemeint.
    Ersetzen Sie im Folgenden überall {myrhcdomain} durch Ihren gewählten rhc-Domain-Namen, sowie überall {Meine@Email.Adresse} und {MeinRhcPasswort} durch Ihre rhc-Accountdaten.

    Führen Sie folgende Kommandos im Windows-Kommandozeilenfenster aus:

    rhc -h

    rhc account

    rhc create-domain -h

    rhc create-domain -l {Meine@Email.Adresse} -p {MeinRhcPasswort} -n {myrhcdomain}

    rhc domain -h

    rhc domain list

    rhc domain show

  3. Sehen Sie sich die Liste der erlaubten Projekttypen an:

    rhc cartridge list

    Darin enthalten ist z.B. "jbossas-7".

  4. Erstellen Sie eine rhc-App mit dem Namen myfirstrhcapp und vom Typ jbossas-7:

    md \Tools\rhc

    cd \Tools\rhc

    rhc create-app -h

    rhc create-app -l {Meine@Email.Adresse} -p {MeinRhcPasswort} -a myfirstrhcapp -t jbossas-7

    rhc apps

    rhc app -h

    rhc app show -a myfirstrhcapp

  5. Rufen Sie die im Internet eingerichtete Anwendung auf (ersetzen Sie {myrhcdomain} durch Ihren rhc-Domainnamen):

    start http://myfirstrhcapp-{myrhcdomain}.rhcloud.com

  6. Sehen Sie sich im Windows-Kommandozeilenfenster das neu erstellte Verzeichnis und die Maven-pom.xml an:

    cd \Tools\rhc\myfirstrhcapp

    type pom.xml

    tree /F

    [\Tools\rhc\myfirstrhcapp]
     |- [.git]
     |   '- ...
     |- [.openshift]
     |   '- ...
     |- [deployments]
     |   '- ...
     |- [src]
     |   '- [main]
     |       |- [java]
     |       |   '- ...
     |       |- [resources]
     |       |   '- ...
     |       '- [webapp]
     |           |- [images]
     |           |   '- ...
     |           |- [WEB-INF]
     |           |   '- web.xml
     |           |- health.jsp
     |           |- index.html
     |           '- snoop.jsp
     |- .gitignore
     |- pom.xml
     '- README
    

    Sehen Sie sich die README-Datei an:

    type README

  7. Sehen Sie sich an:

    rhc tail -h

    rhc tail -a myfirstrhcapp

    rhc threaddump -h

    rhc threaddump -a myfirstrhcapp



Cloud-Applikation ändern und neu deployen

  1. Wechseln Sie in das Webapp-Verzeichnis \Tools\rhc\myfirstrhcapp\src\main\webapp und fügen Sie eine beliebige neue JSP-Datei mit dem Namen index.jsp hinzu, zum Beispiel mit folgendem Inhalt:

    <%@ page import="java.io.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.util.jar.*" %>
    
    <html>
    <body>
    <h2>Hallo Red Hat Cloud!</h2>
    <%
       String pth = getServletConfig().getServletContext().getRealPath( "/" );
       if( !pth.endsWith( "/" ) && !pth.endsWith( "\\" ) ) pth += "/";
       File mf = new File( pth + "META-INF/MANIFEST.MF" );
       if( mf.exists() ) {
          out.println( "<h4>Attribute in der META-INF/MANIFEST.MF:</h4>" );
          Manifest manifest = new Manifest( new FileInputStream( mf ) );
          for( Map.Entry<Object,Object> attr : manifest.getMainAttributes().entrySet() ) {
             out.println( attr + "<br>" );
          }
       }
    %>
    </body>
    </html>
    
  2. Konfigurieren Sie Git (ersetzen Sie alle {...}-Ausdrücke):

    git --help

    git config -l | sort

    git config --global user.name "{Vorname} {Nachname}"

    git config --global user.email "{Meine@Email.Adresse}"

    git config --global core.editor notepad

    git config -l | sort

  3. Commiten und pushen Sie Ihre Änderungen:

    cd \Tools\rhc\myfirstrhcapp

    git status

    git add *

    git commit -m "Neue JSP hinzugefuegt"

    git status

    git push

    git status

    git log

  4. Rufen Sie die neu deployte JSP übers Internet auf:
    http://myfirstrhcapp-{myrhcdomain}.rhcloud.com/index.jsp

    Sehen Sie sich auch an:
    http://myfirstrhcapp-{myrhcdomain}.rhcloud.com/snoop.jsp



Clone

Sie können das gesamte Projekt inklusive der rhc-Konfiguration leicht wiederherstellen bzw. auf einem anderen PC installieren.

Führen Sie folgende Kommandos im Windows-Kommandozeilenfenster aus:

md \Tools\rhc

cd \Tools\rhc

rhc git-clone -h

rhc git-clone -a myfirstrhcapp

cd \Tools\rhc\myfirstrhcapp

tree /F



Java, Marker Files, Datenbank




Weitere Themen: andere TechDocs | Google App Engine (GAE)
© 2011-2014 Torsten Horn, Aachen