SouthEast | LinuxFest
LINUX IN THE GNU/SOUTH
Speed Up Software Development
A introduction to PaaS and OpenShift
for developers
By Peter Larsen
Red Hat Solutions Architect
plarsen@redhat.com / peter@peterlarsen.org
June 2014 SELF 2014 | peter@peterlarsen.org 2
About MeAbout Me
● I work at Red Hat (plarsen@redhat.com)
● Have used Linux since “forever” - approx '93
● Worked in IT for almost 30 years
● Started programming on Mainframes (yeah, I'm old)
● Worked as consultant, architect, developer, DBA, system
administrator, “storage guy”, data center planning etc.
● My Job is to talk about Open Source technologies
Yup! They pay me to do that!
June 2014 SELF 2014 | peter@peterlarsen.org 3
Developer ScenariosDeveloper Scenarios
● Get Great Idea
● Convince Boss that it's a good idea – or get resources to do it the
Open Source way (get hardware etc)
● Install OS
● Install Application Server software (Java, JBoss, Tomcat, Apache,
PHP, Ruby, Python etc)
● Configure server to fit needs – Add DB, LB, Failover etc.
● Start coding (unless you are now so frustrated that you don't care).
June 2014 SELF 2014 | peter@peterlarsen.org 4
After you get startedAfter you get started
● Defining a consistent build system
● Creating/using source repository with git or similar SCM
● Executing test scenarios
● Making predictable deployments
June 2014 SELF 2014 | peter@peterlarsen.org 5
What is this DevOps thing?What is this DevOps thing?
Operations
Development
Business
Needs
DevOps
Development
Business
Needs
Operations
Collaboration, Process Automation & Communication
Market Demand
Competitive Advantage
Time to Market
Agility
Quality Assurance
IT Investment
Security
Availability
Governance & Control
Long term stability
Operating Cost
Standardization
New Application Features
Development Speed
Fast release cycles
Ease of Deployment
Test Infrastructure
Development Infrastructure
Process Alignment
Collaboration
Lifecycle Management
Time to Market
Business Agility
Improved Quality
Automation
June 2014 SELF 2014 | peter@peterlarsen.org 6
Introducing containersIntroducing containers
● Based on known “templates” of system configurations
● Instantiate in seconds
● Maintain a template – update all instances
● Much simpler than a Virtual Machine (VM)
● Just as secure if not more as a VM
● Light weight – can run a lot more on the same hardware vs. a
hypervisor with VMs
June 2014 SELF 2014 | peter@peterlarsen.org 7
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
DEVELOPER
USER
GIT/SSH
cron
logs
sshd
HTTP/S
MY GEAR
Broker (RHEL)
Node (RHEL)
Node (RHEL)
REST
Web Console
Eclipse IDE
Cmd Line
SELinux
GEAR
jenkins
Maven
CGroups
OpenShift ArchitectureOpenShift Architecture
MyApp
Code
Git
Repo
php
Jenkins
MySQL
June 2014 SELF 2014 | peter@peterlarsen.org 8
Innovation
Stabalization
Innovation
Stabalization
OpenShift
Origin
OpenShift
Online
OpenShift
Enterprise
Apps
Portability
Open Source
Community Project
On-demand Service
Operated by Red Hat
at OpenShift.com
Commercially
Supported “On
Premise”
Version
OpenShift VersionsOpenShift Versions
June 2014 SELF 2014 | peter@peterlarsen.org 9
From 0 to 60 in 5 secondsFrom 0 to 60 in 5 seconds
● rhc app create coolapp php-5.4 mysql-5.5
● cd coolapp
● add/edit some files
● git add . && git commit -am “First version”
● git push
● Point browser to application on web
● DONE
June 2014 SELF 2014 | peter@peterlarsen.org 10
Jenkins controlJenkins control
● Associate with Jenkins for Continious integration
● rhc app create jenkins
● rhc cartridge add -a coolapp -c jenkins
(or add “--enable-jenkins” when creating the gear)
● When pushing code Jenkins executes and controls build
June 2014 SELF 2014 | peter@peterlarsen.org 11
How to install/get startedHow to install/get started
● Go to http://openshift.com and get started for free
● Install your own: Fedora or CentOS are good starting grounds
http://openshift.github.io/
https://install.openshift.com
● Workstations need “rhc” - an easy rubygem install (rubygem
install rhc)
June 2014 SELF 2014 | peter@peterlarsen.org 12
CartridgesCartridges
● Cartridges are the “templates” of OpenShift
● http://openshift.github.io/documentation/oo_cartridge_developers_gu
● Uses yaml metadata to describe cartridge
June 2014 SELF 2014 | peter@peterlarsen.org 13
SouthEast | LinuxFest
LINUX IN THE GNU/SOUTH
Demo time
June 2014 SELF 2014 | peter@peterlarsen.org 14
SouthEast | LinuxFest
LINUX IN THE GNU/SOUTH
Thank You
Slides available: http://slidesha.re/1wi5wxa

Speed Up Development With OpenShift

  • 1.
    SouthEast | LinuxFest LINUXIN THE GNU/SOUTH Speed Up Software Development A introduction to PaaS and OpenShift for developers By Peter Larsen Red Hat Solutions Architect plarsen@redhat.com / peter@peterlarsen.org
  • 2.
    June 2014 SELF2014 | peter@peterlarsen.org 2 About MeAbout Me ● I work at Red Hat (plarsen@redhat.com) ● Have used Linux since “forever” - approx '93 ● Worked in IT for almost 30 years ● Started programming on Mainframes (yeah, I'm old) ● Worked as consultant, architect, developer, DBA, system administrator, “storage guy”, data center planning etc. ● My Job is to talk about Open Source technologies Yup! They pay me to do that!
  • 3.
    June 2014 SELF2014 | peter@peterlarsen.org 3 Developer ScenariosDeveloper Scenarios ● Get Great Idea ● Convince Boss that it's a good idea – or get resources to do it the Open Source way (get hardware etc) ● Install OS ● Install Application Server software (Java, JBoss, Tomcat, Apache, PHP, Ruby, Python etc) ● Configure server to fit needs – Add DB, LB, Failover etc. ● Start coding (unless you are now so frustrated that you don't care).
  • 4.
    June 2014 SELF2014 | peter@peterlarsen.org 4 After you get startedAfter you get started ● Defining a consistent build system ● Creating/using source repository with git or similar SCM ● Executing test scenarios ● Making predictable deployments
  • 5.
    June 2014 SELF2014 | peter@peterlarsen.org 5 What is this DevOps thing?What is this DevOps thing? Operations Development Business Needs DevOps Development Business Needs Operations Collaboration, Process Automation & Communication Market Demand Competitive Advantage Time to Market Agility Quality Assurance IT Investment Security Availability Governance & Control Long term stability Operating Cost Standardization New Application Features Development Speed Fast release cycles Ease of Deployment Test Infrastructure Development Infrastructure Process Alignment Collaboration Lifecycle Management Time to Market Business Agility Improved Quality Automation
  • 6.
    June 2014 SELF2014 | peter@peterlarsen.org 6 Introducing containersIntroducing containers ● Based on known “templates” of system configurations ● Instantiate in seconds ● Maintain a template – update all instances ● Much simpler than a Virtual Machine (VM) ● Just as secure if not more as a VM ● Light weight – can run a lot more on the same hardware vs. a hypervisor with VMs
  • 7.
    June 2014 SELF2014 | peter@peterlarsen.org 7 RHEL Red Hat Enterprise Linux Node Public / Hybrid / Private / Virtualization / Bare Metal DEVELOPER USER GIT/SSH cron logs sshd HTTP/S MY GEAR Broker (RHEL) Node (RHEL) Node (RHEL) REST Web Console Eclipse IDE Cmd Line SELinux GEAR jenkins Maven CGroups OpenShift ArchitectureOpenShift Architecture MyApp Code Git Repo php Jenkins MySQL
  • 8.
    June 2014 SELF2014 | peter@peterlarsen.org 8 Innovation Stabalization Innovation Stabalization OpenShift Origin OpenShift Online OpenShift Enterprise Apps Portability Open Source Community Project On-demand Service Operated by Red Hat at OpenShift.com Commercially Supported “On Premise” Version OpenShift VersionsOpenShift Versions
  • 9.
    June 2014 SELF2014 | peter@peterlarsen.org 9 From 0 to 60 in 5 secondsFrom 0 to 60 in 5 seconds ● rhc app create coolapp php-5.4 mysql-5.5 ● cd coolapp ● add/edit some files ● git add . && git commit -am “First version” ● git push ● Point browser to application on web ● DONE
  • 10.
    June 2014 SELF2014 | peter@peterlarsen.org 10 Jenkins controlJenkins control ● Associate with Jenkins for Continious integration ● rhc app create jenkins ● rhc cartridge add -a coolapp -c jenkins (or add “--enable-jenkins” when creating the gear) ● When pushing code Jenkins executes and controls build
  • 11.
    June 2014 SELF2014 | peter@peterlarsen.org 11 How to install/get startedHow to install/get started ● Go to http://openshift.com and get started for free ● Install your own: Fedora or CentOS are good starting grounds http://openshift.github.io/ https://install.openshift.com ● Workstations need “rhc” - an easy rubygem install (rubygem install rhc)
  • 12.
    June 2014 SELF2014 | peter@peterlarsen.org 12 CartridgesCartridges ● Cartridges are the “templates” of OpenShift ● http://openshift.github.io/documentation/oo_cartridge_developers_gu ● Uses yaml metadata to describe cartridge
  • 13.
    June 2014 SELF2014 | peter@peterlarsen.org 13 SouthEast | LinuxFest LINUX IN THE GNU/SOUTH Demo time
  • 14.
    June 2014 SELF2014 | peter@peterlarsen.org 14 SouthEast | LinuxFest LINUX IN THE GNU/SOUTH Thank You Slides available: http://slidesha.re/1wi5wxa

Editor's Notes

  • #2 Personal Introduction How many knows of OpenShift People's background (Devs/Ops)