0% found this document useful (0 votes)
19 views4 pages

Modern DevOps in Software Development

Uploaded by

Daniel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views4 pages

Modern DevOps in Software Development

Uploaded by

Daniel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

International Journal of Soft Computing and Engineering (IJSCE)

ISSN: 2231-2307 (Online), Volume-9 Issue-6, May 2020

DevOps with Modern Software Development


Salman Asif S, Anala M R

 cross-functional departments collaborate on ongoing


Abstract: DevOps is the form of software engineering practices technical functionality implementations instead of fragmented
for software used to have better collaboration among teams and organizations conducting tasks independently. [1]. These
help deliver the business product in a timely manner and meet the practices involve four main concerns:
business requirements. The growing demands from the customers
and the competition among similar products give rise to better • Quick change into production.
principles in DevOps than ever before. There exists current trend • Employ automated testing to find errors.
in industry to adopt cloud based solutions as compared to other • Reducing or removing errors that occur during the
solutions. This gives rise to certain evolution in the way DevOps is deployment process.
done in industry. This main purpose of this paper is to address the • Looking into and fixing faults in the system.[4].
changes in the way DevOps is carried in industry and the scope of
it due to evolving industry needs and newer emerging tools. The
This approach helps to deliver software products much
paper is structured in to provide an introduction to modern faster when compared to traditional IT way of delivering
DevOps and the necessity of adoption of DevOps, DevOps applied where development and operations teams are separated and
in SDLC phases, tool concerning DevOps, Evolution of DevOps in each have distinct responsibilities. DevOps integrates well
modern software development and conclusion. with Agile methodology of development in continuous small
sized iterations. Agile is concerned with small rapid quick
Keywords: DevOps, Agile, Continuous Integration ,
releases with feedback from the customers and DevOps is
Continuous Delivery, Agile
considered to have a better collaboration between software
I. INTRODUCTION development teams and operation teams. Together the
combination of agile and DevOps principles allows to have an
Technology has been a vital feature of the industry in past effective strategy to have a set up to continuous delivery in
small upgrades with faster feedback and scope for change in
two decades. Scientists in software engineering are the product regarding scalability, security, software testing,
implementing new forms of languages, architectures, incident management [1].
technological systems[3]. Overall, the emphasis is mainly on In a highly competitive world, it is obvious that there
optimizing product engineering processes by increasing should be versatile and simpler approach to consumer
reusability, comprehensibility of specifications, time and demands and service distribution for any product to succeed
cost-effectiveness of product delivery, and many other on the market[2]. Various trends have been observed during
quality-enhancing functions. the past few years in software industry one of the largest trend
Consistent high quality is the most critical necessity, either is the movement of services to the cloud and increasing
in a discrete production process or in a continuous production adoption of microservice architecture to facilitate scalability
method, more focus needs to be given to producing a product and optimize the use of resources.
that is satisfactory to consumers. According to International
Standard Organization ISO 9000 quality is characterized as
the entirety of the characteristics of the product as a whole in
order to satisfy the specified and implied needs in accordance
with its ability[6].
DevOps combines the two realms of development and
operation through automated growth, delivery and network
management. This is an organizational transition in which

