0% found this document useful (0 votes)
479 views53 pages

Devops It Report

An Industrial Training Report On “DEVOPS & SITE RELIABILITY ENGINEERING”
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
479 views53 pages

Devops It Report

An Industrial Training Report On “DEVOPS & SITE RELIABILITY ENGINEERING”
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 53

An

Industrial Training Report

On

“DEVOPS & SITE RELIABILITY ENGINEERING”

Submitted in partial fulfilment for the award of degree of

Bachelor of Technology

in

Electronics & Communication Engineering

Submitted By Guide
Tanisha Sharma-21EJCEC124 Mr. Ashish Sharma
TPO
ECE department

Department of Electronics & Communication Engineering


Jaipur Engineering College & Research Centre
Jaipur, Rajasthan

1|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

2022-23
CERTIFICATE
This is to certify that the industrial training entitled “ DEVOPS &SITE
RELIABILITY ENGINEERING“ is the bonafide work carried out by Tanisha

Sharma student of B.Tech in Electronics & Communication Engineering at Jaipur


Engineering College and Research Centre, during the year 2023-24 in partial
fulfillment of the requirements for the award of the Degree of Bachelor of
Technology in Electronics & Communication Engineering under my guidance.

Name of Guide: AKASH GAUR

Designation: Trainer at Upflairs

Place: Upflairs

Date: 20 July 2023- 03 September 2023

2|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

VISION OF ECE DEPARTMENT

To be recognized as a benchmark and trend setter in Electronics and Communication


Engineering domain keeping in pace with rapidly changing technologies through
effective partnership with reputed academic institutions, research organizations,
industries and community.

MISSION OF ECE DEPARTMENT

1. To impart outcome-based education for emerging technologies in the field


of electronics & communication engineering.

2. To provide opportunities for interaction between academia and industry.

3. To provide platform for lifelong learning by accepting the change in


technologies

4. To develop aptitude of fulfilling social responsibilities.

3|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

PROGRAM OUTCOMES (POs)

1. Engineering knowledge: Apply the knowledge of mathematics, science,


engineering fundamentals, and Electronics & Communication Engineering
specialization to the solution of complex Electronics & Communication
Engineering problems.

2. Problem analysis: Identify, formulate, research literature, and analyze complex


Electronics & Communication Engineering problems reaching substantiated
conclusions using first principles of mathematics, natural sciences, and
engineering sciences.

3. Design/development of solutions: Design solutions for complex Electronics &


Communication Engineering problems and design system components or
processes that meet the specified needs with appropriate consideration for the
public health and safety, and the cultural, societal, and environmental
considerations.

4. Conduct investigations of complex problems: Use research-based knowledge


and research methods including design of Electronics & Communication
Engineering experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.

5. Modern tool usage: Create, select, and apply appropriate techniques, resources,
and modern engineering and IT tools including prediction and modeling to
complex Electronics & Communication Engineering activities with an
understanding of the limitations.

6. The engineer and society: Apply reasoning informed by the contextual


knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional Electronics &
Communication Engineering practice.

7. Environment and sustainability: Understand the impact of the professional


Electronics & Communication Engineering solutions in societal and
4|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

environmental contexts, and demonstrate the knowledge of, and need for
sustainable development.

8. Ethics: Apply ethical principles and commit to professional ethics and


responsibilities and norms of the Electronics & Communication Engineering
practice.

9. Individual and team work: Function effectively as an individual, and as a


member or leader in diverse teams, and in multidisciplinary settings in
Electronics & Communication Engineering.

10. Communication: Communicate effectively on complex Electronics &


Communication Engineering activities with the engineering community and with
society at large, such as, being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear
instructions.

11. Project management and finance: Demonstrate knowledge and understanding


of the Electronics & Communication 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 multi disciplinary environments.

12. Life-long learning: Recognize the need for, and have the preparation and ability
to engage in independent and life-long learning in the broadest context of
technological change in Electronics & Communication Engineering.

5|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

The PEOs of the B.Tech (ECE) program are:

1. To produce graduates who are able to apply computer engineering knowledge


to provide turn-key IT solutions to national and international organizations.

2. To produce graduates with the necessary background and technical skills to


work professionally in one or more of the areas like – IT solution design
development and implementation consisting of system design, network
design, software design and development, system implementation and
management etc. Graduates would be able to provide solutions through
logical and analytical thinking.

3. To able graduates to design embedded systems for industrial applications.

4. To inculcate in graduate effective communication skills and team work skills


to enable them to work in multidisciplinary environment.

5. To prepare graduates for personal and professional success with commitment


to their ethical and social responsibilities.

6|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

PROGRAM SPECIFIC OUTCOMES (PSOs)

PSO1 Ability to interpret and analyze network specific, cyber security issues,
automation in real world environment.

PSO2 Ability to design and develop mobile and web-based applications under
realistic constraints.

