DevOps Stratagies | DevOps Introduction
The objective of the document is to explain Riverstone’s strategy for implementing and/or
improving the DevOps practices and tools used across the assorted Development and Operations
related processes at a corporation. The square measureas that square measure appropriate for automation are known and
possible solutions for every space square measure represented. this is often subject to vary supported discussion with
DevOps may be outlined as a culture or method or practise among a corporation that will increase the
communication, collaboration and integration of the event (which includes the QA team)
and the Operations (IT Operations) groups. The aim is to modify and speed up the computer code
delivery method way more ofttimes and faithfully.
Figure one A diagram thanks to perceive DevOps
Even though ‘Continuous Delivery’ is another term that's employed in conjunction with DevOps, there
are some variations. the subsequent diagram (Pic courtesy: collab.net) shows the relations
Figure two DevOps vs Continuous Delivery
Some of the phases might not slot in every kind of services or merchandise. Ex. ‘Operation’ part isn't
relevant within the case of a product that's shipped to associate external client. The operation of that
product falls below the customer’s operation life cycle.
The goals of DevOps square measure to form enhancements across all elements within the product and repair
• Improved readying frequency
• Lower failure rates of latest releases
• quicker recovery time from crashes or failures.
Companies that apply DevOps have according vital advantages. a number of them square measure
• considerably shorter time-to-market
• Improved client satisfaction
• additional reliable releases
• Improved productivity and potency
• The increased ability to make the proper product by quick experimentation
Some of the key findings from PuppetLabs/DORA study in 2016 square measure as follows.
High-performing IT organizations compared to low-performing organizations
• 200x additional frequent deployments
• 24x quicker recovery times
• 2,555 times quicker lead times
• 2.2x higher worker loyalty (eNPS)
• twenty second less time on unplanned work and
• fifty p.c less time remediating
DevOps is over simply a collection of practices. There square measure many who square measure employed in the trade. The
following section can list the highest associated ordinarily used apply in an exceedingly DevOps method in an IT
Trying to try and do an excessive amount of quickly may be a direction for disaster. it's higher to begin tiny comes and
gain confidence of team. begin project that encompasses a high success likelihood. this might be a
pilot or model or proof of construct project.
ii. focus on the method and not on the tools.
It is higher to be tool freelance and a decent method ought to have the flexibility to exchange one
tool with another while not an excessive amount of disruption.
iii. place everything below version management.
To faithfully deploy associate application on to production, all the things that square measure needed for
building the application: code, test cases, style documents, external libraries, databases
and something that would be updated, has got to be anesthetise version management.
iv. Maintain a production-equivalent staging surroundings
Typically a development surroundings is completely different from production. So, to avoid problems that
are found solely when going into production, like performance, access connected and such, it is
advised to own a staging surroundings wherever all those i
build surroundings cut back|to scale back|to cut back} time to setup and additionally reduce any human errors. Infrastructure
as a Service (IAAS) is employed for this purpose.
vii. modify readying of application
In addition to higher than surroundings build automation, it's additionally terribly helpful to own
automation to deploy the appliance to the surroundings. This includes initializing the
databases, initial setup of application, installation of dependencies et al.. The
automated build and readying may be achieved through ‘Infrastructure as a code’
Since DevOps is additional of a method, there's not one tool that helps in deploying DevOps apply
in a corporation. it's additional of a ‘toolchain’, a set of tools that helps within the implementation of a
chosen DevOps apply. DevOps implementation doesn’t mean to throw away existing tools in
favour of latest ones. It involves in desegregation the present tools and migrating the non-compliant
tools to suit the chosen practice/process. the method steps you wish to contemplate for tools support
• Request capture and price tag advancement
• automatic take a look at scripts and cargo Testing
• Cloud supplier integration
Now there square measure several tools that became platforms through that several functions may be
performed with one tool. a number of the popular DevOps platforms are:
Jenkins is that the leading open supply, extendible continuous integration server on the market nowadays.
Written in Java, Jenkins provides automatic continuous integration services for computer code
development. The platform provides sizeable flexibility around however builds may be initiated –
including a version system, scheduled cron jobs, launched once alternative builds have
completed, and by suggests that of a selected build address.
Jenkins is additionally present within the DevOps market, supported by overflow 800 plugins that permit users
to extend its use to support comes written in virtually any language, most version management systems,
and most massive databases.
Chef offers what it calls Automation for Web-Scale IT, by delivering quick, scalable, versatile IT
automation. cook may be a configuration management platform that creates use of what it calls “recipes”
to modify infrastructure tasks. samples of recipes square measure directions for configuring internet servers,
databases and cargo balancers. These recipes describe what associate infrastructure consists of and the way
each a part of it ought to be deployed, organized and managed.
Chef will contour the configuration and maintenance of a company’s servers, furthermore as integrate
with cloud-based platforms like Rackspace, Amazon EC2, and Google Cloud Platform to
automatically provision and piece new machines.
Puppet Labs may be a standard name within the DevOps trade, and is understood for its ASCII text file
configuration management tool, Puppet, furthermore because the commercially out there version, known as
Puppet Enterprise. Puppet Enterprise is employed to modify tasks at completely different stages of the IT
infrastructure lifecycle, together with discovery, provisioning, OS and application configuration
management, orchestration, and reportage.
Puppet Labs offers associate expansive scheme that features coaching and certification. Through Puppet
Certification Program Puppet Labs provides skilled exams to acknowledge IT professionals WHO
have incontestable the technical ability and knowledge required to manage their infrastructure
proactively throughout its lifecycle.
AnsibleWorks provides IT orchestration engine that creates applications and systems easier to
deploy. Or in its own words, “Ansible makes deploying computer code fun once more.” Ansible takes this claim
seriously. not like most configuration management platforms, Ansible uses what's known as “agentless
architecture.” In most cases, nodes should have a domestically put in daemon that communicates with a
controlling machine. Ansible, on the opposite hand, doesn’t need a custom agent or computer code to
install, however merely communicates over SSH.
Ansible is well protrusile and may deploy to virtualization environments and public and personal
cloud environments together with VMware, OpenStack, AWS, Eucalyptus Cloud, KVM, and CloudStack.
The platform can also deploy massive information, storage and analytics environments together with Hadoop, Riak,
Implementing a decent DevOps method can profit any organization to an excellent extent. This includes
planning, developing, integration and automation. There square measure a number of product areas that may
immediately have the benefit of some integration and automation tasks which will cut back the manual work
involved, increase the responsiveness of support team and additionally optimize the resources used. A
typical DevOps implementation can integrate and modify the various method with tools
appropriate to the client and would seem like the image below. (PC: digitalcto.com)
4.1.Understanding current scenario
current DevOps capabilities and therefore the tools used. this is often through with the assistance of a form which will be shared with the stakeholders. A properly stuffed up form can provides a smart understanding of
the current setup at the client organization.
4.3.Documentation of existing processes
The current processes, tools & systems utilized by the client are documented, if no such
document exists already with the client.
Before beginning the project, some measurements to point this DevOps tools and capability
will be noted down. Some samples of these measurements would be: variety of releases in an exceedingly year;
Average time to mend a defect and then on. This activity are compared against when the
4.5.Opportunities for improvement
During the analysis of this method and tools, there'll be some areas which will need
improvement in terms of method or technology. this can be incorporated into the ultimate presentation.
Each space of improvement are analyzed for business impact and therefore the areas with high impact can
After all the analysis square measure done and processed, the best end-state from a DevOps stance are
documented and conferred. this can embody the method and tools which will match the client
requirement. a number of the method would be: Code review process; Versioning best practice;
Infrastructure recommendation to use of personal cloud; and then on.
Finally, a roadmap which will show the steps to implement a replacement DevOps method or to boost the
existing method and therefore the list of tools that square measure counseled are conferred to the client.
Riverstone would then show the advantage of new DevOps method by prototyping and demonstrating
one of the areas known for improvement.
5. Use Case eventualities
Listed below square measure a number of the eventualities that Riverstone can facilitate the client implement the
5.1.Integration with Continuous Integration (CI) platform
CI is a vital part of the DevOps method. Tools like Jenkins, Buildbot, Microsoft
VSTS/TFS, and Bamboo square measure the popular CI tools. one in every of them may be enforced supported
CI tools may be integrated with supported version system like lowlife, Subversion to supply
automated builds whenever there's a code commit in any chosen branch. This avoids a manual means
to somebody looking for code and doing a build. Any build errors owing to a wrong commit will
also be caught now instead of later throughout a periodic builds.
CI may be any extended to require such builds and run automatic take a look at cases that on any failing take a look at
cases will mechanically revert the committed code. Tools like Jenkins offer plenty of plugins that
helps in extending Jenkins to try and do several functions among a DevOps method.
Take the below diagram as a typical development method. The developer commits the code into a
repository system (ex. Git). The build and unharness team a part of the Operations can take the
committed code and build it on the build server. Then they deploy the resultant bits (like War file)
on to a testing surroundings. The test/QA team then will their tests on the appliance. On
successful testing, the discharge team then deploys the appliance on to the assembly server.
Figure four Manual processes in an exceedingly development life cycle
There square measure several manual steps in such a method.
i. looking for code to make server
iii. Deploying the appliance to check server
iv. Testing by the QA team (manual half, if not absolutely automated)
v. Deploying the appliance to production server
vi. readying of build server
vii. readying of take a look at server
viii. watching of the take a look at, staging, production servers
Now we have a tendency to install a CI tool (ex. Jenkins) and integrate it with the version system (Git), testing
server and additionally with the staging and production setup. With correct configuration, the CI server can
automatically checkout code from the lowlife repository (can be organized to try and do daily/weekly or
whenever a commit happens). It then uses the build servers to make the appliance. It will deploy
the application to the organized take a look at server and run the automatic take a look at cases. On productive take a look at, it
can deploy the appliance to staging surroundings and eventually on to production surroundings on
request. This method currently eliminates plenty of manual steps. The below diagram denotes the new
5.2.Integration with Infrastructure/Configuration Management
Continuous readying is another major part of the method. to try and do application deployments
automatically, the infrastructure (CPU, storage, memory) ought to support it. this is often attainable once
customer uses associate IAAS platform. It can be a private/on premise cloud like VMware, OpenStack or
public/internet cloud like Amazon AWS, Microsoft Azure.
CI build setup, testing setup and lots of alternative functions needs hosts with bound
CPU/memory/storage capability. On this the builds would happen, applications would be deployed for
system testing and then on. rather than putting in dedicated build servers or testing servers which is able to
be used only needed and can be idle for the reminder of the time, it's higher to deploy these
hosts as and once it's needed. this is often attainable with technologies like Infrastructure as a Service
(IAAS), configuration management. CI tools like Jenkins et al. have well integrated interfaces to
IAAS platforms like OpenStack, AWS which might provision the specified build servers on demand and
do the build for it. Similarly, testing automation will use the suitable interfaces (using APIs) to
provision the specified machines (virtual machines) and use configuration management tools like
Chef, Puppet to deploy the applications on to those VMs and so do the automatic testing. Most
of these are done mechanically in an exceedingly DevOps method.
Take the instance mentioned in four.1. Even when automating the build and unharness method employing a CI
(Jenkins) platform, there square measure some manual steps concerned. The Operations team are concerned in
India no.1 Best DevOps Online Training institutes in Hyderabad, Karnataka, and Maharashtra. Visualpath is the advance Software training center for DevOps Online Training In Ameerpet, Hyderabad, India. They provides e-learning, devops tutorials with clear information.they are Offering Real-Time Projects scenarios and practical experiments.