PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice

Preview:

DESCRIPTION

Choice matters. And OpenShift Enterprise by Red Hat is the only Platform-as-a-Service (PaaS) product that runs in the hosting environment of your choice. While true PaaS products provide a level of infrastructure abstraction so developers can be more productive, choosing the right environment to host your PaaS product is critical. You must take many factors into consideration, like cost, availability, scalability, and manageability. Having a PaaS product that’s truly environment-agnostic can maximize your options and help you make the choice that best fits your needs. This talk has a demo of deploying OpenShift Enterprise to multiple public cloud providers and within local virtual machines. By using common provisioning tools and the various cloud vendor APIs, you’ll see the realization of open, hybrid PaaS. You’ll also learn about considerations when running OpenShift Enterprise in these different environments, and monitoring strategies for proactively maintaining the health of an OpenShift Enterprise environment.

Citation preview

PaaS Anywhere

Isaac ChristoffersenArchitect, Vizuri

Vizuri Division

Java EE & Open Source Solution Provider

Red Hat & JBoss Premier Partner

2009, 2010, 2011, 2012 Middleware Partner of the Year

Preferred JBoss Certified Systems Integrator

4 time Red Hat Innovation Award winner

2006 (Orbitz), 2008 (Federal Government),

2009(eCommerce),

2011 (New York and Company)

Certified Red Hat ProfessionalsAbout Vizuri

Today’s IT Challenge

Cloud Service Models

STORAGE(RHS)

HARDWARE(x86)

VIRTUALIZATION(RHEV)

OPERATING SYSTEM(RHEL)

APPLICATION PLATFORM(JBOSS, PHP, RUBY, ETC)

APPLICATION

Automated and Managed by the Public or Private Cloud Offering

Managed and Controlled by Customer (IT, Dev, or User)

IaaS PaaS SaaS

Increased Control

Increased Automation

Streamlining App Dev with PaaS

With PaaS

How to Build an App:1. Have Idea2. Get Budget3. Code4. Test5. Launch6. Automatically Scale

How to Build an App:1. Have Idea2. Get Budget3. Submit VM Request request4. Wait5. Deploy framework/appserver6. Deploy testing tools7. Code8. Test9. Configure Prod VMs10.Push to Prod11.Launch12.Request More Prod VMs to meet

demand13.Wait14.Deploy app to new VMs15.Etc.

Virtualized

How to Build an App:1. Have Idea2. Get Budget3. Submit hardware acquisition request4. Wait5. Get Hardware6. Rack and Stack Hardware7. Install Operating System8. Install Operating System Patches/Fix-Packs9. Create user Accounts10.Deploy framework/appserver11.Deploy testing tools12.Code13.Test14.Configure Prod servers (and buy them if

needed)15.Push to Prod16.Launch17.Order more servers to meet demand18.Wait…19.Deploy new servers20.Etc.

Physical

“The use of Platform-as-a-Service technologies will enable IT organizations to become more agile and more responsive to the business needs.” –Gartner*

Code Deploy Run

Save Time and Money

Code your app

Push-button Deploy, and your App is running in the Cloud!

…to drive Velocity, Efficiency, and Scalability in IT

PaaS leverages automation technologies and a cloud architecture…

Accelerate IT Service Delivery with PaaS

OpenShift – A PaaS that is truly infrastructure-agnostic

PaaS: It's Magic

Infrastructure Layer

SaaS/Applications Layer

Infrastructure LayerInfrastructure Layer

Rich Set of Developer Tools●Support for Multiple Languages including .Net, Java, Ruby, Node●Multiple Database Platforms – MongoDB, Postgres, MySQL●Quickstart and Instant Applications

Secure, Scalable Applications●Security built-in with SE Linux●Leverages cGroups to increase density●Redundancy across OpenShift Nodes

Administrative Tools●Query information on User's applications ●See how many gears are being used●See which cartridges are being used

Free as in Freedom●Choice of Interface: Web Console, Command-line, or IDE●Choice of Middleware: Java(EE6), Ruby, Node.js, PHP, Python, etc.●Choice of Cloud: Public, Private, or Hybrid Cloud●Choice of Elasticity: Automatic application scaling when needed

OpenShift – Multiple Perspectives

Demonstrating OpenShift Deployment OptionsYou Choose the Level of Control

Red Hat’s OpenShift PaaS Offerings

Public PaaSService

Q1 2011DevPreviewLaunched

Demo – Creating an Application on OpenShift OnlineCreate Apprhc app create -a javasample -t jbossas-7

Add MongoDBrhc app cartridge add -a javasample –c mongodb-2.0

Add add EAR file to your deployments directory

cd javasample

cp /path/to/ear/earfilename.ear ./deployments

Add the EAR file to gitgit add ./deployments/earfilename.ear

Push your codegit push

Done

Red Hat’s OpenShift PaaS Strategy

origin

Public Cloud Service

Open Source Project

Q1 2011DevPreviewLaunched

Q1 2012

Demo – Creating an Application in a OpenShift Origin InstanceDownload an OpenShift Origin OVA image from

http://openshift.github.io/documentation/oo_deployment_guide_vm.html

Re-Configure Client Tools

Create Apprhc app create -a javasample -t jbossas-7

Add MongoDBrhc app cartridge add -a javasample –c mongodb-2.0

Add add EAR file to your deployments directory

cd javasamplecp /path/to/ear/earfilename.ear ./deployments

Add the EAR file to gitgit add ./deployments/earfilename.ear

Push your codegit push

http://openshift.github.io/documentation/oo_deployment_guide_vm.html

Red Hat’s OpenShift PaaS Strategy

origin

Public Cloud Service

On-premise or Private Cloud Software

Open Source Project

Q1 2011DevPreviewLaunched

Q1 2012

Q4 2012

Demo – Creating an Application in a OpenShift Enterprise Environment in AWS Provision OpenShift Enterprise in AWS with oo-install tool. *Works with OpenShift Origin and Enterprise

Re-Configure Client Tools

Create Apprhc app create vote nodejs-0.10 –-from-code=https://github.com/ichristo/leaderboard-summit.git

Configure the MongoLab Instance

rhc env set MONGOLAB_URI='<db uri>' --app <app name>

rhc app restart --app <app name>

Browse to your app:open http://vote-vizuripaas.rhcloud.com

http://install.openshift.com

Even More OpenShift Deployment Options

Choose Your Desired Infrastructure

RHEL RHEL RHEL

OpenShift is Built on Instances of Red Hat Enterprise Linux (RHEL)

RHEL

AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal

Realizing Open Hybrid PaaSDemonstration of an Application Deployed Across Multiple Clouds

What's Your Favorite Cloud Provider

http://vote.vizuri.com

http://vote-vizuri.arcwrx.com

http://vote-vizuripaas.azure.osshive.io

http://vote-vizuripaas.ocean.osshive.io

http://vote-vizuripaas.rhcloud.com

http://vote-vizuripaas.rack.osshive.io

http://vote-vizuripaas.aws.osshive.io

Maximize the value of OpenShift Enterprise 60-Day Evaluations

1st

Week – An Operational OpenShift instance in your environment

2nd Week – Migrating Identified Candidate Applications

Remaining Time – “Office Hours” style mentoring and collaboration

Accelerate your Platform as a Service Adoption

Vizuri's JetStream Offering

Questions

Isaac Christoffersen | @1Vizuri | ichristoffersen@vizuri.com

Additional Resources● OpenShift Online – openshift.com● OpenShift Community – openshift.github.io• GitHub Projects - https://github.com/openshift

– Quickstarts– Puppet & Ansible Install Scripts– OpenStack Heat Templates

Thank You

Recommended