Fig1: Google Trend Data for rise in DevOps searches(


‘Note’ represents data collection system received
Revised Manuscript Received on May 05, 2020. enhancement)
* Correspondence Author
Salman Asif S*, Computer Science dept, RV College of Engineering,
Bengaluru, India. Email: salman1798@[Link] II. DEVOPS IN SDLC PHASES
Sachin R Doddaguni, Computer Science dept, RV College of
Engineering, Bengaluru, India. Email: sachinrd199@[Link]
The software development lifecycle consists of the following
Anala M R, Computer Science dept, RV College of Engineering, phases
Bengaluru, India. Email: analamr@[Link] [Link] Planning
[Link] Integration
© The Authors. Published by Blue Eyes Intelligence Engineering and
Sciences Publication (BEIESP). This is an open access article under the CC
[Link]
BY-NC-ND license ([Link] [Link] Deployment
[Link] Testing
[Link] Monitoring

Published By:
Retrieval Number: F3404039620/2020©BEIESP
Blue Eyes Intelligence Engineering
DOI:10.35940/ijsce.F3404.059620
& Sciences Publication
Journal Website: [Link] 18 © Copyright: All rights reserved.
DevOps with Modern Software Development

required[7].
Continuous maintenance dynamically stores data
frequently. Archival doesn't only erase objects forever. Only
objects can be classified as historical and no longer important
to the production of the commodity. Continuous maintenance
is especially relevant for organizations that utilize various
forms of repositories to serve specific technologies.
Continuous maintenance shall insure that all forms of
repositories are preserved[7].
D. Continuous Deployment
Fig2: DevOps Colloboration
Continuous development is a software innovation strategy,
with departments working to create useful applications over a
A. Continuous Planning limited amount of time and make sure it is usable efficiently at
Planning is the first phase in SDLC and is the most crucial all time[8]. DevOps methodology suggests that the whole
initial step taken to ensure that product that is being provisioning of resources will be stored as code in the archive
developed is relevant to customer requirements and business of source code – the idea is named Infrastructure as a code
needs. Traditionally project planning involved separate (IAAC)[5].
decisions taken by each team such that it would benefit the
respective team in the most effective way. Modern software E. Continuous Testing
planning focuses on the combined final output that is most
Software testing is a crucial component of software
suitable for the customer as well as the business. Triaging is
production systems that businesses depend on to produce
followed along with agile methodology where teams each goods and services with good quality. Time standards for
representing from product, development and design discuss to compilation and testing product improvements place a lower
form a collective decision and subsequently plan for a short limit to how easily the organization can distribute technology
duration typically lasts from 1-4 weeks. DevOps helps to do to customers[9].
this by constant feedback channel with customers and the Manual validation procedures have to be tested for
opportunity to assign priority to the commodity backlog all automated possibilities and in certain situations there should
the way, bringing the market context directly into account. be options to automate the same. The product distribution
There is a constant mechanism for preparing a specific mechanism should be able to run the test suite on any
portion – implementing – getting input – responding to input dynamically created a pplications without any user input,
and changing schedule as necessary and the cycle repeats[5]. allowing strides towards the eventual aim of being able to
effortlessly deliver a better quality product release [5].
B. Continuous Integration
Continuous integration of the code is the foundation of the
continuous development process. Continuous code F. Continuous Monitoring
development also constructs software from libraries, meaning Software performance monitoring is to analyze the
that development issues can be found early. There are a software's behavioral details at runtime, and assess if system
number of digital building devices like Ant, Travis CI and activity is compatible with intended actions during system
Jenkins[7]. Continuous integration is essentially about early operation. It will maintain the software behavior's integrity,
deployment, don't hold improvements confined to your which can be used to identify which localize software faults.
Off-line runtime monitoring is online system path collection
workplace for a long period, then communicate the
method, while evaluating the off-line results. Online runtime
adjustments with the team and verify how the application acts
analysis is the method of obtaining the direction of the system
continuously[5]. Not only do they collaborate inside
and reviewing the data at run time. Intrusive runtime
component departments, but they incorporate across monitoring is the method of injecting code into a software
component borders at product development level. program to both track the actions of the device and evaluate
Furthermore, method optimization at this level relates to the the data gathered. Non-intrusive control of runtime is the
accomplishment of automation in such a way that, as soon as mechanism that monitors a machine from outside[10].
the developer provides the update, the construct systems
senses it and activates the create, executes stability checks III. MODERN DEVOPS TOOLS AND APPROACHES
and positions the construct on the server. There must be a
Certain tools are have been developed over a period of time
constant repeatable process during the manufacturing cycle.
to assist with devops process for organizations to ship code
[5].
faster to production and allow customer to have more access
C. Continuous Maintenance to newer features and Right usage of tools allows companies
The goal of continuous maintenance is to increase to gain a strategic advantage over certain businesses and help
production, resilience and quality through automation. address customer requirements efficiently. Tools are broadly
Continuous maintenance is working to boost accuracy and classified in the following
reliability in an IT organization. Continuous maintenance will format.
help enforce the strategy of program branching. Such a
program allows the pruning of divisions that are no longer

Published By:
Retrieval Number: F3404039620/2020©BEIESP
Blue Eyes Intelligence Engineering
DOI:10.35940/ijsce.F3404.059620
& Sciences Publication
Journal Website: [Link] 19
© Copyright: All rights reserved.
International Journal of Soft Computing and Engineering (IJSCE)
ISSN: 2231-2307 (Online), Volume-9 Issue-6, May 2020

A. Automatic Commit and deploy


B. Automated Testing
C. Version Control
D. Containerization or Virtualization
A. Automatic Commit and deploy
Some of the challenges faced until automatic and
continuous integration was adopted were:
1. Developer had to wait much longer for the test results,
and therefore lose a ton of time that should have been
invested on research and creating a new product.
2. Developers tend to go into all of the source code and
repair the problem that they find.
3. No constant input from the development department or
the evaluation department at all times.
Consider the Nokia case study that followed the Nighttime
Construct strategy, where the source code was taken from the Fig. 3: GIT Working Flow
repository only at night. Code is pulled over each commit
after the integration and then immediately create, check D. Containerization or Virtualization
accompanied by correct feedback. Now the developer would
need to go over the last commit's source code and not the Containerization should be used as an alternative to the
entire software[11]. Tools like Jenkins, Atlassian Bamboo, traditional virtualization because it can reduce operating costs
Gitlab CI/CD are used for build plans. and thus increase the usage of data centers[13].
Docker is a platform that uses a Docker server to
B. Automated Testing containerise. Hypervisors are found with virtual
Software testing is a quality management control operation environments, and Docker lets operate many versions with
that includes implementing software under test (SUT) in an software on the same computer. Every of these is performed
effort to detect flaws, such as glitches. Testing has in an independent container system. The program is bundled
traditionally been generally limited to the latter stages of the in the jar, which can thus be used on every system that has
life cycle of software developmen. and often skipped enabled the Docker driver. A container is a closed computing
altogether as resources or funds have been limited but agile framework which contains all the data which resources that
methodology has changed the approach. One essential part of the program requires to run properly. It is possible to run
research is how to assess whether or not the SUT performance several containers on the same server, and share the
is right[14]. resources[12].
Tools like Selenium, Cucmber, Cypress, Appium help in
Automated Testing to remove manual testing which is error IV. RESULTS AND DISCUSSION
prone and does not cover all the cases. Therefore certain
manual testing will be maintained for exception or edge cases.
C. Version Control
A Version Control System (VCS) handles modifications to
any text, but is usually used to track and maintain source code
or scripts applications. Furthermore, a VCS is often referred
to as revision control or source management. Two forms of Fig4: Google Trend Data for Virtual Machine searches(
‘Note’ represents data collection system received
version control system exist: centralized VCS and distributed
enhancement)
VCS. Client-server model is a centralized version
management framework. A copy from the shared server is
reviewed by customer. Both these details and records are
collected from the central archive and recovered there. The
centralized version management framework, on the other
side, is a peer-to-peer solution[12].
GitHub is a repository that serves Git for the managed
documents. This provides a free or charge-fee version control
server, a proprietary server that can be accessed. Git should be Fig5: Google Trend Data for Docker searches( ‘Note’
combined with GitHub and the archive can be viewed from represents data collection system received enhancement)
anywhere via the Web, instead of maintaining a single registry
server[12] .

Published By:
Retrieval Number: F3404039620/2020©BEIESP
Blue Eyes Intelligence Engineering
DOI:10.35940/ijsce.F3404.059620
& Sciences Publication
Journal Website: [Link] 20 © Copyright: All rights reserved.
DevOps with Modern Software Development

As it can be seen from the above graph that the software 10. L. Gao, M. Lu, L. Li and C. Pan, "A survey of software runtime
monitoring," 2017 8th IEEE International Conference on Software
industry is moving away from virtual machines and the trend
Engineering and Service Science (ICSESS), Beijing, 2017, pp.
for virtual machines has fallen to almost complete standstill, It 308-313.
is also interesting to note that the trend for adoption of 11. A. Agarwal, S. Gupta and T. Choudhury, "Continuous and Integrated
containerization techniques has increased over the past Software Development using DevOps," 2018 International Conference
decade. Result of this is because of having easy to integrate on Advances in Computing and Communication Engineering
(ICACCE), Paris, 2018, pp. 290-293.
and implement applications which run on docker which uses 12. J. Shah, D. Dubaria and J. Widhalm, "A Survey of DevOps tools for
the containerization technique. Networking," 2018 9th IEEE Annual Ubiquitous Computing,
Electronics & Mobile Communication Conference (UEMCON), New
York City, NY, USA, 2018, pp. 185-188.
13. J. Watada, A. Roy, R. Kadikar, H. Pham and B. Xu, "Emerging Trends,
Techniques and Open Issues of Containerization: A Review," in IEEE
Access, vol. 7, pp. 152443-152472, 2019.
14. D. Towey and T. Y. Chen, "Teaching software testing skills:
Metamorphic testing as vehicle for creativity and effectiveness in
software testing," 2015 IEEE International Conference on Teaching,
Assessment, and Learning for Engineering (TALE), Zhuhai, 2015, pp.
Fig6: Google Trend Data for Git searches( ‘Note’ 161-162.
represents data collection system received enhancement)
AUTHORS PROFILE
From the above graph which shows the result of change in
version control strategy with higher adoption rate for Git in
industry and is becoming a standard across the world. Salman Asif S is a student .at R.V College of
[Link] is a B.E student, currently studying in 8th
From the above results we can conclude that the way sem ,computer science domain. His area of interest
DevOps is being approached is changing which in turn is includes machine learning.
resulting in a more efficient and easy to develop standard
across the industry.
Dr. Anala M. R., is an Associate Professor at R.V College
of Engineering. She has over 18 years of experience in
V. CONCLUSION teaching. Main area of research interest is Computer
Architecture, High Performance Computing, Distributed
For brief, DevOps provides a systematic solution to the full
Systems and Parallel programming. She has guided 40 UG
distribution network of enterprises. DevOps integrates projects and 20 PG projects. She has many
developers and operations department to merge individuals, publications in international journals and conferences.
procedures and technologies with an agile, efficient and
expense-effective automated software production.

REFERENCES
1. C. Ebert, G. Gallardo, J. Hernantes and N. Serrano, "DevOps," in IEEE
Software, vol. 33, no. 3, pp. 94-100, May-June 2016.
2. M. Rajkumar, A. K. Pole, V. S. Adige and P. Mahanta, "DevOps
culture and its impact on cloud delivery and software development,"
2016 International Conference on Advances in Computing,
Communication, & Automation (ICACCA) (Spring), Dehradun, 2016,
pp. 1-6.
3. P. Perera, R. Silva and I. Perera, "Improve software quality through
practicing DevOps," 2017 Seventeenth International Conference on
Advances in ICT for Emerging Regions (ICTer), Colombo, 2017, pp.
1-6.
4. L. Bass, "The Software Architect and DevOps," in IEEE Software, vol.
35, no. 1, pp. 8-10, January/February 2018.
5. M. Virmani, "Understanding DevOps & bridging the gap from
continuous integration to continuous delivery," Fifth International
Conference on the Innovative Computing Technology (INTECH
2015), Pontevedra, 2015, pp. 78-82.
6. P. Jain, A. Sharma and L. Ahuja, "The Impact of Agile Software
Development Process on the Quality of Software Product," 2018 7th
International Conference on Reliability, Infocom Technologies and
Optimization (Trends and Future Directions) (ICRITO), Noida, India,
2018, pp. 812-815.
7. C. Pang and A. Hindle, "Continuous Maintenance," 2016 IEEE
International Conference on Software Maintenance and Evolution
(ICSME), Raleigh, NC, 2016, pp. 458-462.
8. L. Chen, "Continuous Delivery at Scale: Challenges and
Opportunities," 2018 IEEE/ACM 4th International Workshop on
Rapid Continuous Software Engineering (RCoSE), Gothenburg,
Sweden, 2018, pp. 42-42.
9. K. Herzig, "Testing and Continuous Integration at Scale: Limits, Costs,
and Expectations," 2018 IEEE/ACM 11th International Workshop on
Search-Based Software Testing (SBST), Gothenburg, 2018, pp. 38-38.

Published By:
Retrieval Number: F3404039620/2020©BEIESP
Blue Eyes Intelligence Engineering
DOI:10.35940/ijsce.F3404.059620
& Sciences Publication
Journal Website: [Link] 21
© Copyright: All rights reserved.

You might also like