As you are aware OpenShift is
It is a free, cloud-based application platform
for Java, Perl, PHP, Python, and Ruby applications.”.
Developers when they want to deploy a
application, then will deploy the war or ear file by starting their respective
web or application containers. In their local environment they have to start
their containers when they need to deploy their application. Often developers don’t
understand why it will take time for deploying application in production
Environment.OpenShift comes in here.
OpenShift is an application platform in the cloud
where application developers and teams can build, test, deploy, and run their
applications.OpenShift takes care of all the infrastructure, middleware, and
management and allows the developer to focus on what they do best: designing
and coding applications.
OpenShift Enterprise provides developers and IT
organizations an auto-scaling cloud application platform for quickly deploying
new applications on secure and scalable resources with minimal configuration
and management headaches. This means increased developer productivity and a
faster pace in which IT can support innovation.
OpenShift offers services as
Platform-as-service(PAAS). Platform as a Service,
often simply referred to as PaaS, is a category of cloud computing that
provides a platform and environment to allow developers to build applications
and services over the internet. PaaS services are hosted in the cloud and
accessed by users simply via their web browser.
In OpenShift the code is managed in a GIT repository.
Every application OpenShift gets its own private GIT repository. This allows you to maintain history and easily perform rollbacks if they accidentally push broken code. It also enables a distributed work environment and provides an easy way to publish code (GIT push).
The runtime requirements are provided by a set of cartridges with a standard set of configurations. The cartridges provide languages runtimes like ruby, jboss, php etc and other services like databases and continuous integration functions. Additional cartridges can easily be added for functionality that does not come with base OpenShift.
OpenShift also allows the developer to ssh into the application and check log files and see exactly what processes are running.
OpenShift uses SElinux policies, PAM namespaces and bind mounts to ensure that applications don’t have access to unapproved files or processes. Unlike unix permissions, the SElinux model prevents access to files and processes unless explicitly approved in a policy.
Application resources are also controlled by c-groups, quota and other modules. This ensures that one application does not hog all resources on the VM.
In OpenShift the code is managed in a GIT repository.
Every application OpenShift gets its own private GIT repository. This allows you to maintain history and easily perform rollbacks if they accidentally push broken code. It also enables a distributed work environment and provides an easy way to publish code (GIT push).
The runtime requirements are provided by a set of cartridges with a standard set of configurations. The cartridges provide languages runtimes like ruby, jboss, php etc and other services like databases and continuous integration functions. Additional cartridges can easily be added for functionality that does not come with base OpenShift.
OpenShift also allows the developer to ssh into the application and check log files and see exactly what processes are running.
OpenShift uses SElinux policies, PAM namespaces and bind mounts to ensure that applications don’t have access to unapproved files or processes. Unlike unix permissions, the SElinux model prevents access to files and processes unless explicitly approved in a policy.
Application resources are also controlled by c-groups, quota and other modules. This ensures that one application does not hog all resources on the VM.
Installing the necessary Pacakges
Red Hat Enterprise Linux 6 or later
Root access or at least sudo to root access
Ruby version 1.8.7 or later
RubyGems
The packages are available by default with Redhat
6.Use YUM to install these packages.
We need to have rubygem-json and rubygem-parseconfig packages too. As I said
earlier we need to have a root access for performing these actions.
The OpenShift packages will be available by
default with the Redhat 6 version. We can use YUM to check whether packages are
available or not.
If we don’t have the packages available ,we can create a repo file where we can install
the packages manually
cat <<EOF>
/etc/yum.repos.d/openshift-origin-deps.repo
[openshift-origin-deps]
name=openshift-origin-deps
baseurl=http://mirror.openshift.com/pub/origin-server/release/3/rhel-6/dependencies/x86_64/
gpgcheck=0
enabled=1
EOF
For
RHEL systems you will need to include the EPEL (Extra Packages for Enterprise Linux ) repository to
install puppet. To do so install the latest epel-release
package.
RHEL6
yum
install -y --nogpgcheck ${url_of_the_latest_epel-release_rpm}
We
can download the EPEL package from http://mirrors.fedoraproject.org/publiclist/.
Be
sure to select the correct package for your system architecture. For example,
the latest package for a 64-bit x86 system architecture at the time of this
writing is epel-release-6-5.noarch.rpm.
We
need to update the operating system to have all of the latest packages that may
be in the yum repository. This is important to ensure that you have a recent
update to the SELinux packages that OpenShift Origin relies on. In order to
update your system, issue the following command:
yum
clean all
yum
-y update
We
will get all the necessary packages.
How does the
OpenShift works
OpenShift
Online provides disk space, CPU resources, memory, network connectivity,
and an Apache or JBoss server to create, deploy, and manage
applications in the cloud. For most types of applications, OpenShift
Online creates a file system layout that you can use as a template for
building an application.
There
are 2 important components called
Gears are containers for
application code where cartridges run.
Cartridges provides the
functionality to run the application
The
following gear sizes are available with OpenShift Online:
- Small gears
provide 512MB of RAM, 100MB of swap space, and 1GB of disk space
- Medium gears
provide 1GB of RAM, 100MB of swap space, and 1GB of disk space
- Large gears
provide 2GB of RAM, 100MB of swap space, and 1GB of disk space
For
free plan, we have 3 small gears (provide 512MB of RAM, 100MB of swap space,
and 1GB of disk space)
Controlling
OpenShift
There
are two mechanisms available for interacting with OpenShift Online: the
Management Console and the command line interface (CLI), referred to as the
Client Tools. We can use the rhc command
line tool to create domains , create applications and manage them. The same
thing can be done with the Management Console too.
More
to Come , Happy working in Cloud
No comments:
Post a Comment