COURSE OUTCOMES (COs)

On completion of Industrial Training Graduates will be able to-

• CO1: Generate the report based on the Projects carried out for demonstrating
the ability to apply the knowledge of engineering field during training

• CO2: Demonstrate Competency in relevant engineering fields through problem


identification, formulation and solution.

MAPPING: CO’s & PO’s

Subject Code Cos Program Outcomes (POs)

PO PO PO PO PO PO PO PO PO PO- PO- PO-


- - - - - - - - - 10 11 12
1 2 3 4 5 6 7 8 9

3CS7-30 CO-
3 3 2 2 2 1 1 2 2 3 3 3
Industrial 1
Training
CO- 3 3 3 3 3 1 1 2 2 3 3 3

7|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

ACKNOWLEDGEMENT
It has been a great honour and privilege to undergo training at Upflairs, jecrc Foundation ,
Jaipur. I am very grateful to Akash sir and his team for giving his valuable time and
constructive guidance in preparing the report for training. It would not have been
possible to complete this report in short period of time without their kind encouragement
and valuable guidance.
I wish to express our deep sense of gratitude to our Industrial Training Guide Mr. Ashish
Sharma, TPO at Jaipur Engineering College and Research Centre, Jaipur for guiding us
from the inception till the completion of the industrial training. We sincerely
acknowledge him for giving his valuable guidance, support for literature survey, critical
reviews and comments for our industrial training.

I would like to first of all express our thanks to Mr. ARPIT AGARWAL Director of
JECRC, for providing us such a great infrastructure and environment for our overall
development.

I express sincere thanks to Dr. V. K. CHANDNA, Principal of JECRC, for his kind
cooperation and extendible support towards the completion of our industrial training.

Words are inadequate in offering our thanks to Dr. Sandeep Vyas, Head of department
of Electronics & Communication Engineering, for consistent encouragement and support
for shaping our industrial training in the presentable form.

Also our warm thanks to Jaipur Engineering College and Research Centre, who
provided us this opportunity to carryout, this prestigious industrial training and enhance
our learning in various technical fields.

8|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Name:-Tanisha Sharma-

Roll No-21EJCEC124

ABSTRACT

Name:- Tanisha Sharma


RTU Roll no:- 21EJCEC124
Branch:- Electronics & Communication Engineering
Training Industry:- Upflairs
Trainer:- AKASH GAUR
Technology Name/Project Name:- Devops & Site Reliability Engineering
Training mode:- Offline
Training Duration:- 20th July – 03 September (45 days)
Training Status:- Complete
Description:- In the IT industry, we are living in the cloud computing technology era.
Cloud Computing is an abstraction of computer ,storage and network infrastructure
assembled as a platform on which applications and systems can be deployed quickly and
scaled on the fly. Users can simply fill in a web form and get up and running. DevOps is
a set of practices that combine software development (Dev) and IT operations (Ops). It
aims to shorten the systems development life cycle and provide continuous delivery with
high software quality. DevOps is complementary with Agile development life cycle.

All of the above information is true and right to our knowledge.

Signature

Name:- Tanisha Sharma

9|Page
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Mobile No.- 7427843646

10 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

TABLE OF CONTENTS

Certificate----------------------------------------------------------------------------------- 2

Vision and Mission-------------------------------------------------------------------------


3

Program Outcomes (POs)-----------------------------------------------------------------


4

Program Education Objectives (PEOs) -------------------------------------------------


6

Program Specific Outcomes (PSOs)-----------------------------------------------------


7

Course Outcomes (COs)-------------------------------------------------------------------


7

Mapping: COs and POs--------------------------------------------------------------------


7

Acknowledgement------------------------------------------------------------------------- 8

Abstract--------------------------------------------------------------------------------------9

1. Devops---------------------------------------------------------------------------------
13

2.Linux------------------------------------------------------------------------------------ 15

2.1 Benefits of Linux---------------------------------------------------- -


15
2.2 Architecture of Linux------------------------------------------------
17

11 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

2.3linux Installation----------------------------------------------------- -
18

2.4Basic File System----------------------------------------------------


18

3.Vi editor------------------------------------------------------------------------
20

4.protocol---------------------------------------------------------------------------
21

4.1 Apache ------------------------------------------------------------------------


21

4.2 Web server--------------------------------------------------------------------


21

4.3 Protocols---------------------------------------------------------------------- 22

4.4 SSH protocol---------------------------------------------------------------- 23

4.5 HTTP protocol---------------------------------------------------------------25

4.6 FTP protocol-----------------------------------------------------------------25


5.Cloud Computing------------------------------------------------------------ 26
5.1 why cloud computing-------------------------------------------- 26
5.2 cloud computing architecture------------------------------------27
5.3 types of cloud-------------------------------------------------------28

6. Aws web services---------------------------------------------------------------------29

