This document discusses DevOps concepts including the teams involved in DevOps (development, build/release, QA, application, and OS teams), DevOps processes like continuous integration, continuous delivery, and continuous deployment, and DevOps tools. It defines DevOps as a culture and set of practices that promote collaboration between development and operations teams.
11. http://www.conlinetraining.com/courses/devops-online-training/
What is Devops?
DevOps started as a culture and set of practices to support
collaboration and communication across development and
operations, and to apply automation to key phases of the
software delivery process.
Developers Build Team QA Team Application Team OS Team
14. http://www.conlinetraining.com/courses/devops-online-training/
Continuous Integration (CI)
Continuous Integration (CI) is a development practice that requires developers to integrate code
into a shared repository several times a day. Each check-in is then verified by an automated build,
allowing teams to detect problems early.
Continuous Integration brings multiple benefits to your organization:
• Say goodbye to long and tense integrations
• Increase visibility which enables greater communication
• Catch issues fast and nip them in the bud
• Spend less time debugging and more time adding features
• Proceed in the confidence you’re building on a solid foundation
• Stop waiting to find out if your code’s going to work
• Reduce integration problems allowing you to deliver software more rapidly
15. http://www.conlinetraining.com/courses/devops-online-training/
Continuous Delivery (CD)
Continuous Delivery (CD) is a software development practice in which continuous integration, automated testing,
and automated deployment capabilities allow high-quality software to be developed and deployed rapidly, reliably
and repeatedly with minimal manual overhead.
Continuous Delivery brings multiple benefits to your organization:
• Deliver software with fewer bugs and lower risk.
• Release new features to market more frequently — and learn.
• Respond to marketing conditions more quickly.
• Life is saner for everyone: IT operations, software development, QA, product owners and business line
owners.
When to use continuous delivery.
• You provide an online service
• Your release times are getting longer and longer
• You are developing a new product
• You have a big project with a lot of contributors
• You need to release frequent security patches
16. http://www.conlinetraining.com/courses/devops-online-training/
Continuous Deployment (CD)
Continuous deployment can be thought of as an extension of continuous integration, aiming at
minimizing lead time, the time elapsed between development writing one new line of code and
this new code being used by live users, in production.
To achieve continuous deployment, the team relies on infrastructure that automates and
instruments the various steps leading up to deployment, so that after each integration
successfully meeting these release criteria, the live application is updated with new code.
Instrumentation is needed to ensure that any suggestion of lowered quality results in aborting the
deployment process, or rolling back the new features, and triggers human intervention.
Continuous Integration brings multiple benefits to your organization:
• Early Releases
• Early Bug fixes
17. http://www.conlinetraining.com/courses/devops-online-training/
CD vs CD
While Continuous Deployment may not be right for every company, Continuous
Delivery is an absolute requirement of DevOps practices. Only when you
continuously deliver your code can you have true confidence that your changes
will be serving value to your customers within minutes of pushing the "go" button
, and that you can actually push that button any time the business is ready for it.
18. http://www.conlinetraining.com/courses/devops-online-training/
Configuration Management
Configuration Management is a set of interrelated processes, management techniques, and
supporting tools that assure:
1. Our work products are as they should be and conform to requirements.
2. Changes to our the requirements are properly evaluated, authorized, and implemented.
3. All information/data necessary to manage our end items and other related work products is:
a) kept current and accurate,
b) properly structured for users’ needs, and
c) readily available to all who requires.
Configuration Management (CM) ensures that an organization is making informed business
decisions, performing correct actions, and that all work products are what they are intended to be
at every point in the lifecycle.
CM is about knowing what we did yesterday, what we are doing today, and what we will be doing
in the future, as well as understanding the reasoning and authority behind every action/change
that got us there.
19. http://www.conlinetraining.com/courses/devops-online-training/
DevOps Culture
DevOps is less about what we do and more about how we do it. Technology infrastructure and evolving
processes are critical in successfully transforming an organization to DevOps principles. But, at the
end of the day, DevOps is about how work gets done, and how people interact with each other and with
technology to drive performance.
DevOps is not an off-the-shelf solution that can just be implemented. Unfortunately, there is no
one-size-fits-all approach for how DevOps should be implemented. Again, since DevOps is
fundamentally a cultural shift in the way work gets done, it will take slightly different forms based on
the organization.
The people side is critical to the equation. While most of the DevOps articles I have come across do
make passing mention of the people side of the DevOps equation, very few go beyond a brief
affirmation that it’s essential before moving on to the process and technology/infrastructure
components of the transformation. If we truly want to change the way people work to drive velocity in
the tech world, then we must take a deeper look at this human side of DevOps, and the ways it can
support or derail a sustainable DevOps transformation.