Professional Documents
Culture Documents
On
“DevOps”
BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
By
SHAIK AZEEZ
(20U65A0508)
i
A NAAC Accredited Institution (Approved by AICTE & Affiliated to JNTUH) (Recognized under Section 2(f) of
UGC Act 1956) An ISO:9001-2015 Certified Institution
Survey No. 179, Chilkur (V), Moinabad (M), Ranga Reddy Dist. TS.
JNTUH Code(U6) CIVIL – CSE –CSM– MECH – ECE – EEE – MBA – MTech. EAMCET Code– GLOB
Date: 02/01/2023
CERTIFICATE
This is to certify that the Technical Seminar Report entitled “DevOps” is submitted by Shaik Azeez,
bearing HT.No:20U65A0508 in the partial fulfilment of the requirement for the award of the degree of
B.Tech in Computer Science and Engineering to the Jawaharlal Nehru Technological University is a record
of bonafide work carried out by him under my guidance and supervision. The results embodied in this report
have not been submitted to any other University or Institute for the award of any degree or diploma.
ii
ACKNOWLEDGEMENT
I am thankful to my guide Ms. Noore Ilahi, Assistant Professor of CSE Department for her valuable
guidance for successful completion of this seminar.
I express my sincere thanks to Mrs. T. Lakshmi Lavanya, Technical Seminar Coordinator for
giving me an opportunity to undertake the seminar “DevOps” and for enlightening me on various aspects
of my seminar work and assistance in the evaluation of material and facts. She not only encouraged me to
take up this topic but also given her valuable guidance in assessing facts and arriving at conclusions.
I also most obliged and grateful to Ms. Noore Ilahi, Assistant Professor and Head, Department of
CSE for giving me guidance in completing this seminar successfully.
I express my heart-felt gratitude to our vice principal Dr. G Ahmed Zeeshan, Co-Ordinator Internal
Quality Assurance Cell (IQAC) for his constant guidance, cooperation, motivation and support which have
always kept us going ahead. I owe a lot of gratitude to him for always being there for me.
I also most obliged and grateful to our Principal Dr. E. Mohan for giving me guidance in
completing this seminar successfully.
I also thank my parents for their constant encourage and support without which the seminar would
have not come to an end.
Last but not the least, I would also like to thank all my class mates who have extended their
cooperation during my seminar work.
Shaik Azeez
(20U65A0508)
iii
VISION
The vision of the department is to produce professional computer science engineers who can meet
the expectations of the globe and contribute to the advancement of engineering and technology
which involves creativity and innovations by providing an excellent learning environment with the
best quality facilities.
MISSION
1. To provide the students with a practical and qualitative education in a modern technical environment
that will help to improve their abilities and skills in solving programming problems effectively with
different ideas and knowledge.
2. To infuse the scientific temper in the students towards the research and development in Computer
Science and Engineering trends.
3. To mould the graduates to assume leadership roles by possessing good communication skills, an
appreciation for their social and ethical responsibility in a global setting, and the ability to work
effectively as team members.
PEO1: To provide graduates with a good foundation in mathematics, sciences and engineering
fundamentals required to solve engineering problems that will facilitate them to find employment in
MNC’s and / or to pursue post graduate studies with an appreciation for lifelong learning.
PEO2: To provide graduates with analytical and problem-solving skills to design algorithms, other
hardware / software systems, and inculcate professional ethics, inter- personal skills to work in a
multi-cultural team.
PEO3: To facilitate graduates to get familiarized with the art software / hardware tools, imbibing
creativity and innovation that would enable them to develop cutting edge technologies of multi-
disciplinary nature for societal development.
iv
PROGRAMME OUTCOMES
PO 11: Project management and finance: demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and leader
in a team, to manage projects and in multidisciplinary environments.
v
PO 12: Lifelong learning: recognize the need for, and have the preparation and ability to engage in
independent and lifelong learning in the broader context of technological change.
PSO1: An Ability to Apply the fundamentals of mathematics, Computer Science and Engineering
Knowledge to analyze and develop computer programs in the areas related to Algorithms, System
Software, Web Designing, Networking and Data mining for efficient Design of computer-based
system to deal with Real time Problems.
PSO2: Ability to implement the Professional Engineering solutions for the betterment of Society, and
able to communicate with professional Ethics effectively.
vi
Abstract
DevOps word in itself is a combination of two words one is Development and other is Operations.
It is neither an application nor a tool; instead, it is just a culture to promote Development and Operation
process collaboratively. As a result of DevOps implementation, the speed to deliver applications and
services has increased.
DevOps enables organizations to serve their customers strongly and better in the market. In other
words, we can say that DevOps is the process of alignment of IT and development operations with better
and improved communication.
DevOps is a set of principles and practices to improve collaboration between development and IT
Operations. Against the backdrop of the growing adoption of DevOps in a variety of software development
domains, this paper describes empirical research into factors influencing its implementation.
4.3 Conclusion
CHAPTER 1
INTRODUCTION
1.1 Introduction
We at Gecko Solutions strongly believe that DevOps is not only the collection of technical skills and
procedures, but rather the combination of cultural philosophies, practices, and tools that increases an
organization’s ability to deliver applications and services at high velocity: evolving and improving
products at a faster pace than organizations using traditional software development and infrastructure
management processes. This speed enables organizations to better serve their customers and compete
more effectively in the market. Our DevOps believes in continuous collaboration, deployments, testing,
monitoring and feedback that can be achieved by involving OPS team in the early stage of development
and with their active participation until the production releases. The basic fundamental of DevOps is
to implement the automation in all the stages delivery, right from the code verification to deployment,
which includes code integration, builds, testing, deploying, verifying the deployed builds. This
automation accelerates all the stages of software delivery so that our developers get feedback and
impact of their changes fast which help to speed up an overall time to market. In other words, using
automated software build, test and release tools a Gecko team has more control over the entire end-to-
end process and eliminates a lot of the friction between the functional silos.
Ansible Packer
Ansible is software that automates software HashiCorp Packer is easy to use and automates the
provisioning, configuration management, and creation of any type of machine image. It embraces
application deployment. As with most configuration modern configuration management by encouraging
management software, Ansible has two types of you to use automated scripts to install and configure
servers: controlling machines and nodes. First, there the software within your Packer-made images. Packer
is a single controlling machine which is where brings machine images into the modern age,
orchestration begins. Nodes are managed by a unlocking untapped potential and opening new
controlling machine over SSH. The controlling opportunities.
machine describes the location of nodes through its
inventory.
Terraform Docker
Terraform is an infrastructure as code software by Docker is a computer program that performs
HashiCorp. It allows users to define a datacentre operating-system-level virtualization also known as
infrastructure in a high-level configuration containerization. It is developed by Docker, Inc.
language, from which it can create an execution Docker is primarily developed for Linux, where it
plan to build the infrastructure such as OpenStack uses the resource isolation features of the Linux
or in a service provider such as IBM Cloud kernel such as cgroups and kernel namespaces, and a
(formerly Bluemix), AWS, Microsoft Azure or union-capable file system such as OverlayFs and
Google Cloud Platform Infrastructure is defined in others to allow independent "containers" to run within
a HCL Terraform syntax or JSON format a single Linux instance, avoiding the overhead of
starting and maintaining virtual machines (VMs).
3.3 Monitoring
Icinga
Icinga is an open-source computer system and network monitoring application. Icinga has following
features:
Monitoring
• Notification of contact persons when service or host problems occur and get resolved (via email,
pager, instant message, or user-defined method)
• Escalation of alerts to other users or communication channels.
Visualization and Reporting
• Two optional user interfaces (Icinga Classic UI and Icinga Web) for visualization of host
and service status, network maps, reports, logs, etc.
• Icinga Reporting module based on open-source Jasper Reports for both Icinga Classic and
Icinga Web user interfaces
• Template based reports (e.g. Top 10 problematic hosts or services, synopsis of complete
monitoring environment, availability reports, etc.)
• Report repository with varying access levels and automated report generation and
distribution
• Optional extension for SLA reporting that distinguishes between critical events from
planned and unplanned downtimes and acknowledgement periods
• Capacity utilization reporting
• Performance graphing via add-ons such as PNP4Nagios, NagiosGrapher and In Graph
Cacti
Cacti is an open-source, web-based network monitoring and graphing tool designed as a front-end
application for the open-source, industry-standard data logging tool RRDtool. Cacti allows a user
to poll services at predetermined intervals and graph the resulting data. It is generally used to graph
time-series data of metrics such as CPU load and network bandwidth utilization.
A common usage is to monitor network traffic by polling a network switch or router interface via
Simple Network Management Protocol (SNMP).
The primary features of Cacti include: unlimited graph items, auto-padding support for graphs,
graph data manipulation, flexible data sources, data gathering on a non-standard timespan, custom
data-gathering scripts, built-in SNMP support, graph templates, data source templates, device
templates, tree, list, and preview views of graph data, user and user group-based management and
security, remote data collection, graph aggregation etc.
Net data
Net data is a scalable, distributed, real-time, performance and health monitoring open-source
solution for Linux, FreeBSD and MacOS. Out of the box, it collects 1k to 5k metrics per server per
second. It is the corresponding of: top, vmstat, iostat, iotop, Sar, systemd-cgtop and a dozen more
console tools running in parallel. net data is very efficient in this: the daemon needs just 1% to 3%
CPU of a single core, even when it runs on IoT. Net data also supports real-time alarms. Net data
alarms can be setup on any metric or combination of metrics and can send notifications.
3.3.1 Networking
A network connects computers, mobile phones, peripherals, and even IoT devices. Switches, routers,
and wireless access points are the essential networking basics. Through them, devices connected to
your network can communicate with one another and with other networks, like the Internet. The Open
System Interconnection (OSI) model defines a networking framework to implement protocols in seven
layers. Layers 1-4 are considered the lower layers, and mostly concern themselves with moving data
around. Layers 5-7, the upper layers, contain application-level data. Networks operate on one basic
principle: "pass it on." Each layer takes care of a very specific job, and then passes the data onto the
next layer.
3.3.2 Virtualization
Virtualization remains one of the hottest trends in business IT. Whether your organization has already
invested heavily in the cloud or is considering a first-time migration, it can be critical to consider the
role of a hypervisor in your overall experience. A hypervisor is a hardware virtualization technique that
allows multiple guest operating systems (OS) to run on a single host system at the same time. The
guest OS shares the hardware of the host computer, such that each OS appears to have its own processor,
memory and other hardware resources. A hypervisor is also known as a virtual machine manager
(VMM).
Microsoft Hyper-V
Hyper-V is Microsoft's hardware virtualization product. Hyper-V is built into Windows Server, or can
be installed as a standalone server, known as Hyper-V Server. It offers a unified set of integrated
management tools, regardless of whether organizations are striving to migrate to physical servers, a
private cloud, a public cloud, or a "hybrid" mixture of these three options.
VMware vSphere
vSphere provides a powerful, flexible, and secure foundation for business agility that accelerates the
digital transformation to hybrid cloud and success in the digital economy. It helps you run, manage,
connect and secure your applications in a common operating environment across the hybrid cloud. With
vSphere, you can support new workloads and use cases while keeping pace with the growing needs and
complexity of your infrastructure. vSphere Standard, Enterprise Plus, and Operations Management
Enterprise Plus offer varying features and degrees of fault tolerance, allowing organizations to select the
best coverage for their needs and growth goals.
Active Directory (AD) is a Microsoft technology used to manage computers and other devices on a
network. It is a primary feature of Windows Server, an operating system that runs both local and Internet-
based servers.
In Active Directory, you can organize objects in classes, which are logical groupings of objects. For
example, an object class might be user accounts, groups, computers, domains, or organizational units
(OUs).
Some of AD benefits:
Group Policy – allows you to centralize the management of computers on your network without having
to physically go to and configure each computer individually
Single Sign-On (SSO) – once we log on to domain controller it can be used to gain access to other
servers without having a separate username and password (Microsoft Exchange, Microsoft SQL, etc.)
Windows Server Update Services (WSUS) – centralized and automated update management system
which adds SHA256 hash capability for additional security
Password policies – An Active Directory account will conform to a central password policy. This
allows the business to enforce password complexity and frequent changes across the whole team,
something which greatly tightens security.
3.3.4 Microsoft Exchange Server
Microsoft Exchange Server is Microsoft's email, calendaring, contact, scheduling and collaboration
platform deployed on the Windows Server operating system for use within a business or larger enterprise.
Microsoft designed Exchange Server to give users access to the messaging platform on smartphones,
tablets, desktops and web-based systems. Telephony capabilities in Exchange Server support voice
messages. Exchange users collaborate through calendar and document sharing. Storage and security
features in the platform let organizations archive content, perform searches and execute compliance tasks.
To enable encryption for one or more Exchange services, the Exchange server needs to use a certificate.
SMTP communication between internal Exchange servers is encrypted by the default self-signed certificate
that's installed on the Exchange server.
To encrypt communication with internal or external clients, servers, or services, you'll likely want to use a
certificate that's automatically trusted by all clients, services and servers that connect to your Exchange
organization.
Chapter 4
Conclusion
4.1 Advantages
➢ Faster development and deployment of application.
➢ Faster response to the market changes to improve business growth.
➢ Business profit is increased as there is a decrease in software delivery time and transportation costs.
➢ Improves customer experience and satisfaction.
➢ Simplifies collaboration as all the tools are placed in the cloud for customers to access.
➢ Leads to better team engagement and productivity due to collective responsibility.
4.1 Disadvantages
➢ Less availability of DevOps professionals
➢ Infrastructure cost is high for setting by DevOps environment
➢ Lack of DevOps knowledge can lead to problem in the continuous integration of automation
projects.
4.3 Conclusion
DevOps is helping businesses in a tremendous way. It's bridging the gap between developers' need for
change and operations' resist to change and thus creates a smooth path for Continuous Development and
Continuous Integration.
We have created a strong culture of code reviews and made incremental threat modelling part of our change
controls. Regular pen tests are used as opportunities to learn how and where we need to improve our security
program and our design and code. Our systems engineering team manages infrastructure through code,
using the same engineering practices as the developers: version control, code reviews, static analysis, and
automated testing in Continuous Integration. And as we shortened our delivery cycle, moving toward
Continuous Delivery, we have continued to simplify and automate more steps and checks so that they can
be done more often and to create more feedback loops. Security and compliance are now just another part
of how we build and deliver and run systems, part of everyones job.
DevOps is fundamentally changing how dev and ops are done today. And it will change how security is
done, too. It requires new skills, new tools, and a new set of priorities. It will take time and a new
perspective. So, the sooner you get started, the better.