6.1 What is aws----------------------------------------------------------------- 29

6.2 Ec2 instances--------------------------------------------------------------- 29

6.3 Load balancer-------------------------------------------------------------- 31

12 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

7.Github------------------------------------------------------------------------------------33

8.Jenkins-----------------------------------------------------------------------------------35

8.1 Introduction------------------------------------------------------------------35

8.2 History------------------------------------------------------------------------35

8.3 Before and After Jenkins---------------------------------------------------36

9.introduction to containers-------------------------------------------------------------37

10.Docker----------------------------------------------------------------------------------39
10.1 introduction------------------------------------------------------------------39
10.2 advantages of using docker----------------------------------------------- 39
10.3 docker images---------------------------------------------------------------40
10.4 commands to create docker----------------------------------------------- 40
10.5 docker commands-----------------------------------------------------------
41
11.Project---------------------------------------------------------------------------------- 43

11.1 problem statement----------------------------------------------------------


44

11.2 problem description -------------------------------------------------------44


11.3 tech and probs--------------------------------------------------------
44
11.4 screenshots------------------------------------------------------------
------44

12.Future scope-----------------------------------------------------------------------------49

13. Conclusion --------------------------------------------------------------------------- 50

14. References--------------------------------------------------------------------------- 51

13 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

1.DEVOPS

DevOps combines development and operations to increase the efficiency, speed,


and security of software development and delivery compared to traditional
processes. A more nimble software development lifecycle results in a competitive

advantage for businesses and their customers. DevOps can be best explained as
people working together to conceive, build and deliver secure software at top
speed. DevOps practices enable software developers (devs) and operations (ops)

14 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

teams to accelerate delivery through automation, collaboration, fast feedback, and


iterative improvement.

Stemming from an Agile approach to software development, a DevOps delivery


process expands on the cross-functional approach of building and shipping
applications in a faster and more iterative manner. In adopting a DevOps
development process, you are making a decision to improve the flow and value
delivery of your application by encouraging a more collaborative environment at
all stages of the development cycle.

DevOps represents a change in mindset for IT culture. In building on top of


Agile, lean practices, and systems theory, DevOps focuses on incremental
development and rapid delivery of software. Success relies on the ability to create
a culture of accountability, improved collaboration, empathy, and joint

responsibility for business outcomes. The business value of DevOps and the
benefits of a DevOps culture lies in the ability to improve the production
environment in order to deliver software faster with continuous improvement.
You need the ability to anticipate and respond to industry disruptors without
delay. This becomes possible within an Agile software development process
where teams are empowered to be autonomous and deliver faster, reducing work
in progress. Once this occurs, teams are able to respond to demands at the speed
of the market.

Adopting a DevOps mode breaks down barriers so that development and


operations teams are no longer siloed and have a more efficient way to work
across the entire development and application lifecycle. Without DevOps,
organizations experience handoff friction, which delays the delivery of software
releases and negatively impacts business results .The DevOps model is an
organization’s answer to increasing operational efficiency, accelerating delivery
and innovating products. Organizations that have implemented a DevOps culture

15 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

experience the benefits of increased collaboration, fluid responsiveness, and


shorter cycle times.

16 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

2.LINUX

Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of
the most popular platforms on the planet, Android, is powered by the Linux
operating system. An operating system is software that manages all of the hardware
resources associated with your desktop or laptop. To put it simply, the operating
system manages the communication between your software and your hardware.
Without the operating system (OS), the software wouldn’t function.

2.1 Benefits of Linux


✓ Open source: One of the main advantages of Linux is that it is an open
source operating system i.e. its source code is easily available for
everyone. Anyone capable of coding can contribute, modify, enhance and
distribute the code to anyone and for any purpose.
✓ Security: Linux is more secure in comparison to other operating systems
such as Windows. Linux is not completely secure as there is some
malware for it also but it is less vulnerable than others. Every program in
Linux whether an application or a virus needs authorization from the
administrator in the form of a password. Unless the password is typed
virus won’t execute. There is no requirement of any anti-virus program in
Linux.
✓ Revive older computer system: Linux helps you to use or utilize your
old and outdated computer systems as a firewall, router, backup server or
file server and many more. There are many distributions available to use
according to your system capability. As you can use Puppy Linux for
low- end systems.
✓ Software updates: In Linux you encounter a larger number of software
updates. These software updates are much faster than updates in any other

17 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

operating system. Updates in Linux can be done easily without facing any
major issue or concern.
✓ Customization: A feature that gives a major advantage over other
operating systems is customization. You can customize any feature, add
or delete any feature according to your need as it is an open source
operating system. Not only this, various wallpapers and attractive icon
themes can be installed to give an amazing look to your system.
✓ Various Distributions: There are many distributions available also called
distros of Linux. It provides various choices or flavors to the users. You
can select any bistros according to your needs. Some bistros of Linux are
Fedora, Ubuntu, Arch Linux, Debian, Linux Mint and many more. If you
are a beginner you can use Ubuntu or Linux Mint. If you are a good
programmer you may use Debian or Fedora.
2.2 Architecture of Linux

