Beruflich Dokumente
Kultur Dokumente
PaaS to accelerate
DevOps & Continuous
Delivery
@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
Continuous delivery
Collaboration
Dev Ops
Network engineers
Security professionals
Dev Ops
Culture
Respect others expertise, opinions, responsibilities
Leads to transparency
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
With great
power, comes great
responsibility
Infrastructure
Never send a human to do a machines job
Consistency
Automation over documentation
Repeatability
Dev
Push-button deployments
Prod
Manage environments
Cloud computing: PaaS, OpenShift,
stackexchange.com/performance
Continuous Delivery
Continuous Integration Release
Manual
Fail fast and recover Acceptance
Deploy
Push to Prod
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