Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

A Technical Seminar Report

on

DevOps(Git)
(Submitted In Partial fulfillment of the requirements for award of Degree)

BACHELOR OF TECHNOLOGY

In

COMPUTER SCIENCE AND ENGINEERING

By

Ettaboina Vamshi Yadav

(187R1A0577)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CMR TECHNICAL CAMPUS


UGC-AUTONOMOUS, Accredited by NBA, NAAC.
Permanently Affiliated to JNTUH, Approved by AICTE, New Delhi
Kandlakoya (V), Medchal Road, Hyderabad-501401.
2018-2022
CMR TECHNICAL CAMPUS
UGC-AUTONOMOUS, Accredited by NBA,NAAC.
Permanently Affiliated to JNTUH, Approved by AICTE, New Delhi
Kandlakoya (V), Medchal Road, Hyderabad-501401.

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

This is to certify that the Seminar Report entitled with "DEVOPS(GIT)" is a record of bonafide work
carried out by the ETTABOINA VAMSHI YADAV with bearing hall ticket number(187R1A0577) during the
academic year 2018-22 in partial fulfillment of the award of the degree of Bachelor of Technology in
Computer Science and Engineering.

Seminar Coordinator Head of The Department

R.Ramya Dr.K.Srujan Raju


ACKNOWLEDGEMENT

First and foremost, I wish to express our deep and sincere feeling of gratitude towards our great
institution, CMR Technical Campus for providing us with opportunity of fulfilment of our long
cherished goal of becoming BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE AND
ENGINEERING. I am very much thankful to our Director Dr. A. Rajireddy. HOD
Dr.K.SrujanRaju having provided me an excellent academic atmosphere in the institution. We would
like to express our sincere gratitude to our Chairman Shri.Ch.Gopal Reddy for his encouragement
throughout the course of this seminar.

I also thank all the staff members and friends who assisted me.

E. VAMSHI

YADAV

(187R1A0577)
ABSTRACT
DevOps is 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.

.
CONTENTS

PageNo.

LIST OF FIGURES ix

CHAPTER 1 INTRODUCTION 1
CHAPTER 2 WHAT IS DEVOPS? 2

CHAPTER 3 FEATURES OF DEVOPS 3

AUTOMATION 3

COLLABATION 3

INTEGRATION 4

CONFIGURATION MANAGEMENT 4

CHAPTER 4 DEVOPS ARCHITECTURE

COMPONENTS OF DEVOPS 5

CHAPTER 5 TYPES OF DEVOPS TOOLS 6

INTRODUCTION TO GIT 6

MAIN COMPONENTS OF GIT

CHAPTER 6 CHARACTERISTICS OF GIT 9


CHAPTER 7 12
APPLICATIONS OF GIT
CHAPTER 8 ADVANTAGES AND DISADVANTAGES 13
8.1.1 ADVANTAGES 13
8..2.2 DISADVANTAGES 14
CHAPTER 9 GIT COMMANS
CHAPTER 10 CONCLUSIONS 14

CHAPTER 11 BIBLIOGRAPHY 15
LIST OF FIGURES PAGE NO.

Figure 1 DevOps 2

Figure 2 DevOps Architecture 5

Figure 3 Components of DevOps 9

Figure 4 DevOps Tools 10

Figure 5 WorkFlow of Git 11

Figure 6 Git Commands 12

Figure 7 Operations Of Git 12


CHAPTER-1
INTRODUCTION
In the earlier day of software development, you would develop the platform and implement it to be
operational which is a successful approach. However, the problem arises when a modification is to be
made or an error is generated, you have to shut down the operations entirely which would have
catastrophic impacts on the user. Therefore, further research on the development and operations of
software leads to the creation of DevOps.

1
CHAPTER-2

WHAT IS DEVOPS?

Traditionally in the IT industry, employees belonged to the development or ‘dev’ team. A

separate team known as IT operations or ‘Ops’ worked to support IT.

Dev and Ops teams had separate leadership, responsibilities, and objectives to achieve.

In many companies, the teams worked on separate floors and rarely communicated.

This ‘silos’ culture led to poor communication and collaboration among these teams—a

rigid barrier between them that they’d bridge only when absolutely required.

The major organizational culture shift of DevOps successfully broke this silos mentality,

bridging the gap between the Dev and Ops teams by making them:

 Work together

 Share responsibilities

 Take full ownership of the software they deliver throughout its Software LifeCycle

Nowadays, DevOps is widely embraced by the IT industry, including leading tech

companies such as Amazon, Facebook, Google, Netflix, and BMC Software. More

recently, companies are looking at how to spread the principles of DevOps across the

entire organization, beyond IT.

2
Figure.1:DevOps

CHAPTER-3

FEATURES OF DEVOPS