Fig 2.2.1 Architecture of shell

• Kernel: Kernel is the core of the Linux based operating system. It


virtualizes the common hardware resources of the computer to provide
each process with its virtual resources. This makes the process seem as if
it is the sole process running on the machine. The kernel is also
18 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

responsible for preventing and mitigating conflicts between different


processes.
• System Library: Is the special types of functions that are used to
implement the functionality of the operating system.
• Shell: It is an interface to the kernel which hides the complexity of the
kernel’s functions from the users. It takes commands from the user and
executes the kernel’s functions.
• Hardware Layer: This layer consists all peripheral devices like RAM/
HDD/ CPU etc.
• System Utility: It provides the functionalities of an operating system to
the use

2.3 LINUX Installation

Step 1: Download and install VirtualBox


Go to the website of Oracle VirtualBox and get the latest stable version from
here:

Download VirtualBox

Installing VirtualBox is not rocket science. Just double-click on the


downloaded .exe file and follow the instructions on the screen. It is like installing
any regular software on Windows.

Step 2: Download the Linux ISO


Next, you need to download the ISO file of the Linux distribution. You can get
this image from the official website of the Linux distribution you are trying to
use.

19 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

I am using Ubuntu in this example, and you can download ISO images for
Ubuntu from the link below:

Download Ubuntu Linux

Step 3: Install Linux using VirtualBox


You have installed VirtualBox and you have downloaded the ISO for Linux. You
are now set to install Linux in VirtualBox.

2.4 Linux basic file:

• /: This is the root directory which should contain only the directories
needed at the top level of the file structure

• /bin: This is where the executable files are located. These files are
available to all users

• /dev: These are device drivers


• /etc: Supervisor directory commands, configuration files, disk
configuration files, valid user lists, groups, ethernet, hosts, where to send
critical messages

• /lib and /lib64: Contains shared library files and sometimes other kernel-
related files

20 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

• /boot: Contains files for booting the system


• /home: Contains the home directory for users and other accounts
• /media, /mnt, /opt, /misc: Used to mount other temporary file systems,
such as cdrom and floppy for the CD-ROM drive and floppy diskette
drive, respectively

• /proc: Contains all processes marked as a file by process number or


other information that is dynamic to the system

• /tmp: Holds temporary files used between system boots

• /usr: Used for miscellaneous purposes, and can be used by many users.
Includes administrative commands, shared files, library files, and others

• /var: Typically contains variable-length files such as log and print files
and any other type of file that may contain a variable amount of data

• /sbin: Contains binary (executable) files, usually for system


administration. For example, fdisk and ifconfig utilities

• /kernel: Contains kernel files


• /sys: System driver database

• /srv: Only third party Services • /tmp: World writable dir


• /root: Home dir of Super user
• /selinux: Security enhanced linux

21 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

3. Vi(visual ) Editor
The VI editor is the most popular and classic text editor in the Linux family.
Below, are some reasons which make it a widely used editor –

1) It is available in almost all Linux Distributions

2) It works the same across different platforms and Distributions

3) It is user-friendly. Hence, millions of Linux users love it and use it for their
editing needs Nowadays, there are advanced versions of the vi editor available,
and the most popular one is VIM which is Vi Improved. Some of the other ones
are Elvis, Nvi, Nano, and Vile. It is wise to learn vi because it is feature-rich and
offers endless possibilities to edit a file.
To work on VI editor, you need to understand its operation modes. They can be
divided into two main parts.

4.1 vi editor and has two modes of operation:

• Command mode: In command mode, commands can be issued to the vi


editor which cause action to be taken on the file.

• Insert mode: In insert mode the file can be edited

22 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

4. Protocol
Network protocols take large-scale processes and break them down into small,
specific tasks or functions.

4.1 Apache

Apache is the most widely used webserver software and runs on 67% of all
websites in the world. Developed and maintained by Apache Software
Foundation, Apache is open source software and available for free.

It’s fast, reliable, and secure. And Apache can be highly customized to meet the
needs of many different environments by using extensions and modules.

Most WordPress hosting providers use Apache as their webserver software.


However, WordPress can run on other webserver software as well.

4.2 Web Server

A webserver is software run by your website hosting provider so that visitors can
view the web pages on your site. Many WordPress hosting providers use Apache.

The software performs a similar role to a restaurant host. When you arrive at a
restaurant, the host greets you, checks your booking information, and takes you
to your table. In a similar way, the webserver checks for the web page you have
requested.

A webserver does more. It also acts like a restaurant server when it fetches the
page and serves it for your viewing pleasure.

