openshift overview
DESCRIPTION
OpenShift cloud technology high-level overview given at the Athens Area Software Developer Meet-up in Athens, Georgia, January 2014.TRANSCRIPT
AGENDA
• What is OpenShift?
• How much does it cost?
• Gears and Cartridges
• Why does WiserTogether use OpenShift?
• How can I play?
Platform as a Service (PAAS)
Backed by RedHat
Built on Linux Standards
Not Virtualized
Shared Hosting Environment*
“Hybrid” Cloud Environment
OpenShift Licensing Options
RHELfedora
Origin Enterprise RedHat Cloud
OpenShift Origin
Community Supported
Very Active Development
Full Source on GitHub
Free-as-in-Beer
installation options: web, live ISO, kickstart
OpenShift Enterprise
Slower / More Stable Release Roadmap
Runs on RHEL 6
Yearly Subscription ($$)
Available thru VARs
Free Evaluation Available
OpenShift Online
RedHat-Hosted Service
Free Tier (up to 3)
“Silver” Tier (up to 16) for $20/mo plus a few ¢/hr/gear
visit: www.openshift.com
Quick Recap
• RedHat’s foray into cloud offerings.
• Built on standard Linux technology.
• Three options: Origin (free), Enterprise ($$), Cloud (hosted)
Gears and Cartridges“((AND BEARS, OH, MY!!))”
GearsContainers with resource limits which run applications:
• Small
• Medium
• Large
Sizing is configured platform-wide by server admin.
…
“Gear” — http://www.flickr.com/photos/mag3737/304687602/
CartridgesAdded to gears to support languages, databases, or even applications.
PHP, python (2.6,2.7,3.3), Ruby (1.8/1.9), PostgreSQL, MySQL, Mongo, JBoss, perl, node.js, Go, Drupal, WordPress, Jenkins, Travis CI, more … plus the community cartridges (or, even, your own).
“Cartridge” — http://en.wikipedia.org/wiki/File:NES-Cartridge.jpg
* Standard Technologies
selinux
quota
cgroups
Source Collections (SCL)
work together to secure shared environment.
Built With…
Ruby
bash scripts
MongoDB*
Apache
BIND
git
ssh
env vars
* Makes OpenShift Web Scale™
Quick Recap
• Built on standard Linux technology.
• SCL allows multiple versions of code to be installed together on the same running server.
• Gears provide non-virtualized, secure, and constrained shared environment for your code.
• Features added with cartridges from RedHat, community, or your own DIY cartridge repo.
OpenShift Console
OpenShift RHC Tool
$ rhc Usage: rhc [--help] [--version] [--debug] <command> [<args>] !Command line interface for OpenShift. !Getting started: create-app Create an application apps List all your applications add-cartridge Add a cartridge to your application set-env Set one or more environment variable(s) to your application !Working with apps: tail Tail the logs of an application snapshot Save the current state of your application locally git-clone Clone and configure an application's repository locally !Management commands: app Commands for creating and managing applications env Manages user-defined environment variables set on a given application ssh SSH into the specified application !
Wanna Use OpenShift?
So, Why Does
Services.Lots of ‘em.
Release Management
Evolution of the Legacy Production and Staging Environment
Deve
lopm
ent
Prod
uctio
n
Depl
oy
Peer
Rev
iew
/ Te
stin
gPe
er R
evie
w /
Test
ing
OpenShift Workflow
S
S
SS
content
data
web app
assets
Multiple, Parallel Workstreams with Ad-Hoc Teams
Other Advantages
• Ad-hoc workgroups and priorities.
• Similar config and deployment “machinery.”
• Cartridges = flexible stacks per service.
• Code no longer marinates in fetid waters.
Other Advantages
• Huggy-kissy technology for nerds.
• App configuration is $OPENSHIFT_ENV-driven.
• Hybrid cloud model.
Putting It Together
Knockout To Do Demonstration !!1. Create node.js app 2. ???? 3. Profit.
Lots More Cool Stuff
• Custom cartridges
• Scalable applications
• Deploy hooks
• Group development
• Port forwarding
• Automated deploys / CI
• rhc / oo-* commands
• Broker REST API
• Snapshot and restore
• Logging and debugging
It’s Ruby, it’s shell, it’s Linux, you’ll find something to hack.
Broker: Master Control
Manages applications and DNS
Manages users, git, ssh on nodes
Runs OpenShift Console
Provides REST-style API
Nodes: Workers
Hosts applications
Endpoints for ssh and git
Cartridges installed here
Can auto-scale
You Can’t Win, If’n Y’on’t Play
https://www.openshift.com/
https://github.com/openshift/origin-server
http://openshift.github.io/
#openshift-dev on Freenode
To sign up for 3 free hosted gears.
Take a look at the code behind the curtain.
The community OpenShift website.
Talk smack about people’s mamas on IRC with the developers.
You Can’t Win, If’n Y’on’t Play
https://install.openshift.com/“Easy Button” install your own instance.
http://openshift.github.io/documentation/oo_cartridge_developers_guide.htmlAll you need to know to roll your own.
https://mywiserhealth.com/