Handwritten Text Recognition for manuscripts and early printed texts
Speed Up Development With OpenShift
1. 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
2. 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!
3. 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).
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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)
12. 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
13. June 2014 SELF 2014 | peter@peterlarsen.org 13
SouthEast | LinuxFest
LINUX IN THE GNU/SOUTH
Demo time
14. June 2014 SELF 2014 | peter@peterlarsen.org 14
SouthEast | LinuxFest
LINUX IN THE GNU/SOUTH
Thank You
Slides available: http://slidesha.re/1wi5wxa
Notes de l'éditeur
Personal Introduction
How many knows of OpenShift
People's background (Devs/Ops)