23 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

And it performs the role of the restaurant’s maitre d’ by handling


communications with the website, handling your requests, and making sure that
other modules are ready to serve you.

Finally, a webserver is also like the busboy clearing tables. It cleans the memory,
cache and modules and clears them for new website visitors.

*A webserver like Apache performs many tasks:

• It receives your request to access a web page.


• It runs a few security checks on your HTTP request and takes you to
the web page.
• It may ask the server to run extra modules while generating the
document to serve you.

• It then serves you the document you requested.

4.3 Protocols are:-

IP

SSH

HTTP

HTTPS , etc

4.4 SSH (secure shell) protocol

In Linux, ssh is a protocol, which stands for Secure Shell or Secure Socket
Shell. The secure shell is useful for security while connecting to a remote server.
The ssh command uses a ssh protocol, which is a secure protocol, as the data
transfer between the client and the host takes place in encrypted form. It transfers
24 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

the input through the client to the host and returns the output transferred by the
host. It executes through TCP/IP port 22.

The encrypted connection is also used to run the commands on a Linux server,
port forwarding, tunnelling, and more.

There are lots of SSH clients that are available for both commercial and free. The
OpenSSH is its most widely used client. It is available for all the most used
platforms such as Windows, Linux, macOS, OpenBSD, and more

4.4.1 Before SSH:

Fig 4.1 Before SSH Fig 4.2 After SSH

4.4.3 Commands

Sudo apt install openssh-server ##for install ssh services

Systemctl start sshd.services ## For start sshd service

25 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

# to remove “#” from PasswordAuthentication Vim


/etc/ssh/sshd_config

Fig 4.3 Password


authenciation
For connect to another laptop or
server:
Ssh (username)@(ip) passww…….

4.4.4 Usages of SSH protocol

The popular usages of SSH protocol are given below:

● It provides secure access to users and automated processes.

● It is an easy and secure way to transfer files from one system to another over an
insecure network.

● It also issues remote commands to the users.

● It helps the users to manage the network infrastructure and other critical system
components.

26 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

● It is used to log in to shell on a remote system (Host), which replaces Telnet


and rlogin and is used to execute a single command on the host, which replaces
rsh.

● It can be used for forwarding a port.

● By using SSH, we can set up the automatic login to a remote server such as
OpenSSH.

4.5 HTTP /HTTPS PROTOCOL

Fig 4.4 HTTP Protocol

4.6 FTP protocols

Mechanism of protocol

27 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Fig 4.5 Mechanism of FTP Protocol

5. CLOUD COMPUTING
The term cloud refers to a network or the internet. It is a technology that uses
remote servers on the internet to store, manage, and access data online rather than
local drives. The data can be anything such as files, images, documents, audio,
video, and more.

There are the following operations that we can do using cloud computing:

> Developing new applications and services

> Storage, back up, and recovery of data

> Hosting blogs and websites

> Delivery of software on demand

> Analysis of data

> Streaming videos and audios

5.1 Why Cloud Computing?

Small as well as large IT companies, follow the traditional methods to provide the
IT infrastructure. That means for any IT company, we need a Server Room
that is the basic need of IT companies.

In that server room, there should be a database server, mail server, networking,
firewalls, routers, modem, switches, QPS (Query Per Second means how much
queries or load will be handled by the server), configurable system, high net
speed, and the maintenance engineers.

28 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

To establish such IT infrastructure, we need to spend lots of money. To overcome


all these problems and to reduce the IT infrastructure cost, Cloud Computing
comes into existence.

5.2 Cloud Computing Architecture


As we know, cloud computing technology is used by both small and large
organizations to store the information in cloud and access it from anywhere at
anytime using the internet connection.

Cloud computing architecture is divided into the following two parts -


 front end
 back end

5.3 TYPES OF CLOUD


There are the following 4 types of cloud that you can deploy according to the
organization's needs-

29 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

1) Public cloud - to use publicly like: public transport

2) Private cloud - to use privately like : texi

3) Hybrid cloud - service use publicly data store privately

4) Community cloud : group of bank (they can connect each other)

As we all know that Cloud computing is trending technology. Almost every company
switched their services on the cloud to rise the company growth . Here, we are going to
discuss some important advantages of Cloud Computing-

30 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

6.AWS WEB SERVICE


6.1 What is aws:-
AWS (Amazon Web Services) is a comprehensive, evolving cloud computing platform
provided by Amazon that includes a mixture of infrastructure-as-a-service (IaaS),
platform-as-a-service (PaaS) and packaged-software-as-a-service (SaaS) offerings. AWS
services can offer an organization tools such as compute power, database storage and
content delivery services.

6.2 EC2 Instances:-


We can use Amazon EC2 to launch as many or as few virtual servers as you need,
configure security and networking, and manage storage. Amazon EC2 enables you to
scale up or down to handle changes in requirements or spikes in popularity, reducing
your need to forecast traffic.