Below are the key features of DevOps Architecture.

1. Automation
Automation most effectively reduces the time consumption specifically during the testing and deployment
phase. The productivity increases and releases are made quicker through automation with less issue as tests
are executed more rigorously. This will lead to catching bugs sooner so that it can be fixed more easily. For
continuous delivery, each code change is done through automated tests, through cloud-based services and
builds. This promotes production using automated deploys.

2. Collaboration
The Development and Operations team collaborates together as DevOps team which improves the cultural
model as the teams become more effective with their productivity which strengthens accountability and
ownership. The teams share their responsibilities and work closely in sync which in turn makes the
deployment to production faster.

3. Integration
Applications need to be integrated with other components in the environment. The integration phase is
where the existing code is integrated with new functionality and then testing takes place. Continuous
integration and testing enable continuous development. The frequency in the releases and micro-services

3
lead to significant operational challenges. To overcome such challenges, continuous integration and
delivery are implemented to deliver in a quicker, safer and reliable manner.

4. Configuration Management
This ensures that the application only interacts with the resources concerned with the environment in which
it runs. The configuration files are created where the configuration external to the application is separated
from the source code. The configuration file can be written while deployment or they can be loaded at the
run time depending on the environment in which it is running.

4
CHAPTER 4

DEVOPS ARCHITECTURE

DevOps architecture is used for applications hosted on cloud platforms and large distributed
applications. Agile Development is used here so that integration and delivery can be continuous. When the
Development and Operations team work separately from each other, it is time-consuming to design, test
and deploy. Also if the teams are not in sync with each other, it may cause a delay in delivery. So DevOps

enables the teams to amend their shortcomings and increase productivity.

Figure.2: DevOps architecture

5
COMPONENTS OF DEVOPS

1. Build
Without DevOps, the cost of the consumption of resources was evaluated based on pre-defined individual usage
with fixed hardware allocation. But with DevOps, the usage of cloud, sharing of resources comes into the
picture and the build is dependent upon the user’s need which is a mechanism to control the usage of resources
or capacity.

2. Code
Many good practices like widely used git enable the code to be used which ensures not only writing the code
for business but also helps to track changes, getting notified about the reason behind the change and if
necessary reverting to the original code developed. The code can be arranged properly in files and folders etc
and they can be reused.

3. Test
The application will move to production after it is tested. In the case of Manual Testing, it consumes more time
in testing and moving the code to production. The testing can be done by automation which decreases the time
for testing so that the time to deploy the code to production can be reduced as automating the running of the
scripts will remove many manual steps.

4. Plan
DevOps use agile methodology to plan the development. Unplanned work always reduces productivity. With the
Development and Operations team in sync, it helps in organizing the work to plan accordingly so as to increase
productivity.

5. Monitor
Continuous Monitoring is used to identify any risks of failure. It is also helpful in tracking the system
accurately so that the health of the application also can be checked. The monitoring becomes easier with
services where the log data may get monitored through many third-party tools like Splunk.

6
6. Deploy
Most systems can support the scheduler for automated deployment. A cloud management platform enables
users to capture accurate insights and view the optimization scenario, analytics on trends by the deployment of
dashboards.

7. Operate
DevOps changes the way the traditional approach of developing and testing separately. The teams operate in a
collaborative way where both the teams participate actively throughout the service lifecycle. The operations
team interacts with developers and they come up with a monitoring plan which serves the IT and business
requirements.

8.Release
Generally, deployment to an environment can be done by automation. But when the deployment is made to the
production environment, it is done through manual triggering. Most of the processes involved in release
management commonly specify to do the deployment in the production environment manually to lessen the
impact on the customers.

Figure.3: Components of DevOps

7
CHAPTER 5
TYPES OF DEVOPS TOOLS

List of DevOps Tools

 Version Control tools.


 Container Management tools.
 Application Performance Monitoring tools.
 Deployment & Server Monitoring tools.
 Configuration Management tools.
 CI / Deployment Automation tools.
 Test Automation tools.
 Artifact Management tools.

Figure 4:DevOps Tools

8
9
CHAPTER 6
INTRODUCTION TO GIT

As you develop software and make changes, add features, fix bugs, etc. it is often useful to have a mechanism
to keep track of changes and to ensure that your code base and artifacts are well-protected by being stored on a
reliable server (or multiple servers). This allows you access to historic versions of your application’s code in
case something breaks or to “roll-back” to a previous version if a critical bug is found.

The solution is to use a revision control system that allows you to “check-in” changes to a code base. It keeps
track of all changes and allows you to “branch” a code base into a separate copy so that you can develop
features or enhancements in isolation of the main code base (often called the “trunk” in keeping with the tree
metaphor). Once a branch is completed (and well-tested and reviewed), it can then be merged back into the
main trunk and it becomes part of the project.

