A Solution Blueprint For Devops: Executive Summary
A Solution Blueprint For Devops: Executive Summary
A Solution Blueprint For Devops: Executive Summary
frequent release deployments to customers. transition from the existing infrastructure minimizing disturbances of the existing
But many organizations are challenged by the development, test and release process
migration to these new processes. Key Performance Indicators (KPIs) and a dashboard that provides the requisite
visible measures necessary for Continuous Change Management (CCM) and
The DevOps solution blueprint encompasses
monitor operational performance of the DevOps system itself to guide operations
Continuous Integration (CI), Continuous
and continuous improvements.
Test (CT), Continuous Delivery (CD) and
Continuous Change Management (CCM) Without continuous control, the code development complexity curve becomes unstable,
capabilities with automated orchestration of creating a “big bang process” that results in process failures such as late deliveries,
all operations necessary for the rapid-paced poor quality release content and cost overruns. CT together with CCM delivers progress
product development essential for business monitoring and control features required to reduce complexity by ensuring corrective
performance. actions are taken early and often before problems build up into a big bang.
The DevOps solution blueprint applies whether an organization is just getting started
with Agile or currently employs Agile, waterfall or waterfall-scrum processes. It also
applies whether the environment is hosted on physical systems, virtual systems or a
combination of the two.
Readers!
2 | spirent.com
When the DevOps infrastructure is not implemented In a DevOps environment implemented in accordance
according to best practices, then the following problems with best practices, elastic on-demand build and test
typically result: resources accomplish fast, frequent cycles, without
sacrificing test coverage or dedicating costly under-
Large, complex software merges bottle-neck
utilized equipment. DevOps environments may demand
integration because large merges require longer
multiple copies of systems which is expensive if those
build and test times which violate the best practice
resources are dedicated physical systems. The solution
that prescribes frequent, quick change cycles.
to control the cost of multiple on-demand computing
Excessively long software build and test cycles resources needed for parallel building and testing is to
caused by lack adequate resources in the build and virtualize the components of the system being built and
test environment. tested and also virtualize the test systems whenever
Proliferation of costly dedicated equipment to ensure possible. In this way a test system/system under test
there are sufficient resources to meet peak demands combination can be deployed on-demand as virtualized
of the DevOps system. resources. The use of virtualized resources allows the
host equipment to be deployed on-demand and re-used
High rate of defects found by Quality Assurance (QA)
for other code lines or other purposes when not needed
or customers causes by rapid but inadequate test
for a particular product or code line build or test job.
coverage.
spirent.com | 3
White Paper
Requirement
Design
Design
Analyze
SW Change Software
Change
Merge
Build Test Merge
Package
Test
Build
Analyze
Package
Release
Historical context
Figure 1: Waterfall Prior to Agile, the most prevalent software development According to http://agilemethodology.org/ “It’s easy to
and Agile Software methodology was the sequential “Waterfall model”. see the problems with the waterfall method. It assumes
Development Models
Figure 1 compares the sequential nature of waterfall with that every requirement can be identified before any
the iterative, cyclic nature of Agile. Agile process typically design or coding occurs. Could you tell a team of
would iterate many times to achieve the same results as developers everything that needed to be in a software
one waterfall cycle, but with much less effort and higher product before any of it was up and running? Or would it
quality. be easier to describe your vision to the team if you could
react to functional software? Many software developers
In the waterfall model it is assumed each step in the
have learned the answer to that question the hard way: At
process is completed for the entire system being
the end of a project, a team might have built the software
developed prior to completing the next step. This
it was asked to build, but, in the time it took to create,
resulted in a long time between requirement definition
business realities have changed so dramatically that the
and release to customers. Each step is dependent
product is irrelevant. Your company has spent time and
on the prior step so problems in any one step would
money to create software that no one wants. Couldn’t it
cause delays for the entire project. All too often the
have been possible to ensure the end product would still
long development period and the stepwise delays
be relevant before it was actually finished?”
causes projects to miss their deadlines. In many cases,
the customer requirements change by the time the
project is completed. The problems associated with the
Waterfall Model ultimately drove the creation of the Agile
Development Model.
4 | spirent.com
DevOps Context
Engineering / QA DevOps IT Operations
Continuous Configuration
Automated
CI CT CD
Continuous Testing
Continuous Integration Continuous Testing Continuous Delivery
Continuous Control
Agile Infrastructure
Shorter release cycles, predictable dates & higher quality
CI = Continuous Integration, CT = Continuous Testing,
CD = Continuous Delivery, CCM = Continuous Change Management
spirent.com | 5
White Paper
6 | spirent.com
Development
Continuous Change Management (CCM)
SVM
Source Code ready
P4, Git, SVN, etc.
not ready
Analytics
Dashboards
Commit
trigger checkout
push / pull
Continuous Integration (CI)
commands
and images images logs
responses
Build(s) SUT
Dev, CI, QA, Labs
spirent.com | 7
White Paper
Commit
Notify &
Trigger
Report
Destroy CDBuild
DUTs
Create
L1 Test
DUTs
Deploy
Figure 5: DevOps Cycle 4. An Artifacts Repository contains completed build 6. Test and Lab Management Systems may also be
with Virtualized SUT packages and information required to test the hosted on physical or virtualized platforms. In a
packaged builds. The repository is an organized DevOps system implemented according to best
store of artifacts related to the product. In addition practices, functional and system level QA testing are
to source and build artifacts the repository may fully automated. Many organizations are reluctant
include, test artifacts such as test scripts, logs and to perform automated QA testing as part of CI due
test results data related to issue and ticket tracking, to increased cycle times and unreliable automation.
compliance and regulatory artifacts, development A DevOps system implemented according to best
and user documentation, and configuration data. practices, is able execute stable QA regression runs
Examples of Artifacts Repositories include an NFS while dynamically managing virtualized and physical
file share, Zephyr and HPQC. The repository may hardware resources and scale the tests dynamically
be implemented as a single database or multiple according to resource availability for the allotted
databases. test time. Examples of Test and Lab Management
Orchestrations Systems are Spirent’s iTest and
5. The software for the System Under Test (SUT) or
Velocity.
device under test (DUT) may be hosted by a physical
or virtualized device, or network of devices. As 7. A Delivery system packages release artifacts such
shown in Figure 5, when the SUT is virtualized the as software packages in formats consumable by
CI cycle includes steps to create virtual machines customers and provides controls to determine when
to host the SUT software and when the tests are to promote a packaged product version to customer
completed the DevOps system destroys the SUTs so release status.
the host resources are available for other purposes.
8 | spirent.com
8. Analytics collect and analyze reports and logs from The increasing number of organizations adopting the
the CI, CT and CD systems to determine whether cloud model indicates the value they are finding in
any additional changes are required to complete a the cloud. Cloud computing is an extremely cost-
quality cycle. For example, tests that result in failures effective method of deploying, maintaining and
may automatically determine that a change in the securing desktop and server applications. Rather
SVM system must be reverted and may automatically than purchase hardware and software licenses for
trigger the revert process. each member, an organization can serve them up
based on demand, not only reducing costs but also
9. A DevOps host environment may be private, public
enhancing scalability. This applies to DevOps CI, CT,
or hybrid cloud services (e.g. AWS, Rackspace).
CD and CCM services also.
The cloud is an abstract term used to generalize
various types of remote storage, computation By virtualizing DevOps applications, an organization
and user access services. While cloud-computing can centralize and streamline management
infrastructures may consist of many types of services, processes. Tasks such as backup, recovery, and
most implementations provide one or more of the installing updates and security patches can be
spirent.com | 9
White Paper
• Undefined behavior
10 | spirent.com
Capability • Analyze existing build, test and deployment environment
assessment • Assess the existing virtualization, CI and automation capabilities
Documentation
Continuous • Implement new CI capability
integration • Enhance existing CI capability
Training
Continuous • Integrate testing into the Continuous Quality cycle
testing • Automate QA testing and determine automation platform
spirent.com | 11
White Paper
12 | spirent.com
Summary
Whether an organization is just getting started with Agile
or similar fast paced product development, or currently
employs Agile or DevOps processes but wants to
improve the efficiency of their environment the DevOps
solution blueprint described in this document provides
a comprehensive framework and a step-wise approach
towards implementing a solution.
spirent.com | 13
White Paper
Figure 8: CLEAR
DevOps Phased 1-2 weeks 4-8 weeks 2+ months
Implementation
Approach
14 | spirent.com
Reference links Acronyms, abbreviations, and
Agile: software development methodology: http://www. definitions
agilealliance.org/the-alliance/the-agile-manifesto/ API Application Programming Interface
BDD Behavior Driven Design
DevOps: software development method: http://
en.wikipedia.org/wiki/DevOps CapEx Capital Expense
CD Continuous Delivery
Jenkins: An extendable open source continuous CI Continuous Integration
integration server: http://jenkins-ci.org
CLEAR Collaborative, Leadership, Exploration,
spirent.com | 15
White Paper
spirent.com
AMERICAS 1-800-SPIRENT
+1-818-676-2683 | sales@spirent.com
© 2015 Spirent. All Rights Reserved.
EUROPE AND THE MIDDLE EAST All of the company names and/or brand names and/or product names referred to in this document, in particular, the name “Spirent”
+44 (0) 1293 767979 | emeainfo@spirent.com and its logo device, are either registered trademarks or trademarks of Spirent plc and its subsidiaries, pending registration in
accordance with relevant national laws. All other registered trademarks or trademarks are the property of their respective owners.
ASIA AND THE PACIFIC
+86-10-8518-2539 | salesasia@spirent.com The information contained in this document is subject to change without notice and does not represent a commitment on the part
of Spirent. The information in this document is believed to be accurate and reliable; however, Spirent assumes no responsibility or
liability for any errors or inaccuracies that may appear in the document. Rev A. 01/15