Create instance:

Log into the EC2 dashboard in the AWS Management Console

In the left navigation bar, select Instances, then click the launch instance button.

Step 1: Choose an Amazon Machine Image (AMI) window, click the


Select button for the Linux distribution of your choice.

Step 2: Choose an Instance Type window, click the radio button for the appropriate
instance type. In the screenshot, we are selecting a t2.micro instance, which is normally
selected by default and is sufficient for demo purposes.
Note: At the time of publication of this guide, AWS gives you 750 hours of free
usage per month with this instance type during the first year of your AWS
account. Keep in mind, however, that if they run 24 hours a day, the sets of
instances specified in the NGINX deployment guides use up the 750 hours in just
a few days (just over 5 days for 6 instances, and just under 4 days for 8 instances).
31 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Step 3: Configure Instance Details window, select the default subnet for your
VPC is the Subnet field, then click the Next: Add Storage button.
Step 4: Add Storage window , leave the defaults unchanged click the next add tags
button.

Step 5: Add Tags window, click the add tag button. Type Name in the Key field, and
in the value field type the instance name (the screenshot shows the result). This name
is what will appear in the Name column of the summary table on the Instances tab of
the EC2 dashboard (see the screenshot in Step 12, which shows one instance).
If you are following these instructions as directed by an NGINX deployment
guide, the Creating EC2 Instances and Installing the NGINX Software
section of the deployment guide specifies the instance names to use.

Click the Next: Configure security group button to continue to the next step.

Step 6: Configure Security Group window, select or enter the following values
in the indicated fields:

• Assign a security group –


• If you are setting up a deployment with multiple instances (one in an NGINX
deployment guide, for instance), and this is the first instance you are creating,
select Create a new security group.
• For subsequent instances, select Select an existing security group instead (it
makes sense for all instances in a deployment to use the same security group).
• Security group name – Name of the group. If you are following these
instructions as directed by an NGINX deployment guide, the Prerequisites and
Required AWS Configuration section of the deployment guide specifies the
group name to use.
• Description – Description of the group; the group name is often used.

32 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Step 7: Review Instance Launch window, verify the settings are correct. If so click the
launch button in the lower-right corner of the window. To change settings, click the
previous button to go back to earlier windows.
Step 8: When you click the launch button, a window pops up asking you to select an
existing key pair or create a new key pair. Take the appropriate action for your use case,
then click the launch instances button.
Note: It’s a best practice – and essential in a production environment – to create a
separate key for each EC2 instance, so that if a key is compromised only the single
associated instance becomes vulnerable.

A Launch Status window pops up to confirm that your launch is underway. To confirm
the details of your instance when the launch completes, click the view button on that
page.

How to connect to EC2 instance using SSH:

Open your terminal and change directory with command cd, where you
downloaded your pem file. In this demonstration, pem file is stored in the
downloads folder. Type the SSH command with this structure: ssh -i file.pem
username@ip-address Now you are logged in to your AWS instance.

6.3 Load balancer

Load balancing refers to efficiently distributing incoming network traffic across a


group of backend servers, also known as a server farm or server pool.
Modern high-traffic websites must serve hundreds of thousands, if not millions, of
concurrent requests from users or clients and return the correct text, images, video, or
application data, all in a fast and reliable manner. To cost-effectively scale to meet
these high volumes, modern computing best practice generally requires adding more
servers.

33 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

USE OF LOAD BALANCER :-

● Distributes client requests or network load efficiently across multiple servers


● Ensures high availability and reliability by sending requests only to servers that
online
● Provides the flexibility to add or subtract servers as demand dictates

AWS load balancer

1 Application load balancer - only HTTP and HTTPS port


2 Network load balancer - TCP , UDP , TLS
3 Gate way load balancer –
4 Classic load balancer - TCP, SSL/TLS, HTTP, HTTP

34 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

7. Github
GitHub is a for-profit company that offers a cloud-based Git repository hosting
service. Essentially, it makes it a lot easier for individuals and teams to use Git
for version control and collaboration. GitHub’s interface is user-friendly enough
so even novice coders can take advantage of Git. Without GitHub, using Git
generally requires a bit more technical savvy and use of the command line.

GitHub is so user-friendly, though, that some people even use GitHub to manage
other types of projects – like writing books.Additionally, anyone can sign up and
host a public code repository for free, which makes GitHub especially popular
with open-source projects.

As a company, GitHub makes money by selling hosted private code repositories,


as well as other business-focused plans that make it easier for organizations to
manage team members and security. We utilize Github extensively at Kinsta to
manage and develop internal projects

COMMAND:

git init: command used to create empty repository

35 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

git status
git add filename.html: add files in staging area
git commit –m “initial commit”
git log: to see number of commit (a commit is an operation which sends the latest
changes of the source code to the repository).

