DevOps C-Skill Lab Guidelines
DevOps C-Skill Lab Guidelines
PRPCEM-AI&DS Page 1
C-Skill IV-DevOps
Vision:
To flourish as a centre of excellence for producing the skilled technocrats and committed human beings.
Mission:
Vision
To achieve Excellence in Computer Science and Engineering for serving the growing needs of
Software industry and Society
Mission
● To create an ambiance that shall foster the growth for developing innovative and entrepreneurial
skills.
● To identify areas of specialization upon which the department can concentrate, thus promote
academic growth and career opportunities.
● To develop human resource with ethical and moral values for overall personality development to
serve the society.
PRPCEM-AI&DS Page 2
C-Skill IV-DevOps
Program Outcomes:
Engineering Graduate will be able to:
1. Engineering Knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem Analysis: Identify, formulate, research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
3. Design /development of solutions: Design solutions for complex 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 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 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 engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and 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 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.
10. Communication: Communicate effectively on complex 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
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.
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.
PRPCEM-AI&DS Page 3
C-Skill IV-DevOps
PEO2: Leadership and Innovation: Graduates will exhibit leadership qualities and innovative
thinking, contributing to the development and implementation of AI-driven solutions that address
societal, industrial, and environmental challenges.
PEO3: Ethical and Professional Responsibility: Graduates will adhere to ethical and
professional standards in their engineering practice, demonstrating integrity, accountability,
and a commitment to societal well-being in the design and deployment of AI and DS systems.
PEO4: Lifelong Learning: Graduates will adopt a culture of lifelong learning and professional
development, empowering individuals to adapt to emerging technologies, navigate complex
socio-technical landscapes, and contribute meaningfully to the advancement of AIDS
throughout their careers.
PRPCEM-AI&DS Page 4
C-Skill IV-DevOps
Teachers shall discuss the following points with students before start of practical of the subject.
1. Learning Overview: To develop better understanding of importance of the subject. To know
related skills to be developed such as intellectual and motor skills.
2. Know your Laboratory Work: To understand the layout of laboratory, specifications of
equipment / instruments /materials, procedure, working in groups, planning time etc. also to
know total amount of work to be done in the laboratory.
3. Teacher shall ensure that required equipment is in working condition before start of each
experiment, also keep operating instruction manual available.
4. Explain prior concepts to the students before starting of each experiment.
5. Evolve student’s activity at the time of conduct of each experiment.
6. While taking reading / observation each student (from batch of 20 students) shall be
given a chance to perform / observe the experiment.
7. Teacher shall assess the performance of students continuously.
8. Teacher is expected to share the skills to be developed in the students.
9. Teacher should ensure that the respective skills are developed in the students after the
completion of the practical exercise.
10. Teacher may provide additional knowledge and skills to the students even though not covered
in the manual but are expected from students by the industries.
11. Teacher may suggest the students to refer additional related literature of the technical papers /
reference books / Seminar Proceedings, etc.
12. Focus should be given on development of enlisted skills rather than theoretical / codified
knowledge.
13. During assessment teacher is expected to ask questions to the students to tap their
achievements regarding related knowledge and skills.
14. Teacher should give more focus on hands on skills.
PRPCEM-AI&DS Page 5
C-Skill IV-DevOps
1. Students shall read the points given below for understanding the theoretical concepts and
practical applications.
2. Listen carefully to the lecture given by teacher about importance of subject, curriculum
philosophy, learning structure, skills to be developed, information about equipment,
instruments, procedure, method of continuous assessment, tentative plan of work in
laboratory and total amount of works to be done in a semester.
3. Student shall undergo study visit of the laboratory for types of equipment, and material
to be used, before performing experiments.
4. Read the write up of each experiment to be performed, a day in advance.
5. Organize the work in the group and make a record of all observations.
6. Understand the purpose of experiment and its practical implications.
7. Student should not hesitate to ask any difficulty faced during conduct of practical
/exercise.
8. Write the answers of the questions allotted by the teacher during practical hours if
possible or afterwards, but immediately.
9. Student should develop the habit of pear discussion / group discussion related to
experiments / exercise so that exchanges of knowledge / skills could take place.
10. Students shall attempt to develop related hands-on-skills and gain confidence.
11. Student shall focus on development of skills rather than theoretical or codified
[Link] shall insist for the completions of recommended Laboratory Work,
answers to the given question etc.
12. Student shall develop the habit of evolving more ideas, innovations, skills etc. that
included in the scope of the manual.
13. Student shall refer technical magazines, proceedings of the Seminars, refer website
related to the scope of the subjects and update their knowledge and skills.
14. Student should develop the habit of not depend totally on teachers but to develop self-
learning techniques.
15. Student should develop the habit to interact with the teacher without hesitation with
respect to academic involved.
16. Student should develop habit to submit the practical’s exercise continuously and
progressively on the schedule dates and should get the assessment done.
17. Student should be well prepared while submitting the write up of the exercise. This will
develop the continuity of the studies and he will not be overloaded at the end of the term.
PRPCEM-AI&DS Page 6
C-Skill IV-DevOps
P. R. POTE PATIL
Certificate
in .... Semester of Bachelor of Technology in Artificial Intelligence & Data Science of P. R. Pote
Patil College of Engineering & Management, Amravati, has completed the term work satisfactory of the
PRPCEM-AI&DS Page 7
C-Skill IV-DevOps
2
3
Signature of Faculty
PRPCEM-AI&DS Page 8
C-Skill IV-DevOps
Course Objectives
1. To understand the importance of software development life cycle, Linux command
Jenkins, Docker life cycle & Docker.
2. To be understand the Development Life Cycle.
Course Outcomes.
After successful completion of laboratory course, the students will able to
PRPCEM-AI&DS Page 9
C-Skill IV-DevOps
PRPCEM-AI&DS Page 10
C-Skill IV-DevOps
PRPCEM-AI&DS Page 11
C-Skill IV-DevOps
LABORATORY INSTRUCTIONS
1. Be Respectful! Always treat the computer lab equipment And your teacher
and classmates the way that you would want your belongings and yourself to
be treated.
3. Enter the computer lab quietly and work quietly. There are other groups and
individuals who may be using the computer lab. Please be respectful.
4. Surf safely! Only visit assigned websites. Some web links can contain
viruses or malware. Others may contain inappropriate content. If you are not
certain that a website is SAFE, please ask a teacher or other adult.
5. Clean up your work area before you leave. All cords should be placed on the
tables (not hanging off the sides). Headphones should be placed on the
CPU/tower or monitor. Chair should be pushed under the tables. All trash,
papers, and pencils should be picked up.
8. SAVE all unfinished work to a cloud drive or jump drive. Any work that is
saved to the computer will be deleted when the computer is powered off or
updated at the end of the day.
9. If you are the last class of the day, please POWER DOWN all computers and
monitors.
PRPCEM-AI&DS Page 12
C-Skill IV-DevOps
PRPCEM-AI&DS Page 13
C-Skill IV-DevOps
PRACTICAL NO. 1
THEORY: SDLC:
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in
the development of software at each phase. It covers the detailed plan for building, deploying and
maintaining the software. SDLC defines the complete cycle of development i.e. all the tasks involved
in planning, creating, testing, and deploying a Software Product.
SDLC Cycle:
SDLC has defined its phases as, Requirement gathering, Designing, Coding, Testing, and
Maintenance. It is important to adhere to the phases to provide the Product in a systematic manner.
SDLC Phases:
1. Planning Phase
a) Define the scope, objectives, and feasibility of the project.
b) Conduct feasibility studies (technical, operational, financial).
c) Identify risks and constraints.
d) Develop a project plan with timelines, resources, and budgets.
e) Project charter, feasibility report, and initial plan.
2. Requirement Analysis Phase
a) Understand and document user needs and system requirements.
b) Gather requirements through interviews, surveys, and workshops.
c) Create detailed documentation (e.g., Software Requirements Specification - SRS).
d) Prioritize features and functionalities.
e) Requirement documents, use cases, and user stories.
3. Design Phase
a) Create a blueprint for the system architecture and user interface.
b) Design system architecture, database schema, and user interface.
c) Prepare data flow diagrams (DFDs) and entity-relationship diagrams (ERDs).
d) Choose development technologies and frameworks.
PRPCEM-AI&DS Page 14
C-Skill IV-DevOps
CONCLUSION:
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 15
C-Skill IV-DevOps
PRACTICAL NO. 2
THEORY: DevOps
1. The term DevOps is a combination of two words namely Development and Operations.
DevOps is a practice that allows a single team to manage the entire application development
life cycle, that is, development, testing, deployment, and operations.
1) Continuous Development
This phase involves the planning and coding of the software. The vision of the project is
decided during the planning phase. The developers begin developing the code for the
application. There are no DevOps tools that are required for planning, but there are several
tools for maintaining the code.
2) Continuous Integration
This stage is the heart of the entire DevOps lifecycle. It is a software development practice in
which the developers are required to commit changes to the source code more frequently.
Then every commit is built, and this allows early detection of problems if they are present.
Building code does not only involve compilation, but it also includes unit testing,
integration testing, code review, and packaging.
Jenkins is a popular tool used in this phase. Whenever there is a change in the Git repository,
then Jenkins fetches the updated code and prepares a build of that code, which is an
executable file in the form of war or jar. Then this build is forwarded to the test server or the
production server.
PRPCEM-AI&DS Page 16
C-Skill IV-DevOps
3) Continuous Testing
This phase is where the developed software is continuously testing for bugs. For constant
testing, automation testing tools such as TestNG, JUnit, Selenium, etc are used. These tools
allow QAs to test multiple code bases thoroughly in parallel to ensure that there is no flaw in
the functionality. In this phase, Docker Containers can be used for simulating the test
environment.
Selenium does the automation testing, and TestNG generates the reports. This entire testing
phase can be automated with the help of a Continuous Integration tool called Jenkins.
Automation testing saves a lot of time and effort in executing the tests instead of doing this
manually. Apart from that, report generation is a big plus. The task of evaluating the test cases
that failed in a test suite gets simpler. Also, we can schedule the execution of the test cases at
predefined times. After testing, the code is continuously integrated with the existing code.
4) Continuous Monitoring
Monitoring is a phase that involves all the operational factors of the entire DevOps process,
where important information about the use of the software is recorded and carefully processed
to find out trends and identify problem areas. Usually, the monitoring is integrated within the
operational capabilities of the software application.
It may occur in the form of documentation files or may produce large-scale data about the
application parameters when it is in a continuous use position. System errors such as server
not reachable, low memory, etc are resolved in this phase. It maintains the security and
availability of the service.
5) Continuous Feedback
The application development is consistently improved by analyzing the results from the
operations of the software. This is carried out by placing the critical phase of constant
feedback between the operations and the development of the next version of the current
software application.
Continuity is an essential factor in DevOps as it removes the unnecessary steps that are
required to take a software application from development, using it to find out its issues and
then producing a better version. It kills the efficiency that may be possible with the app and
reduces the number of interested customers.
6) Continuous Deployment
In this phase, the code is deployed to the production servers. Also, it is essential to ensure that
the code is correctly used on all the servers.
PRPCEM-AI&DS Page 17
C-Skill IV-DevOps
The new code is deployed continuously, and configuration management tools play an
essential role in executing tasks frequently and quickly. Here are some popular tools that are
used in this phase, such as Chef, Puppet, Ansible, and SaltStack.
7) Continuous Operations
All DevOps operations are based on continuity with complete automation of the release
process and allow the organization to accelerate the overall time to market continuously.
It is clear from the discussion that continuity is the critical factor in DevOps in removing
steps that often distract the development, take it longer to detect issues, and produce a better
version of the product after several months. With DevOps, we can make any software product
more efficient and increase the overall count of interested customers in your product.
CONCLUSION:-
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 18
C-Skill IV-DevOps
PRACTICAL NO. 3
THEORY:
A DevOps pipeline, also referred to as a CI/CD pipeline, is a set of automated processes that
enable software development, testing, deployment, and monitoring. The pipeline helps ensure
faster, reliable, and consistent delivery of code from development to production.
What is CI/CD?
1. Continuous Integration (CI):
I. Automates code integration from multiple developers into a shared repository.
II. Ensures frequent and error-free builds through automated testing.
III. Example: Jenkins, GitLab CI.
2. Continuous Delivery (CD):
I. Ensures that code changes are automatically prepared for deployment to a production-
like environment.
II. Includes thorough testing, artifact creation, and staging.
III. Example: Spinnaker, GitHub Actions.
3. Continuous Deployment:
I. Extends CD by automatically deploying code changes to production without manual
intervention.
II. Example: Kubernetes with ArgoCD.
2. Build Automation
Purpose: Compiles code and packages it into a deployable artifact.
Tools: Jenkins, Maven, Gradle.
Steps:
I. Fetch the latest code from the repository.
II. Compile and build the application.
III. Create executable artifacts like .jar, .war, or container images.
3. Automated Testing
Purpose: Ensures code quality by running automated test suites.
Tools: Selenium, JUnit, TestNG, Postman.
Steps:
I. Unit Testing: Tests individual components.
II. Integration Testing: Verifies interactions between components.
III. Performance Testing: Measures system stability and responsiveness.
4. Continuous Integration
PRPCEM-AI&DS Page 19
C-Skill IV-DevOps
6. Continuous Deployment
Purpose: Deploys artifacts to staging or production environments.
Tools: Kubernetes, Ansible, Terraform, ArgoCD.
Steps:
I. Deploy the application to a staging environment.
II. Perform end-to-end testing.
III. Deploy to production.
PRPCEM-AI&DS Page 20
C-Skill IV-DevOps
Stage Tools
Build Automation Maven, Gradle, Docker
Testing Selenium, JUnit, TestNG
Deployment Kubernetes, Ansible, Terraform
Monitoring Prometheus, Grafana, Datadog
Jenkins is an open-source automation tool used for Continuous Integration (CI) and
Continuous Delivery (CD) in DevOps. It is written in Java and provides a robust framework
to build, test, and deploy software projects automatically, enabling faster and more reliable
software delivery.
PRPCEM-AI&DS Page 21
C-Skill IV-DevOps
CONCLUSION:-
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 22
C-Skill IV-DevOps
PRACTICAL NO. 4
THEORY:
Git is an open-source distributed version control system. It is very lightweight and works on
almost all operating systems.
Step 1: Install Git
For Windows:
1. Go to the official Git website: [Link].
2. Download the Git installer for Windows.
3. Run the downloaded installer.
4. Follow the installation prompts, keeping the default settings unless you have specific
preferences.
5. Once the installation is complete, open the Command Prompt or Git Bash and type:
PRPCEM-AI&DS Page 23
C-Skill IV-DevOps
Press Enter to accept the default file location. You can set a passphrase for added
security or leave it empty.
PRPCEM-AI&DS Page 24
C-Skill IV-DevOps
Step 5: Verify the Connection
1. In your terminal, run
CONCLUSION:
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 25
C-Skill IV-DevOps
PRACTICAL NO. 5
THEORY:
Installation Prerequisites of JDK
JDK has bare minimum requirements for disk space and RAM for the 64-bit Windows platform. It
requires around 800 MB disk space to install JDK, as JRE also gets installed along with it. JDK
requires 128 MB of memory space to run JDK successfully. This is the minimum RAM required for
running basic and small programs, but as the size of an application increases, the memory requirement
also increases for the application to run smoothly.
Step by Step Installation Of JDK
Before installing the latest JDK version, it is recommended to check our systems for any old JDK
versions and uninstall them. Though we can have more than one JDK, it is easier to set paths and to
work with just the latest one.
Step 1 - Download JDK
Open the browser and search for Download JDK 11 or click the link to download from Oracle
website. It will show the JDK download page as shown in Fig.
Accept the License Agreement and click on the link to download the installer as highlighted in Fig. It
will start downloading JDK 11 installer for Windows.
PRPCEM-AI&DS Page 26
C-Skill IV-DevOps
Click on Next to initiate the installation process. The next screen shows options to select optional
features to be installed together. Leave the default options without making any change. We can also
change the installation location on this screen if required as displayed in Fig.
Now click on Next Button to start the installation. It will show the progress as displayed in Fig.
PRPCEM-AI&DS Page 27
C-Skill IV-DevOps
It shows the success screen after completing the installation as mentioned in Fig.
Now open the Command Prompt and type the command java -version to confirm whether it's installed
successfully as mentioned in Fig.
We might need to set the environment variable in case the installed JDK is not detected by the system.
You can follow the below-mentioned steps to set the environment variable.
Right Click -> My Computer(This PC) -> Properties -> Advbanced System Settings
The above steps will open the Windows settings panel as shown in Fig
Now click on Environment Variables, select Path under System Variables section and click on Edit.
We need to add the path of installed JDK to system Path.
Click on New Button and add the path to installed JDK bin which is C:\java\java-11\jdk-11.0.1\bin in
PRPCEM-AI&DS Page 28
C-Skill IV-DevOps
our case. Press OK Button 3 times to close all the windows. This sets the JDK 11 on system
environment variables to access the same from the console.
Now again open the console and test the Java version as shown in Fig.
CONCLUSION:
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 29
C-Skill IV-DevOps
PRACTICAL NO. 6
SOFTWARE:
THEORY:
1. Download the Jenkins War File
This war is required to install Jenkins.
The official website for Jenkins is [Link]
When you click the given link, you will get the home page of the Jenkins official website as
given below:
Click on Generic Java Package (.war) to download the Jenkins war file.
PRPCEM-AI&DS Page 30
C-Skill IV-DevOps
Click the “Change…” button if you want to install Jenkins in another folder. In this example,
I will keep the default option and click on the “Next” button.
Enter the service logon credentials. It is recommended to select the second option “Run
service as local ” as it is safer.
Enter the port on which Jenkins will be running. Click on the “Test Port” button to validate if
it is free.
Select the Java home directory and click on the “Next” button.
PRPCEM-AI&DS Page 31
C-Skill IV-DevOps
Select other services that need to be installed with Jenkins and click on the “Next” button.
You will automatically be redirected to a local Jenkins page, or you can paste the URL
[Link] in a browser.
PRPCEM-AI&DS Page 32
C-Skill IV-DevOps
To unlock Jenkins, copy the password from the file intial Admin Password. This file should
be found under the Jenkins installation path (set at step 3 in Jenkins installation). If a custom
path was entered, then you should check that location.
Copy the content of the initial Admin Password file and paste it in the Administrator
password field. Then, click the Continue button.
You can install either the suggested plugins or selected plugins you choose. To keep it
simple, we will install the suggested plugins.
PRPCEM-AI&DS Page 33
C-Skill IV-DevOps
The next thing that you should do is create an Admin user for Jenkins. Then, enter your
details and click Save and Continue.
PRPCEM-AI&DS Page 34
C-Skill IV-DevOps
3. Jenkins Configuration
To configure the Jenkins, click on the 'Manage Jenkins' menu option from the left-hand side
of the Jenkins Dashboard screen.
PRPCEM-AI&DS Page 35
C-Skill IV-DevOps
On the Manage Jenkins page, you will see the following options:
I. Configure System
Click on the 'Configure System':
The configure system page is a critical configuration part. This screen represents a variety of
sections, each correlating to a different configuration area from generic Jenkins settings,
global environment variables, and most installed plugins are configured on this page.
PRPCEM-AI&DS Page 36
C-Skill IV-DevOps
III. # of executors
This option refers to the total number of concurrent job executions that can take place on the
Jenkins machine. This can be changed based on the requirements. I recommended to you to
keep this number same as the number of CPU on the systems for better performance.
PRPCEM-AI&DS Page 37
C-Skill IV-DevOps
This option is used to add custom environment variables which will apply to all the jobs.
Environment variables are key-value pairs and can be accessed and used in Builds wherever
required. (For example: SLACK_TOKEN, SAUCE_API_KEY ).
V. Jenkins URL
By default, the Jenkins URL is set to the localhost. If you have a DNS (domain name setup)
for your machine, set this to the domain name else overwrite localhost with the IP of machine.
This will help in setting up slaves (nodes) and while sending out links using the email as you
can directly access the Jenkins URL using the environment variable JENKINS_URL which
can be accessed as ${JENKINS_URL}.
PRPCEM-AI&DS Page 38
C-Skill IV-DevOps
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 39
C-Skill IV-DevOps
PRACTICAL NO. 7
THEORY :
To create a Jenkins freestyle job, log on to your Jenkins dashboard by visiting your Jenkins
installation path. Usually, it will be hosted on localhost at [Link] If you have installed
Jenkins in another path, use the appropriate URL to access your dashboard as shown in the below
Jenkins job creation example.
PRPCEM-AI&DS Page 40
C-Skill IV-DevOps
1. Enter the name of the item you want to create. We shall use the “Hello world” for this demo.
2. Select Freestyle project
3. Click Okay
PRPCEM-AI&DS Page 41
C-Skill IV-DevOps
Under Source Code Management, Enter your repository URL. We have a test repository located
at [Link]
If your GitHub repository is private, Jenkins will first validate your login credentials with GitHub and
only then pull the source code from your GitHub repository.
Now that you have provided all the details, it’s time to build the code. Tweak the settings under
the build section to build the code at the time you want. You can even schedule the build to happen
periodically, at set times.
Under build,
2. Click on “Execute Windows batch command” and add the commands you want to execute during
the build process.
PRPCEM-AI&DS Page 42
C-Skill IV-DevOps
1. Click Apply
2. Save the project.
Now, in the main screen, Click the Build Now button on the left-hand side to build the source code.
After clicking on Build now, you can see the status of the build you run under Build History.
PRPCEM-AI&DS Page 43
C-Skill IV-DevOps
Click on the build number and then Click on console output to see the status of the build you run. It
should show you a success message, provided you have followed the setup properly as shown in the
below Jenkins create new job example.
PRPCEM-AI&DS Page 44
C-Skill IV-DevOps
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 45
C-Skill IV-DevOps
PRACTICAL NO. 8
THEORY:
A DevOps process consists of 8 stages: plan, code, build, test, release, deploy, operate and
monitor. There is a plethora of tools available open source that can be used for each of these
stages and some across various stages. There’s no single magical tool to implement or
facilitate [Link] make it simple for DevOps teams, we have put together a list of
DevOps tools that can be used to achieve a successful DevOps transformation.
DevOps Tools List
2. Gradle Build
3. Selenium Test
PRPCEM-AI&DS Page 46
C-Skill IV-DevOps
1. eG Enterprise
Monitoring is a critical part of software development and deployment. Through all the stages
of DevOps, from code build to test and commit to deploy DevOps teams need to understand
the impact that their code will have on pre-production and production environments. eG
Enterprise is a continuous monitoring tool allows tracking application performance in the
context of code changes to understand how they impact performance. If there are slow
transactions, eG Enterprise uses distributed transaction tracing to highlight if that’s due to a
certain line of code that’s executing slowly, or due to slow third-party calls, or because of
slow database queries.
Integrating continuous monitoring with continuous integration and continuous delivery is
critical to identifying bugs early in the development lifecycle. eG Enterprise provides a
converged visibility of applications and their supporting IT infrastructure (across containers
and microservices environments) allowing Dev, Ops and DevOps teams to easily highlight
the impact of releases before production rollout. In production environments, eG Enterprise
alerts application teams of user experience issues in real time. Synthetic monitoring can be
employed for proactive incident tracking before end-user impact.
2. Git
Git is a widely used DevOps tool across the software industry. It’s a distributed SCM (source
code management) tool known for its free open source collaboration and planning that is
extensively used for tracking the progress of development work by remote teams and open
source contributors. It supports most of the version control features including check-in,
commits, branches, merging, labels, push and pull to/from GitHub, etc.
Git is very easy to use and maintain version control artifacts. To integrate Git with the
existing workflow, you must host repositories using services like GitHub and Bitbucket, from
where team members can push their work. GitHub is more popular, but Bitbucket renders
free unlimited private repos for small teams (up to five). Whereas with GitHub, you get
access to public repos for free which is an excellent solution for most of the projects.
3. Gradle
Gradle is an open source build-automation software that is used to automate building, testing,
deployment of application code. Using [Link] scripts you can automate the tasks — say
for example copy files from one directory to another before the build even happens. Gradle is
developed based on the principles of Apache Ant and Apache Maven work. Instead of using
XML (as used by Maven), Gradle uses a Groovy-based domain-specific language (DSL).
Gradle runs on the JVM and you must have a Java Development Kit (JDK) installed to use it.
Many major IDEs — Android Studio, IntelliJ IDEA, Eclipse, and NetBeans — allow the
import of Gradle builds and interacting with them.
4. Selenium
Selenium is a free, open source portable automated testing framework. It can be made to
automate test case execution for web applications. Scripts are developed to automatically test
PRPCEM-AI&DS Page 47
C-Skill IV-DevOps
web applications for various conditions. Selenium is very flexible and extensible. It can be
used across multiple operating systems, browsers and programming languages. One of the
major highlights of Selenium is that it supports parallel test execution, which is a very nifty
feature for DevOps teams.
1. Jenkins
Jenkins is an open source solution for continuous integration that orchestrates and automates
sequence of actions enabling developers to reliably build, test, and deploy their software.
With over 300,000 installations around the world and over a million users, Jenkins is used by
DevOps teams for accelerating production rollouts by benefitting from its power of
automation. With a large pool of plug-ins available in the Jenkins ecosystem, its capabilities
can be expanded to various stages in the DevOps lifecycle.
Jenkins is entirely free and available at no cost. Because it is written in Java, it is portable
across all major platforms. It is typically run as a standalone application in its own process
with a built-in Java servlet container/ application server (Jetty).
Main benefit of using Jenkins: Instead of waiting for a nightly build, every commit made by
developers in the source code repository is automatically pulled to build by Jenkins’ CI
server. If there’s any bug in the build, developers need to only check the corresponding
commit and fix the issue. This significantly reduces the time required to release new
software.
2. Puppet
Puppet is an open source configuration management tool to automate inspecting, delivering
and managing the software across the complete development lifecycle with platform
independence. It automates infrastructure management to deliver software quickly and
securely. Puppet is used by 42% of businesses that use DevOps according to a
RightScale DevOps survey.
Puppet is written in Ruby and has its own domain-specific language. Puppet has two layers:
A configuration language which describes how the hosts and services should look
An abstraction layer which allows the administrator to implement the configuration on a
variety of platforms (Windows, Linux, Mac OS, etc.)
The main benefit of Puppet is that it eliminates the need for system administrators to use
manual scripting for configuration changes. It helps reduce the cost and effort when one has
to change minor code in hundreds of systems, while maintaining a clear and auditable change
control mechanism.
Puppet is also available as a commercial software, which provides better reporting,
orchestration, node management, role-based access control and product support.
3. Chef
Chef is another configuration management tool — similar to Chef — used to automate and
simplify deployment, repair, update and managements of application infrastructures.
Avoiding manual scrip-based changes, Chef provides a seamless orchestration engine to
allow DevOps engineers to ensure continuous delivery of code releases. By treating
infrastructure as code, Chef uses pre-built and customizable policies to automatically effect
changes to the deployment infrastructure.
Chef has three components, namely Chef server, workstation and nodes:
Chef server is a central command center where all details of the infrastructure reside.
Chef workstation includes recipes or cookbooks, that pushes configuration to infrastructure.
Nodes are simple devices which are configured by using Chef.
Chef has API support from Azure, Rackspace, AWS, which makes it simple to extend
configuration management to cloud platforms.
PRPCEM-AI&DS Page 48
C-Skill IV-DevOps
4. Docker
Docker is a forerunner in containerization. It automates application deployment and provides
integrated security along with agile operations for legacy and cloud-native applications.
The USP of Docker is that it can package dependencies. It uses a container to package up an
application with all the elements and dependencies before sending the entire container as an
individual package. In addition to this, Docker promotes an automated, reliable supply chain
for lessening time to value. It helps the existing as well as new applications and runs well
with AWS and Google Cloud. Distributed development is made simple with Docker.
The most significant advantage of Docker is that it efficiently separates apps into containers
to make them more secure and transferable. Docker helps in stimulating massive changes in
delivery workflows. If you require a tool to simplify the complicated process of cloud
migration, Docker is for you.
5. Kubernetes
Kubernetes is the most popular open source container orchestration platform. It automates the
deployment, management, scaling, networking, and availability of container-based
applications. Think of Kubernetes to Docker as what vCenter is to ESXi hosts. Using
Kubernetes, Docker containers can be easily created automatically and assigned to business
service on demand and also be scaled down after use.
Deployment automation is the biggest benefit of Kubernetes in the DevOps world. By
automating container creation on nodes across on-premises, cloud and hybrid IT
environments, Kubernetes can be used to spin up development environment on demand based
on business need. This is especially helpful in auto-scaling, rolling updates, canary
deployments.
By orchestrating container creation and deployment, Kubernetes becomes a useful tool for
continuous integration, continuous delivery and continuous deployment.
6. Ansible
Ansible is an open-source software provisioning, configuration management, and application-
deployment tool. Ansible works agentlessly, connecting via SSH or remote PowerShell to
execute its tasks. It requires playbooks (YAML files) to be created which incorporate
configurations, deployment, and orchestration rules and then executed on Ansible-managed
nodes. Repetitive administrations tasks can be automated using Ansible towards improving
the scalability, consistency, and reliability of the application deployment environment.
Ansible Tower is a web service and a hub for automation tasks which makes Ansible more
easily operable for IT teams. Semaphore, written in Go, is an open source alternative to
Ansible Tower.
CONCLUSION:-
ASSESSMENT SCHEME:-
Process Related Skills Product Related Skills (10-M) Total (25-M) Signature of Faculty
(15-M)
PRPCEM-AI&DS Page 49
C-Skill IV-DevOps
PRPCEM-AI&DS Page 50