Sie sind auf Seite 1von 29

Using OpenShift &

PaaS to accelerate
DevOps & Continuous
Delivery

Andrea Morena, @andreamorena5


Arun Gupta, @arungupta
Andrea Morena
Senior Solution Architect

@andreamorena5
amorena@redhat.com
Arun Gupta
Director, Developer Advocacy &
Technical Marketing

@arungupta
blog.arungupta.me
arungupta@redhat.com
Organizations implementing DevOps

https://puppetlabs.com/wp-content/uploads/2013/03/2013-state-of-devops-report.pdf
CRAFTWORK MANUFACTURING
(DEVOPS)

FACTORY
WORKSHOP (CLOUD)
What is DevOps?
Its
DevOps!

Its
DevOps!
Its Its
DevOps! DevOps!

Its
Its
DevOps!
DevOps!
https://sites.google.com/a/jezhumble.net/devops-manifesto/
Five Cs of DevOps
Collaboration between dev and ops

Culture

Code everything - application and configuration

Consistency - automation over documentation

Continuous delivery
Collaboration
Dev Ops

Engineering System administrators

Test Operations staff

Product management DBAs

Network engineers

Security professionals
Dev Ops
Culture
Respect others expertise, opinions, responsibilities

Trust: Ops to think like devs, vice versa

Leads to transparency

Dont ignore failure, build joint recovery plans

Amplify feedback loops


Treat
people
warmly,
issues
coldly!

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
With great
power, comes great
responsibility

you build it, you run it!


Code everything
Application code Deployment scripts

Build scripts Test code and scripts

Database schema Provisioning scripts

Configuration files Monitoring

IDE configurations Logging

Infrastructure
Never send a human to do a machines job
Consistency
Automation over documentation

Repeatability
Dev
Push-button deployments

Managing environments Test

Prod
Manage environments
Cloud computing: PaaS, OpenShift,

Virtualization: Virtual Box, Vagrant,

Containers: Docker, Rocket,

App server: JBoss EAP, Tomcat,

Configuration tools: Puppet, Chef, Ansible, Salt

Orchestration: Kubernetes, Swarm,


Dashboards
Build dashboards, improve transparency

stackexchange.com/performance
Continuous Delivery
Continuous Integration Release

Manual
Fail fast and recover Acceptance

Self service Build

100% Automation Test

Deploy
Push to Prod

Proactive monitoring and metrics


it is the practice of
releasing every
good build to
users

continuous
integration to its
logical conclusion
Deployment Pipeline

an automated implementation of
your applications build, deploy,
test, and release process"
Quantitatively
Initial Managed Defined Optimizing
Managed
Teams organized One backlog per Extended team
based on platform/ team collaboration Cross-team continuous
Culture & technology Adopt agile Remove boundary dev/ improvement
Cross functional teams
Organization Defined and methodologies ops Teams responsible all the way to
documented Remove team Common process for all production
processes boundaries changes
Polling CI builds Commit hook CI builds
Centralized version Any build can be Build fails if quality is not
control re-created from met (code analysis,
Team priorities keeping
Automated build source control performance, etc.)
codebase deployable over
scripts Management of Push button deployment
doing new work Zero touch Continuous
Build & Deploy No management of build artifacts and release of any
Builds are not left broken Deployments
artifacts Automated releasable artifact to any
Orchestrated deployments
Manual deployment deployment scripts environment
Blue Green Deployments
Environments are Automated Standard deployment
manually provisioned provisioning of process for all
environments environments
Frequent fully automated
Infrequent but fully
Infrequent and Painful infrequent releases
automated and reliable No rollbacks, always roll
Release unreliable releases but reliable
releases in any
Deployment disconnected from
forward
Manual process releases release
environment
Canary releases
Data migrations Automatic datastore
Data migrations are Automated and Changes to datastores
Data performed manually,
using versioned
versioned changes to automatically performed as part
changes and rollbacks
Management scripts, performed tested with every
no scripts datastores of the deployment process
manually deployment
Fully automatic acceptance
Automatic
tests
Integration Tests Automatic functional Verify expected business
Automated unit tests Automatic performance/security
Test & Separate test
Static code tests
tests
value
Verification analysis Manual performance/ Defects found and fixed
environment Manual exploratory testing
Test coverage security tests immediately (roll forward)
based on risk based testing
analysis
analysis
Baseline process Automatic generation of Dynamic self-service of
Measure the
metrics release notes Report trend analysis information
Information & Manual reporting
process
Pipeline traceability Real time graphs on deployment Customizable dashboards
Reporting Automatic reporting
Visible to report Reporting history pipeline metrics Cross-reference across
Visible to team
runner Visible to cross-silo organizational boundaries

http://blog.arungupta.me/continuous-integration-delivery-deployment-maturity-model/
References

github.com/javaee-samples/devops

Das könnte Ihnen auch gefallen