git checkout master: In git there are multiple branches in which we work. When
we want to add a new feature or fix a bug—no matter how big or how small—
you spawn a new branch to encapsulate your changes. It will not effect the
features of another branch and changes in one branch will not be observed by
another branch.

36 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

8.Jenkins
8.1 Introduction
Jenkins is an open source continuous integration/continuous delivery and
deployment (CI/CD) automation software DevOps tool written in the Java
programming language. It is used to implement CI/CD workflows, called
pipelines.
Pipelines automate testing and reporting on isolated changes in a larger code
base in real time and facilitates the integration of disparate branches of the code
into a main branch. They also rapidly detect defects in a code base, build the
software, automate testing of their builds, prepare the code base for deployment
(delivery), and ultimately deploy code to containers and virtual machines, as
well as bare metal and cloud servers. There are several commercial versions of
Jenkins. This definition only describes the upstream open source project.

Advantages of Jenkins include:

• It is an open-source tool with great community support


• It is easy to install.

• It has 1000+ plugins to ease your work. If a plugin does


not exist, you can code it and share it with the community.
• It is free of cost.

8.2 Jenkins History


The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke
Kawaguchi, while he worked for Sun Microsystems. Kohsuke was a developer at
Sun and got tired of incurring the wrath of his team every time his code broke the
build. He created Jenkins as a way to perform continuous integration – that is, to
test his code before he did an actual commit to the repository, to be sure all was
well. Once his teammates saw what he was doing, they all wanted to use Jenkins.

37 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Kohsuke open sourced it, creating the Jenkins project, and soon Jenkins usage
had spread around the world.

8.3 Before and after jenkins

Before Jenkins After Jenkins

The entire source code was built and then Every commit made in the source code is
tested. Locating and fixing bugs in the event built and tested. So, instead of checking the
of build and test failure was difficult and entire source code developers only need to
time-consuming, which in turn slows the focus on a particular commit. This leads to
software delivery process. frequent new software releases

Developers have to wait for test results Developers know the test result of every
commit made in the source code on the run.

The whole process is manual You only need to commit changes to the
source code and Jenkins will automate the
rest of the process for you
Table 9.1 before and after Jenkins

38 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

9. INTRODUCTION TO CONTAINERS

Containers are a form of operating system virtualization. A single container


might be used to run anything from a small microservice or software process to a
larger application. Inside a container are all the necessary executables, binary
code, libraries, and configuration files.

Container based virtualization uses the kernel on the host operating system to run
multiple guest instances.

Each container has its own:

• Root file system


• Process
•Memories
• Devices

39 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

VIRTUAL MACHINE VS CONTAINER

Docker Container Virtual Machine

Docker Containers contain binaries, Virtual Machines (VMs) run on


libraries and configuration files along with Hypervisors, which allows multiple
the application itself. Virtual Machines to run on single
machine along with its own operating
system.

They don’t contain a guest OS for each Each VM has its own copy of an
container and rely on the OS Kernel, which operating system along with the
makes the Container lightweight. application and necessary binaries, which
makes it significantly larger and it
requires more resources

Containers share resources with other They provide Hardware-level process


containers in the same host OS and provide isolation and are slow to boot.
OS-level process isolation.

40 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

10.Docker
10.1 introducton
Docker is a software platform that allows you to build, test, and deploy applications
quickly. Docker packages software into standardized units called containers that
have everything the software needs to run including libraries, system tools, code,
and runtime. Using Docker, you can quickly deploy and scale applications into any
environment and know your code will run. Docker is an operating system for
containers.

10.2 ADVANTAGES OF USING DOCKER:

• Caching a cluster of containers.


• Flexible resource sharing.
• Scalability - many containers can be placed in a single host.
• Running your service on hardware that is much cheaper than standard servers.
• Light weight and secure platform.

41 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

The Docker client (docker) is the primary way that many Docker users interact
with Docker. When you use commands such as docker run, the client sends these
commands to dockerd, which carries them out. The docker command uses the
Docker API. The Docker client can communicate with more than one daemon.
10.3 DOCKER IMAGES:
A Docker image is a file used to execute code in a Docker container. Docker
images act as a set of instructions to build a Docker container, like a template.
Docker images also act as the starting point when using Docker. An image is
comparable to a snapshot in virtual machine (VM) environments.

10.4 COMMAND TO CREATE DOCKER:


Sudo apt update

Sudo apt install docker.io

Sudo systemctl start docker

42 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Sudo systemctl enable docker

Here sudo means root

Now docker is created

10.5 Commands of docker:

1.docker version: This command is used to get the currently installed version of
doc.
2.docker images: show all the images in docker

3.docker pull: This command is used to pull images from the docker repository
(hub.docker.com).

Syntax: docker pull <image name>

4. docker run