Git is a decentralized system; multiple servers can act as repositories, but each copy on each developer’s own
machine is also a complete revision copy. Code commits are committed to the local repository. Merging a
branch into another requires a push/pull request. Decentralizing the system means that anyone’s machine can
act as a code repository and can lead to wider collaboration and independence since different parties are no
longer dependent on one master repository.

10
6.1 MAIN COMPONENTS OF GIT

The three states of git (workflow) are:

 Committed: Takes the file from the staging area and stores it to snapshot permanently in the git.
 Modified: It takes files from the working directory(modified/unmodified)
 Staged: Adds snapshots to the staging area.
The three main parts of git projects are:

 GIT directory: It stores the object database where cloning takes place in the repository to another
remote computer.
 Working tree: Files are pulled out from the database and placed on the disk for modifications.
 Staging area: This acts as an index part that directs to go the next commit.

Figure.5: WorkFlow of Git

11
CHAPTER 7
CHARACTERISTICS OF GIT

 They are free and open-source with multiple backups and added staging areas.
 GIT provides users to work with both online and offline. Commit operations are possible even if offline.
GIT repository plays a vital role which is a large hash table.
 GIT has the last commit (undo operations) and revert options for unnecessary changes.
 It has a good feature called Restore delete a commit, which is essential in larger projects.
 They have good security protection against the alteration of files and maintains the authentic history of
source files. In git, any revision is given a 40-bit key for all the repositories copies.
 GIT has better flexibility by supporting non-linear development workflows for both large and smaller
projects. They read data directly from the local.
 GIT has integrity (means they are check-summed) with SHA-1 inside and distributed development
(changes are copied from one repository to the other).
 They make use of a pack file that stores a large number of compressed object files in a single file. In Git,
we can easily work with our own workflow (feature-based workflow).
 They have good compatibility with protocols like HTTP, FTP, rsync to publish the repositories and have
portable control systems.
 The basic characteristics include they support whole package versions. For remote connectivity, they
use HTTP for read-only access. Branches are light -weighted.

12
APPLICATIONS OF GIT

The applications of GIT are as below:

 GIT in product management – they give up more frequent customer feedback and updates.
 It can be used as a graphical application.
 Government Agencies use GITHUB to share and collaborate processes (They can add their
organizations and create pull request).
 It helps in building real-time web applications and is popularly used in Android applications as well as
many commercial organizations. They increase the team’s productivity with continuous integration and
developments.
 GIT can be used in various Operating systems like Fedora, Windows, Red Hat, and other Linux systems
using GIT commands.
 They are used to develop core Linux kernel.
 Used in many open source projects like Ruby on Rails, Perl, the Linux Kernel.

13
ADVANTAGES OF GIT

Below are the advantages:

 Good distributed model as each developer gets a local repository with a full history of commits
which makes git fast compared to other VCs.
 Branching capabilities and merging are easy (as they are cheap), good data integrity.
 They are free and open-source we can easily download the source code and performs changes to
it. They can handle larger projects efficiently.
 The push/pull operations are faster with a simple They save time and developers can fetch and
create pull requests without switching.
 Data redundancy and replications. Add on’s can be written in many languages.
 They have good and faster network performance and superior disk utilization and they think
about its data like a sequence of snapshots.
 The object model is very simple and minimizes push/pull data transfers.

14
DISADVANTAGES OF GIT

 GIT requires technical excellence and it is slower on windows. They have tedious command lines to
input and don’t track renames.
 They have poor GUI and usability. And also, they take a lot of resources which slows down the
performance.
 GIT doesn’t support checking out sub-trees. For each project, the central service would need to be set up
for multiple package repositories.
 It lacks window support and doesn’t track empty folders.
 GIT needs multiple branches to support parallel developments used by the developers.
 There is no built-in access control and doesn’t support binary files.
 They do not provide access control mechanisms in case of security.

15
CHAPTER-8
GIT COMMANDS

Figure.6: Git Commands

Figure.7: operations on git

16
CHAPTER-9
CONCLUSION

Traditional deployments are difficult, manual, and often break down, leading to employee burnout and
unsustainable release cycles. In comparison, recent research shows that using DevOps methodologies and
principles like automation drives productivity and improves developer experience. DevOps makes building and
shipping software faster, friendlier, and more collaborative—and automates almost all of the process.
Developers on DevOps teams focus on their goals, prioritize work-life balance, and get more time for the
projects they care about. This type of satisfaction builds on what we know from organizational psychology:
Teams do their best work when they’re personally invested in the outcome.

17
CHAPTER-10
BIBLIOGRAPHY

1. GitHub Commands
2. GIT Interview Questions
3. Jira vs Github

18

You might also like