Usage: docker run -it -d <image name>

This command is used to create a container from an image

5.docker ps: This command is used to list the running containers

6. docker ps –a: This command is used to show all the running and exited containers

7. docker exec

Usage: docker exec -it <container id> bash

This command is used to access the running container.

8. docker stop

Usage: docker stop <container id>


43 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

This command stops a running container.

9. docker kill

Usage: docker kill <container id>

This command kills the container by stopping its execution immediately. The
difference between ‘docker kill’ and ‘docker stop’ is that ‘docker stop’ gives the
container time to shutdown gracefully, in situations when it is taking too much
time for getting the container to stop, one can opt to kill it.

10.docker commit

Usage: docker commit <container id> <username/imagename>

This command creates a new image of an edited container on the local system

11. docker login:

This command is used to login to the docker hub repositor

12. docker push

Usage: docker push <username/image name>

This command is used to push an image to the docker hub repository.

13. docker rm

Usage: docker rm <container id>

This command is used to delete a stopped container.

44 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

14. docker rmi

Usage: docker rmi <image-id>

This command is used to delete an image from local storage

15. docker build

Usage: docker build <path to docker file>

This command is used to build an image from a specified docker file

Docker start command will start any stopped container. If you used docker create
command to create a container, you can start it with this command. Docker run
command is a combination of create and start as it creates a new container and
starts it immediately.

45 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

11. PROJECT

11.1 Problem statement:

Test case analysis of a GUI based ubuntu ec2 instance to create your own AMI .

11.2 Problem Discription:

You have to plan and create an ec2 instance of ubuntu linux distribution which
is by default accessible using ssh , so you have to configure this instance as a
graphic ubuntu machine and enable RDP/XrDP. Then host here a container
based sample application and access it through ec2 ubuntu browser it self
Finally convert this ec2 into a ami so that you can reuse it.

11.3 Tech & proto :

● Git & github

● Ssh & rdp , xrp , vnc

● Gnome , kde

● Docker & container

● Firewall web browser based on ec2

● AMI

11.4 screenshots:

Step 1. We create an Ec2 instance of ubuntu operating system

46 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Step 2. Now we SSH that instance using aws console

Step 3. Now we install GUI and RDP remote client in the ubuntu instance using
the following commands.

Step 4. Use any desktop remote client for accessing the ubuntu GUI. we can
access GUI using the public id of the ec2 instance with port value 3389

47 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Step 5. Login in the ubuntu desktop using the username and password for the
ubuntu desktop.

Step 6. Now the gui can be seen as below.

Step 7.now open the terminal in the gui and install a todo application

git clone https://github.com/docker/getting-started.git

cd /path/to/app
48 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

touch Dockerfile

cd /path/to/app

docker build -t getting-started .

docker run -dp 3000:3000 getting-started

Step 8.now access the web application on the web browser of the GUI using the
public ip of the instance.

Step 9.now we can see the todo app on the browser screen.

49 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

Step 10.now you can add items to the list and delete items.

50 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

12.Future scope
The upcoming future scope of DevOps is changing rapidly, and as a
professional, you must be a quick learner. DevOps is the technology of the
future, and every software company will definitely work with the DevOps
concept. The main skills of the DevOps profession are communication and
collaboration. Thanks to its competitive business advantage, DevOps has
become a popular and leading technology. The companies are performing
better with DevOps technology. In fact, these organizations are very
successful and new tools are being developed in the market. Therefore, there
is a huge demand for people who are skilled, qualified, and trained DevOps
professionals. If we look at the future scope of DevOps, we can say that this
technology will become one of the most leading ones. It has encountered all
the new jobs and tools. You must start functioning if you want to build your
career as a DevOps professional. Relevant DevOps Training in Pune can
make your path easier to avail of related opportunities

51 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

13. Conclusion
DevOps has been responsible for providing a new and wider perspective on the
delivery of software solutions. The winning combination of DevOps and Cloud
Computing is introducing new benefits for cloud development. Readers should
note that DevOps is not just a set of productivity tools. Actually, DevOps implies
changes in the culture, precedents for automation, clear measurement of risks,
and flexible file sharing.

DevOps has helped many enterprises to shift from the monolithic approaches for
application development towards an agile perspective. The benefits of DevOps
are prominent reasons for the increasing demand for cloud DevOps services. The
impact of DevOps on cloud development does not relate only to the benefit of
faster software delivery. However, there is more to the role of DevOps in cloud

development, other than the assurance of fast results.

52 | P a g e
Jaipur Engineering College and Research
Centre, Shri Ram ki Nangal, via Sitapura
RIICO Jaipur- 302022. Academic Year-
2023-2024

14. References

https://ubuntu.com/download/desktop
https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox
downloads.html https://aws.amazon.com/ https://www.linux.com/
https://www.ibm.com/cloud/

53 | P a g e

You might also like