What is DevOps?
By the name DevOps, it‘s very clear that it‘s a collaboration of Development as well as Operations. But one should know that DevOps is not a tool, or a software or framework, DevOps is a Combination of Tools which helps for the automation of whole infrastructure.
DevOps is basically and implementation of Agile methodology on Development side as well as Operations side.
Why do we need DevOps?
To fulfil the need of delivering more and faster and better applications to meet more and more demands of users, we need DevOps. DevOps helps deployment to happen really fast compared to any other traditional tools.
Mention the key aspects or principle behind DevOps?
The key aspects or principle behind DevOps are:
1. Infrastructure as a Code
2. Continuous Integration
3. Continuous Deployment
4. Automation
5. Continuous Monitoring
6. Security
List out some of the popular tools for DevOps?
Git
Jenkins
Gitlab
Ansible
Puppet
Docker
Kubernetes
Helm-Charts
Terraform
Promethious
ELK (Elasticsearch, Logstash, Kibana)
What is a version control system?
Version Control System (VCS) is a software that helps software developers to work together and maintain a complete history of their work. Some of the feature of VCS as follows:
1. Allow developers to work simultaneously
2. Does not allow overwriting on each other‘s changes.
3. Maintain the history of every version.
4. There are two types of Version Control Systems:
5. Central Version Control System, Ex: Git, Bitbucket
6. Distributed/Decentralized Version Control System, Ex: SVN What is Git and explain the difference between Git and SVN?
GIT Vs SVN.
Git is a Decentralized Version Control Tool SVN is a Centralized Version Control Tool
Git contains the local repo as well as the full history of the whole project on all the developers
hard drives, so if there is a server outage , you can easily do recovery from your teammates local
git repo.
SVN relies only on the central server to store all the versions of the project file.
Push and pull operations in are super fast in Git, Push and pull operations are slower compared to
Git (in SVN)
Git belongs to the 3rd generation Version Control Tool, whereas SVN is a 2nd generation
Version Control.
Tools Client nodes can share the entire repositories on their local system, But in SVN Version
history is stored on server-side repositories.
Using Git Commits can be done offline too, however in SVN Commits can be done only online.
Work is shared automatically by commit in Git. Nothing is shared automatically in SVN.
What language is used in Git?
Git is written in C language, and since it‘s written in C language it‘s very fast and reduces the
overhead of runtimes.
What is SubGit?
SubGit is a tool for migrating SVN to Git. It creates a writable Git mirror of a local or remote
Subversion repository and uses both Subversion and Git if you like.
How can you clone a Git repository via Jenkins?
First, we must enter the e-mail and username for your Jenkins system, then switch into your job
directory and execute the ―git config‖ command.
What are the Advantages of Ansible?
1. Agentless, it doesn‘t require any extra package/daemons to be installed
2. Very low overhead
3. Good performance
4. Idempotent
5. Very Easy to learn
6. Declarative not procedural
What‟s the use of Ansible?
Ansible is mainly used in IT infrastructure to manage or deploy applications to remote nodes.
Let‘s say we want to deploy one application in 100‘s of nodes by just executing one
command, then Ansible is the one actually coming into the image but should have some
knowledge on Ansible script to understand or execute the same.
What‟s the difference between Ansible Playbook and Roles?
Roles are reusable subsets of a play. Playbooks contain Plays.
Role is a set of tasks for accomplishing a certain role. Playbooks, Mapps among hosts and roles.
Example: common, webservers. Example: site.yml, fooservers.yml, webservers.yml
How do I see a list of all the ansible_ variables?
Ansible by default gathers ―facts‖ about the machines, and these facts can be accessed in
Playbooks and in templates. To see a list of all the facts that are available about a machine, you
can run the ―setup‖ module as an ad-hoc action:
Ansible -m setup hostname
This will print out a dictionary of all the facts that are available for that particular host.
What is Docker?
Docker is a containerization technology that packages your application and all its dependencies
together in the form of Containers to ensure that your application works seamlessly in any
environment.
What is Docker image?
Docker image is the source of Docker container. Or in other words, Docker images are used to
create containers.
What is a Docker Container?
Docker Container is the running instance of Docker Image.
Can we consider DevOps as Agile methodology?
Of Course, we can!! The only difference between agile methodology and DevOps is that, agile
methodology is implemented only for the development section and DevOps implements agility
on both development as well as operations section.
What are the advantages of using Git?
1. Data redundancy and replication
2. High availability
3. Only one. git directory per repository
4. Superior disk utilization and network performance
5. Collaboration friendly
6. Git can use any sort of projects.
What is kernel?
A kernel is the lowest level of easily replaceable software that interfaces with the hardware in
your computer.
What is the difference between grep -i and grep -v?
I ignore alphabet difference V accept this value
ex) ls | grep -i docker
Dockerfile
docker.tar.gz
ls | grep -v docker
Desktop
Dockerfile
Documents
Downloads
You can‘t see anything with name docker.tar.gz
How can you define particular space to the file
This feature is generally used to give the swap space to the server. Let‘s say in below machine I
have to create swap space of 1GB then,
dd if=/dev/zero of=/swapfile1 bs=1G count=1
What is the concept of sudo in Linux?
Sudo(superuser do) is a utility for UNIX- and Linux-based systems that provides an efficient
way to give specific users permission to use specific system commands at the root (most
powerful) level of the system.
What is a Jenkins Pipeline? Jenkins Pipeline (or simply ―Pipeline‖) is a suite of
plugins which supports implementing and integrating continuous delivery pipelines into Jenkins.
How to stop and restart the Docker container?
To stop the container: docker stop container ID
Now to restart the Docker container: docker restart container ID
What platforms does Docker run on?
Docker runs on only Linux and Cloud platforms:
1. Ubuntu 12.04 LTS+
2. Fedora 20+
3. RHEL 6.5+
4. CentOS 6+
5. Gentoo
6. ArchLinux
7. openSUSE 12.3+
8. CRUX 3.0+
9. Amazon EC2
10. Google Compute Engine
11. Microsoft Azure
12. Rackspace
Note that Docker does not run on Windows or Mac for production as there is no support, yes you
can use it for testing purpose even in windows
What are the tools used for docker networking?
For docker networking we generally use kubernetes and docker swarm.
What is docker compose?
Let‘s say you want to run multiple docker containers, at that time you have to create the docker-
compose file and type the command docker-compose up. It will run all the containers mentioned
in docker compose file.
What is Scrum?
Scrum is basically used to divide your complex software and product development task into
smaller chunks, using iterations and incremental practises. Each iteration is of two weeks. Scrum
consists of three roles: Product owner, scrum master and Team
What does the commit object contain?
Commit object contain the following components:
It contains a set of files, representing the state of a project at a given point of time reference to
parent commit objects
An SHAI name, a 40-character string that uniquely identifies the commit object (also called as
hash).
Explain the difference between git pull and git fetch?
Git pull command basically pulls any new changes or commits from a branch from your central
repository and updates your target branch in your local repository.
Git fetch is also used for the same purpose, but it‘s slightly different from Git pull. When you
trigger a git fetch, it pulls all new commits from the desired branch and stores it in a new branch
in your local repository. If we want to reflect these changes in your target branch, git fetch must
be followed with a git merge. Our target branch will only be updated after merging the target
branch and fetched branch. Just to make it easy for us, remember the equation below:
Git pull = git fetch + git merge
How do we know in Git if a branch has already been merged
into master?
git branch –merged
The above command lists the branches that have been merged into the current branch.
git branch –no-merged
This command lists the branches that have not been merged.
What is „Staging Area‟ or „Index‟ in GIT?
Before committing a file, it must be formatted and reviewed in an intermediate area known as
‗Staging
Area‘ or ‗Indexing Area‘.
#git add <file_name>
What is Git Stash?
Let‘s say you‘ve been working on part of your project, things are in a messy state and you want
to switch branches for some time to work on something else. The problem is, you don‘t want to
commit your half-done work just, so you can get back to this point later. The answer to this issue
is Git stash.
Git Stashing takes your working directory, that is, your modified tracked files and staged
changes and saves it on a stack of unfinished changes that you can reapply at any time.
What is Git stash drop?
Git ‗stash drop‘ command is basically used to remove the stashed item. It will basically remove
the last added stash item by default, and it can also remove a specific item if you include it as an
argument.
I have provided an example below:
If you want to remove any particular stash item from the list of stashed items you can use the
below commands:
git stash list: It will display the list of stashed items as follows:
stash@{0}: WIP on master: 049d080 added the index file
stash@{1}: WIP on master: c265351 Revert ―added files‖
stash@{2}: WIP on master: 13d80a5 added number to log
What is the function of „git config‟?
Git uses our username to associate commits with an identity. The git config command can be
used to change our Git configuration, including your username.
Suppose you want to give a username and email id to associate commit with an identity so that
you can know who has made a commit. For that I will use:
git config –global user.name ―Your Name‖: This command will add your username.
git config –global user.email ―Your E-mail Address‖: This command will add your email id.
How can you create a repository in Git?
To create a repository, you must create a directory for the project if it does not exist, then run the
command ―git init‖. By running this command .git directory will be created inside the project
directory.
Describe the branching strategies you have used?
Generally, they ask this question to understand your branching knowledge.
Feature branching
This model keeps all the changes for a feature inside of a branch. When the feature branch is
fully tested and validated by automated tests, the branch is then merged into master.
Task branching
In this task branching model each task is implemented on its own branch with the task key
included in the branch name. It is quite easy to see which code implements which task, just look
for the task key in the branch name.
Release branching
Once the develop branch has acquired enough features for a release, then we can clone that
branch to form a Release branch. Creating this release branch starts the next release cycle, so no
new features can be added after this point, only bug fixes, documentation generation, and other
release-oriented tasks should go in this branch. Once it‘s ready to ship, the release gets merged
into master and then tagged with a version number. In addition, it should be merged back into the
develop branch, which may have progressed since the release was initiated earlier.
What is Jenkins?
Jenkins is an open source continuous integration tool which is written in Java language. It keeps
a track on the version control system and to initiate and monitor a build system if any changes
occur. It monitors the whole process and provides reports and notifications to alert the concern
team.
What is the difference between Maven, Ant and Jenkins?
Maven and Ant are Build Technologies whereas Jenkins is a continuous integration(CI/CD)
tool.
Explain what is continuous integration?
When multiple developers or teams are working on different segments of the same web
application, we need to perform integration tests by integrating all the modules. To do that an
automated process for each piece of code is performed on daily bases so that all your code gets
tested. And this whole process is termed as continuous integration.
What is the relation between Hudson and Jenkins?
Hudson was the earlier name of current Jenkins. After some issues were faced, the project name
was changed from Hudson to Jenkins.
What are the advantages of Jenkins?
Advantage of using Jenkins
1. Bug tracking is easy at an early stage in a development environment.
2. Provides a very large number of plugin support.
3. Iterative improvement to the code, code is basically divided into small sprints.
4. Build failures are cached at integration stage.
5. For each code commit change an automatic build report notification gets generated.
6. To notify developers about build report success or failure, it can be integrated with LDAP
mail server.
7. Achieves continuous integration agile development and test-driven development
environment.
8. With simple steps, maven release projects can also be automated.
Which SCM tools does Jenkins support?
Source code management tools supported by Jenkins are below:
1. AccuRev
2. CVS
3. Subversion
4. Git
5. Mercurial
6. Perforce
7. Clearcase
8. RTC and many more
What is Ansible?
Ansible is a software configuration management tool to deploy an application using SSH without
any downtime. It is also used for management and configuration of software applications.
Ansible is developed in Python language.
How can you set up Jenkins jobs?
Steps to set up Jenkins job as follows:
Select new item from the menu.
After that enter a name for the job (it can be anything) and select a free-style job.
Then click OK to create a new job in Jenkins dashboard.
The next page enables you to configure your job, and it‘s done.
What are your daily activities in your current role?
Working on JIRA Tickets
Builds and Deployments
Resolving issues when builds and deployments fails by coordinating and collaborating with the
dev team
Infrastructure maintenance
Monitoring health of applications
Building new integrations
Evaluating new technologies to make software delivery faster, secure and easier etc..
What are the challenges you faced in recent times?
I need to implement trending technologies like Docker to automate the configuration
management activities in my project by showing POC.
What are the build and deployment failures you got and how
did you resolve those?
I used to get most of the time out of memory issues. So I fixed this issue by restarting the server
which is not best practice. I did the permanent fix by increasing the PermGen Space and Heap
Space.
I want a file that consists of the last 10 lines of some other
file?
Tail -10 filename >filename
How to check the exit status of the commands?
echo $?
Write a shell script to print only prime numbers?
1. prime.sh
2. echo ―1‖
3. i=3
4. j=300
5. flag=0
6. tem=2
7. echo ―1‖while [ $i -ne $j ]
8. do
9. temp=`echo $i`
10. while [ $temp -ne $tem ]
11. do
12. temp=`expr $temp – 1`
13. n=`expr $i % $temp`
14. if [ $n -eq 0 -a $flag -eq 0 ]
15. then
16. flag=1
17. fi
18. done
19. if [ $flag -eq 0 ]
20. then
21. echo $i
22. else
23. flag=0
24. fi
25. i=`expr $i + 1`
26. done
How to pass the parameters to the script and how can I get
those parameters?
Scriptname.sh parameter1 parameter2
I will use $* to get the parameters.
What are the default file permissions for the file and how
can I modify it?
Default file permissions are : rw-r—r—
If I want to change the default file permissions I need to use umask command ex: umask 666
How will you do the releases?
There are some steps to follow.
Create a checklist
Create a release branch
Bump the version
Merge release branch to master & tag it.
Use a Pull request to merge the release merge
Deploy master to Prod Environment
Merge back into develop & delete release branch
Change log generation
Communicating with stakeholders
Grooming the issue tracker
How do you automate the whole build and release process?
Check out a set of source code files.
Compile the code and report on progress along the way.
Run automated unit tests against successful compiles.
Create an installer.
Publish the installer to a download site, and notify teams that the installer is available.
Run the installer to create an installed executable.
Run automated tests against the executable.
Report the results of the tests.
Launch a subordinate project to update standard libraries.
Promote executables and other files to QA for further testing.
Deploy finished releases to production environments, such as Web servers or CD
manufacturing.
The above process will be done by Jenkins by creating the jobs.
I have 50 jobs in the Jenkins dashboard, I want to build at a
time all the jobs
In Jenkins there is a plugin called build after other projects build. We can provide job names over
there and If one parent job runs then it will automatically run all other jobs. Or we can use
Pipeline jobs.
How can I integrate all the tools with Jenkins?
I have to manage Jenkins and then global tool configurations. There you have to provide all the
details such as Git URL , Java version, Maven version, Path etc.
How to install Jenkins via Docker?
The steps are:
Open up a terminal window.
Download the jenkinsci/blueocean image & run it as a container in Docker using the
following docker
run command:( https://docs.docker.com/engine/reference/commandline/run/)
docker run \ -u root \ –rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v
jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
Proceed to the Post-installation setup wizard
(https://jenkins.io/doc/book/installing/#setup-wizard)
Accessing the Jenkins/Blue Ocean Docker container docker exec -it jenkins-blueocean
bash
Accessing the Jenkins console log through Docker logsdocker logs
<docker-container-name>Accessing
the Jenkins home directorydocker exec -it <docker-container-name> bash
Did you ever participate in Prod Deployments? If yes, what
is the procedure?
Yes I have participated, we need to follow the following steps in my point of view
Preparation & Planning : What kind of system/technology was supposed to run on what kind
of machine. The specifications regarding the clustering of systems. How all these stand-alone
boxes were going to talk to each other in a foolproof manner. Production setup should be
documented to bits. It needs to be neat, foolproof, and understandable.
It should have all the system configurations, IP addresses, system specifications, & installation
instructions. It needs to be updated as & when any change is made to the production environment
of the system
My application is not coming up for some reason? How can
you bring it up?
We need to follow the steps:
Network connection
The Web Server is not receiving user‘s request
Checking the logs
Checking the process id‘s whether services are running or not
The Application Server is not receiving user‘s request(Check the Application Server
Logs and Processes)
A network level ‗connection reset‘ is happening somewhere.
Did you automate anything in your project? Please explain
Yes I have automated couple of things such as:
Password expiry automation
Deleting the older log files
Code quality threshold violations etc.
What is IaC? How will you achieve this?
Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines,
load balancers, and connection topology) in a descriptive model, using the same versioning as
the DevOps team uses for source code. This will be achieved by using the tools such as Chef,
Puppet and Ansible etc.
What is multifactor authentication? What is the use of it?
Multifactor Authentication (MFA) is a security system that requires more than one method of
authentication from independent categories of credentials to verify the user‘s identity for a login
or other transaction.
Security for every enterprise user — end & privileged users, internal and external
Protect across enterprise resources — cloud & on-prem apps, VPNs, endpoints, servers,
privilege elevation and more
Reduce cost & complexity with an integrated identity platform
I want to copy the artifacts from one location to another
location in the cloud. How?
Create two S3 buckets, one to use as the source, and the other to use as the destination and then
create policies.
How can I modify the commit message in git?
I have to use the following command and enter the required message.
Git commit –amend
How can you avoid the waiting time for the triggered jobs in
Jenkins.
First I will check the Slave nodes capacity, If it is fully loaded then I will add the slave node by
doing the following process.
Go to the Jenkins dashboard -> Manage Jenkins ->Manage Nodes
Create the new node a By giving the all required fields and launch the slave machine as you
want.
What are the Pros and Cons of Ansible?
Pros:
1. Open Source
2. Agent less
3. Improved efficiency , reduce cost
4. Less Maintenance
5. Easy to understand yaml files
Cons:
1. Underdeveloped GUI with limited features
2. Increased focus on orchestration over configuration management
3. SSH communication slows down in scaled environments
How do you handle merge conflicts in git?
Follow the steps
Create Pull request
Modify according to the requirement by sitting with developers
Commit the correct file to the branch
Merge the current branch with the master branch.
I want to delete 10 days older log files. How can I?
There is a command in unix to achieve this task find <directory_path> -mtime +10 -name
―*.log‖ -exec
rm -f {} \; 2>/dev/null
How do you get the Inventory variables defined for the host?
We need to use the following command:
Ansible – m debug- a ―var=hostvars[‗hostname‘]‖ localhost(10.92.62.215)
How will you take backup for Jenkins?
Copy JENKINS_HOME directory and ―jobs‖ directory to replicate it in another server
How to deploy docker containers to aws?
Amazon provides the service called Amazon Elastic Container Service; By using this creating
and configuring the task definition and services we will launch the applications.
I want to change the default port number of apache tomcat.
How?
Go to the tomcat folder and navigate to the conf folder there you will find a server.xml file. You
can change the connector port tag as you want.
In how many ways can you install the Jenkins?
We can install Jenkins in 3 Ways:
1. By downloading Jenkins archive file
2. By running as a service Java –jar Jenkins.war
3. By deploying Jenkins.war to the webapps folder in tomcat.
How will you run Jenkins job from the command line?
We have a Jenkins CLI from there we need to use the curl command:
curl -X POST -u YOUR_USER:YOUR_USER_PASSWORD
http://YOUR_JENKINS_URL/job/YOUR_JOB/build
How will you do tagging in git?
We have following command to create tags in git Git tag v0.1
How can you connect a container to a network when it
starts?
We need to use a following command:
docker run -itd –network=multi-host-network busybox
How will you code commit and code deploy in the cloud?
Create a deployment environment
Get a copy of the sample code
Create your pipeline
Activate your pipeline
Commit a change and update the App.
How to access variable names in Ansible?
Using hostvars method we can access and add the variables like below:
{{ hostvars[inventory_hostname][‗ansible_‘ + which_interface][‗ipv4‘][‗address‘] }}
What is Infrastructure as Code?
Where the Configuration of any servers or tool chain or application stack required for an
association can be made into progressively elucidating dimension of code and that can be utilized
for provisioning and overseeing foundation components like Virtual Machine, Software,
Network Elements, however it varies from contents utilizing any language, where they are a
progression of static advances coded, where Version control can be utilized so as to follow
condition changes . Precedent Tools are Ansible, Terraform.
What are the zones the Version control can acquire to get
proficient DevOps practice?
A clearly fundamental region of Version Control is Source code the executives, Where each
engineer code ought to be pushed to a typical storehouse for keeping up assemble and discharge
in CI/CD pipelines. Another territory can be Version control For Administrators when they use
Infrastructure as A Code (IAC) apparatuses and rehearses for keeping up The Environment
setup. Another Area of Version Control framework Can be Artifactory Management Using
Repositories like Nexus and DockerHub
Why do Open Source apparatuses support DevOps?
Open Source devices dominatingly utilized by any association which is adjusting (or) embraced
DevOps pipelines in light of the fact that devops accompanied an attention on robotization in
different parts of association manufacture and discharge and change the executives and
furthermore framework the board zones.
So creating or utilizing a solitary apparatus is unthinkable and furthermore everything is
fundamentally an experimentation period of advancement and furthermore coordinated chops
down the advantage of building up a solitary device , so opensource devices were accessible
available practically spares each reason and furthermore gives association a choice to assess the
device dependent on their need.
What is the distinction between Ansible and chef (or)
puppet?
Ansible is Agentless design the board device, where puppet or gourmet expert needs operator
should be kept running on the specialist hub and chef or puppet depends on draw demonstrate,
where your cookbook or show for gourmet expert and puppet separately from the ace will be
pulled by the operator and ansible uses ssh to convey and it gives information driven guidelines
to the hubs should be overseen , progressively like RPC execution, ansible utilizations YAML
scripting, though puppet (or) chef is worked by ruby uses their own DSL .
What is Jinja2 templating in ansible playbooks and their
utilization?
Jinja2 templating is the Python standard for templating , consider it like a sed editorial manager
for Ansible , where it very well may be utilized is when there is a requirement for dynamic
change of any config record to any application like consider mapping a MySQL application to
the IP address of the machine, where it is running, it can‘t be static , it needs modifying it
progressively at runtime. Arrangement. The vars inside the supports are supplanted by ansible
while running utilizing layout module.
What is the requirement for sorting out playbooks as the
job, is it vital?
Arranging playbooks as jobs , gives greater clarity and reusability to any plays , while consider
an errand where MySQL establishment ought to be done after the evacuation of Oracle DB , and
another prerequisite is expected to introduce MySQL after java establishment, in the two cases
we have to introduce MySQL , yet without jobs need to compose playbooks independently for
both use cases , yet utilizing jobs once the MySQL establishment job is made can be used any
number of times by summoning utilizing rationale in site.yaml .
No, it isn‘t important to make jobs for each situation, however making jobs is the best practice in
Ansible.
What is the fundamental disservice of Docker holders?
As the lifetime of any compartments is while pursuing a holder is wrecked you can‘t recover any
information inside a compartment, the information inside a compartment is lost perpetually,
however tenacious capacity for information inside compartments should be possible utilizing
volumes mounted to an outer source like host machine and any NFS drivers.
What are the docker motor and docker form?
Docker motor contacts the docker daemon inside the machine and makes the runtime condition
and procedure for any compartment, docker make connects a few holders to shape as a stack
utilized in making application stacks like LAMP, WAMP, XAMP
What are the Different modes a holder can be run?
Docker holder can be kept running in two modes Connected: Where it will be kept running in the
forefront of the framework you are running, gives a terminal inside to compartment when – t
choice is utilized with it, where each log will be diverted to stdout screen.
Isolates: This mode is typically kept running underway, where the holder is confined as a
foundation procedure and each yield inside a compartment will be diverted log records
inside/var/lib/docker/logs/<container-id>/<container-id.json> and which can be seen by docker
logs order.
What will the yield of docker assess order be?
Docker examines <container-id> will give yield in JSON position, which contains subtleties like
the IP address of the compartment inside the docker virtual scaffold and volume mount data and
each other data identified with host (or) holder explicitly like the basic document driver utilized,
log driver utilized.
docker investigate [OPTIONS] NAME|ID [NAME|ID…]
Choices Name, shorthand Default Description
group, – f Format the yield utilizing the given Go layout
measure, – s Display all out document sizes if the sort is the compartment type Return JSON for
a predefined type
What order can be utilized to check the asset usage by
docker holders?
Docker details order can be utilized to check the asset usage of any docker holder, it gives the
yield practically equivalent to Top direction in Linux, it shapes the base for compartment asset
observing instruments like a counsel, which gets yield from docker details order.
docker details [OPTIONS] [CONTAINER…]
Choices Name, shorthand Default Description
all, – a Show all holders (default demonstrates simply running)
group Pretty-print images utilizing a Go layout
no-stream Disable spilling details and just draw the main outcome
no-trunc Do not truncate yield
How to execute some errand (or) play on localhost just while
executing playbooks in various ways on ansible?
In ansible, there is a module called delegate_to, in this module area give the specific host (or)
where your errands (or) assignment should be run. undertakings:
name: ‖ Elasticsearch Hitting‖
uri: url=‘_search?q=status:new‘ headers='{―Content-type‖:‖application/json‖}‘ method=GET
return_content=yes
register: yield
delegate_to: 127.0.0.1
What is the distinction between set_fact and vars in ansible?
Where a set_fact sets the incentive for a factor at one time and stays static, despite the fact that
the esteem is very powerful and vars continue changing according to the esteem continues
changing for the variable.
assignments:
set_fact:
fact_time: ―Truth: ‖
troubleshoot: var=fact_time
order: rest 2
troubleshoot: var=fact_time
assignments:
name: queries in factors versus queries in realities
has: localhost
vars:
var_time: ―Var: ‖
Despite the fact that the query for the date has been utilized in both the cases, wherein the vars
are utilized it modifies dependent on an opportunity to time each time executed inside the
playbook lifetime. Be that as it may, Fact dependably continues as before once query is finished
What is a query in ansible and what are query modules
bolstered by ansible?
Query modules enable access to information in Ansible from outside sources. These modules are
assessed on the Ansible control machine and can incorporate perusing the filesystem yet in
addition reaching outside information stores and administrations.
Organization is {lookup{‗<plugin>‘,'<source(or)connection_string>‘}}
A portion of the query modules upheld by ansible are Document
pipe
redis
jinja layouts
etcd kv store
How might you erase the docker images put away at your
nearby machine and how might you do it for every one of the
images without a moment‟s delay?
The direction docker RMI <image-id> can be utilized to erase the docker image from nearby
machine, though a few images may should be constrained in light of the fact that the image
might be utilized by some other holder (or) another image , to erase images you can utilize the
mix of directions by docker RMI $(docker images – q), where docker images will give the
docker image names, to get just the ID of docker images just , we are utilizing – q switch with
docker images order.
What are the organizers in the Jenkins establishment and
their job?
JENKINS_HOME – which will be/$JENKINS_USER/.jenkins it is the root envelope of any
Jenkins establishment and it contains subfolders each for various purposes.
jobs/ – Folder contains all the data pretty much every one of the occupations arranged in the
Jenkins example.
Inside jobs/, you will have the envelope made for each activity and inside those organizers, you
will have fabricate organizers as indicated by each form number each form will have its log
records, which we see in Jenkins web support.
Modules/ – where all your modules will be recorded.
Workspace/ – this will be available to hold all the workspace documents like your source code
pulled from SCM.
Q98) What are the approaches to design Jenkins framework?
Jenkins can be designed in two different ways
Web: Where there is a choice called design a framework, in their area, you can make all setup
changes.
Manual on filesystem: Where each change should likewise be possible straightforwardly on the
Jenkins config.xml document under the Jenkins establishment catalog, after you make changes
on the filesystem, you have to restart your Jenkins, either can do it specifically from terminal (or)
you can utilize. Reload setup from plate under Jenkins menu or you can hit/restart endpoint
straightforwardly.
What is the job Of HTTP REST API in DevOps?
As DevOps is absolutely centers around Automating your framework and gives changes over the
pipeline to various stages like an every CI/CD pipeline will have stages like form, test, mental
soundness test, UAT, Deployment to Prod condition similarly as with each phase there are
diverse devices is utilized and distinctive innovation stack is displayed and there should be an
approach to incorporate with various instrument for finishing an arrangement toolchain, there
comes a requirement for HTTP API , where each apparatus speaks with various devices utilizing
API , and even client can likewise utilize SDK to interface with various devices like BOTOX for
Python to contact AWS API‘s for robotization dependent on occasions , these days its not cluster
handling any longer , it is generally occasion driven pipelines
What are Micro services, and how do they control proficient
DevOps rehearses?
Where In conventional engineering , each application is stone monument application implies that
anything is created by a gathering of designers, where it has been sent as a solitary application in
numerous machines and presented to external world utilizing load balances, where the micro
services implies separating your application into little pieces, where each piece serves the
distinctive capacities expected to finish a solitary exchange and by separating , designers can
likewise be shaped to gatherings and each bit of utilization may pursue diverse rules for
proficient advancement stage, as a result of spry improvement ought to be staged up a bit and
each administration utilizes REST API (or) Message lines to convey between another
administration. So manufacture and arrival of a non-strong form may not influence the entire
design, rather, some usefulness is lost, that gives the confirmation to productive and quicker
CI/CD pipelines and DevOps Practices.
What are the manners in which a pipeline can be made in
Jenkins?
There are two different ways of a pipeline can be made in Jenkins Scripted Pipelines:
Progressively like a programming approach
Explanatory pipelines:
DSL approach explicitly to make Jenkins pipelines.
The pipeline ought to be made in Jenkins document and the area can be in SCM.
Definitive and Scripted Pipelines are developed on a very basic level in an unexpected way.
Definitive Pipeline is a later element of Jenkins Pipeline which: gives more extravagant
grammatical highlights over Scripted Pipeline language structure, and is intended to make
composing and perusing Pipeline code less demanding.
What are the Labels in Jenkins and where it tends to be
used?
Similarly as with CI/CD arrangement should be concentrated , where each application in the
association can be worked by a solitary CI/CD server , so in association there might be various
types of utilization like java, c#,.NET and so forth, likewise with microservices approach your
programming stack is inexactly coupled for the task , so you can have Labeled in every hub and
select the choice Only assembled employments while name coordinating this hub, so when a
build is planned with the mark of the hub present in it, it hangs tight for next agent in that hub to
be accessible, despite the fact that there are different agents in hubs.
What is the utilization of Blueocean in Jenkins?
Blue Ocean reconsiders the client experience of Jenkins. Planned from the beginning for Jenkins
Pipeline, yet at the same time good with free-form occupations, Blue Ocean diminishes mess and
builds lucidity for each individual from the group. It gives a complex UI to recognize each phase
of the pipeline and better pinpointing for issues and extremely rich Pipeline editorial manager for
apprentices.
What are the callback modules in Ansible, give a few
instances of some callback modules?
Callback modules empower adding new practices to Ansible when reacting to occasions. Of
course, callback modules control a large portion of the yield you see when running the direction
line programs, however can likewise be utilized to include an extra yield, coordinate with
different apparatuses and marshall the occasions to a capacity backend. So at whatever point a
play is executed and after it creates a few occasions, those occasions are imprinted onto the
Stdout screen, so the callback module can be put into any capacity backend for log preparation.
Model callback modules are ansible-logstash, where each playbook execution is brought by
logstash in the JSON group and can be incorporated in some other backend source like
elasticsearch.
What are the scripting scripts that can be utilized in
DevOps?
As with scripting scripts, the fundamental shell scripting is utilized to construct ventures in
Jenkins pipelines and python contents can be utilized with some other devices like Ansible ,
terraform as a wrapper content for some other complex choice unraveling undertakings in any
mechanization as python is more unrivaled in complex rational deduction than shell contents and
ruby contents can likewise be utilized as fabricate ventures in Jenkins.
What is Continuous Monitoring and why checking is basic in
DevOps?
DevOps draws out each association capacity of fabricate and discharge cycle to be a lot shorter
with an idea of CI/CD, where each change is reflected into generation conditions fastly, so it
should be firmly observed to get client input. So the idea of constant checking has been utilized
to assess every application execution progressively (at any rate Near Real Time) , where every
application is produced with application execution screen specialists perfect and the granular
dimension of measurements are taken out like JVM details and even practical savvy
measurements inside the application can likewise be spilled out progressively to Agents , which
thusly provides for any backend stockpiling and that can be utilized by observing groups in
dashboards and cautions to get persistently screen the application.
Give a few instances of persistent observing instruments?
Where numerous persistent observing instruments are accessible in the market, where utilized for
an alternate sort of use and sending model Docker compartments can be checked by consultant
operator, which can be utilized by Elasticsearch to store measurements (or) you can utilize TICK
stack (Telegraph, influxdb, Chronograph, Capacitor) for each framework observing in NRT(Near
Real Time) and You can utilize Logstash (or) Beats to gather Logs from framework , which
thusly can utilize Elasticsearch as Storage Backend can utilize Kibana (or) Grafana as visualizer.
The framework observing should be possible by Nagios and Icinga.
What is docker swarm?
Gathering of Virtual machines with Docker Engine can be grouped and kept up as a solitary
framework and the assets likewise being shared by the compartments and docker swarm ace
calendars the docker holder in any of the machines under the bunch as indicated by asset
accessibility Docker swarm init can be utilized to start docker swarm bunch and docker swarm
joins with the ace IP from customer joins the hub into the swarm group.
What are Microservices, and how do they control productive
DevOps rehearses?
Where In conventional engineering , each application is stone monument application implies that
anything is created by a gathering of designers, where it has been conveyed as a solitary
application in numerous machines and presented to external world utilizing load balancers,
where the microservices implies separating your application into little pieces, where each piece
serves the diverse capacities expected to finish a solitary exchange and by separating , engineers
can likewise be shaped to gatherings and each bit of utilization may pursue distinctive rules for
proficient advancement stage, on account of light-footed improvement ought to be staged up a
bit and each administration utilizes REST API (or) Message lines to impart between another
administration. So manufacture and arrival of a non-hearty variant may not influence the entire
design, rather, some usefulness is lost, that gives the affirmation to proficient and quicker CI/CD
pipelines and DevOps Practices.
What are the manners in which a pipeline can be made in
Jenkins?
There are two different ways of a pipeline can be made in Jenkins Scripted Pipelines:
Progressively like a programming approach
Explanatory pipelines:
DSL approach explicitly to make Jenkins pipelines.
The pipeline ought to be made in Jenkins record and the area can either be in SCM or
neighborhood framework.
Definitive and Scripted Pipelines are developed in a general sense in an unexpected way.
Explanatory Pipeline is a later element of Jenkins Pipeline which: gives more extravagant
linguistic highlights over Scripted Pipeline sentence structure, and is intended to make
composing and perusing Pipeline code simpler.
What are the Labels in Jenkins and where it very well may
be used?
Likewise with CI/CD arrangement should be incorporated , where each application in the
association can be worked by a solitary CI/CD server , so in association there might be various
types of use like java, c#,.NET and so forth, similarly as with microservices approach your
programming stack is inexactly coupled for the undertaking , so you can have Labeled in every
hub and select the alternative Only assembled occupations while mark coordinating this hub, so
when a fabricate is booked with the name of the hub present in it, it sits tight for next agent in
that hub to be accessible, despite the fact that there are different agents in hubs.
What is the utilization of Blueocean in Jenkins?
Blue Ocean reexamines the client experience of Jenkins. Planned starting from the earliest stage
for Jenkins Pipeline, yet at the same time good with free-form occupations, Blue Ocean lessens
the mess and expands clearness for each individual from the group. It gives modern UI to
recognize each phase of the pipeline and better pinpointing for issues and rich Pipeline
proofreader for fledglings.
What are the callback modules in ansible, give a few
of some callback modules?
Callback modules empower adding new practices to Ansible when reacting to occasions. As a
matter of course, callback modules control the greater part of the yield you see when running the
direction line programs, yet can likewise be utilized to include an extra yield, coordinate with
different instruments and marshall the occasions to a capacity backend. So at whatever point a
play is executed and after it delivers a few occasions, those occasions are imprinted onto the
Stdout screen, so the callback module can be put into any capacity backend for log handling.
Precedent callback modules are ansible-logstash, where each playbook execution is gotten by
logstash in the JSON position and can be incorporated in some other backend source like
elasticsearch.
What scripting languages can be utilized in DevOps?
As with scripting languages, the fundamental shell scripting is utilized to assemble ventures in
Jenkins pipelines and python contents can be utilized with some other instruments like Ansible.
For what reason is each instrument in DevOps generally has
some DSL (Domain Specific Language)?
Devops is a culture created to address the necessities of lithe procedure, where the advancement
rate is quicker ,so sending should coordinate its speed and that needs activities group to arrange
and work with dev group, where everything can computerize utilizing content based , however it
feels more like tasks group than , it gives chaotic association of any pipelines, more the
utilization cases , more the contents should be composed , so there are a few use cases, which
will be sufficient to cover the requirements of light-footed are taken and apparatuses are made by
that and customization can occur over the device utilizing DSL to mechanize the DevOps
practice and Infra the board.
What are the clouds that can be incorporated with Jenkins
and what are the utilization cases?
Jenkins can be coordinated with various cloud suppliers for various use cases like dynamic
Jenkins slaves, Deploy to cloud conditions. A portion of the cloud can be incorporated are AWS,
Google Cloud, OpenStack
What are Docker volumes and what sort of volume ought to
be utilized to accomplish relentless capacity?
Docker volumes are the filesystem mount focuses made by client for a compartment or a volume
can be utilized by numerous holders, and there are distinctive sorts of volume mount accessible
void dir, Post mount, AWS upheld lbs volume, Azure volume, Google Cloud (or) even NFS,
CIFS filesystems, so a volume ought to be mounted to any of the outer drives to accomplish
determined capacity, in light of the fact that a lifetime of records inside compartment, is as yet
the holder is available and if holder is erased, the information would be lost.
What Artifacts store can be incorporated with Jenkins?
Any sort of Artifacts vault can be coordinated with Jenkins, utilizing either shell directions (or)
devoted modules, some of them are Nexus, Jfrog.
What are a portion of the testing apparatuses that can be
coordinated with Jenkins and notice their modules?
Sonar module – can be utilized to incorporate testing of Code quality in your source code.
Execution module – this can be utilized to incorporate JMeter execution testing.
Junit – to distribute unit test reports.
Selenium module – can be utilized to incorporate selenium for computerization testing.
What are the build triggers accessible in Jenkins?
Fabricates can be run physically (or) either can naturally be activated by various sources like
Webhooks – The webhooks are API calls from SCM, at whatever point a code is submitted into
a vault (or) should be possible for explicit occasions into explicit branches.
Gerrit code survey trigger – Gerrit is an open source code audit instrument, at whatever point a
code change is endorsed after the audit construct can be activated.
Trigger Build Remotely – You can have remote contents in any machine (or) even AWS
lambda capacities (or) make a post demand to trigger forms in Jenkins. Calendar Jobs-Jobs can
likewise be booked like Cron occupations.
Survey SCM for changes – Where your Jenkins searches for any progressions in SCM for the
given interim, if there is a change, a build can be activated.
Upstream and Downstream Jobs – Where a construct can be activated by another activity that
is executed already.
How to Version control Docker images?
Docker images can be form controlled utilizing Tags, where you can relegate the tag to any
image utilizing docker tag <image-id> order. Furthermore, on the off chance that you are
pushing any docker center library without labeling the default label would be doled out which is
most recent, regardless of whether an image with the most recent is available, it indicates that
image without the tag and reassign that to the most recent push image.
What is the utilization of the Timestamper module in
Jenkins?
It adds Timestamp to each line to the comfort yield of the assembler.
Why you ought not execute an expansion on ace?
You can run an expand on ace in Jenkins , yet it isn‘t prudent, in light of the fact that the ace as
of now has the duty of planning assembles and getting incorporate yields with JENKINS_HOME
index, so on the off chance that we run an expand on Jenkins ace, at that point it furthermore
needs to manufacture apparatuses, and workspace for source code, so it puts execution over-
burden in the framework, if the Jenkins ace accidents, it expands the downtime of your fabricate
and discharge cycle.
What are the main benefits of DevOps?
With a single team composed of cross-functional comments simply working in collaboration,
DevOps organizations container produce including maximum speed, functionality, including
innovation. Where continue special benefits: Continuous software control. Shorter complexity to
manage.
What are the uses of DevOps tools?
Gradle – Your DevOps device stack will need a reliable build tool.
Git – Git is one from the most successful DevOps tools, widely applied across the
specific software industry.
Jenkins – Jenkins is that go-to DevOps automation tool for many software community
teams.
Bamboo.
Docker.
Kubernetes.
Puppet Enterprise.
Ansible.
What is a DevOps beginner?
DevOps is a society which supports collaboration between Development including Operations
Team to deploy keys to increase faster in an automated & repeatable way. In innocent words,
DevOps backside is established as an association of development and IT operations including
excellent communication and collaboration.
What are the roles and responsibilities of the DevOps
engineer?
DevOps Engineer manages with developers including the IT system to manage the code releases.
They are both developers who become interested in deployment including practice settings or
sysadmins who convert a passion for scripting and coding to move toward the development front
where all can improve that planning from test and deployment.
Which are the top DevOps tools? Which tools have you
worked on?
Discover about the trending Top DevOps Tools including Git. Well, if you live considering
DevOps being a tool when, you are wrong! DevOps is not a tool or software, it‘s an appreciation
that you can adopt for continuous growth. file and, by practicing it you can simply coordinate
this work among your team.
Explain the typical characters involved in DevOps?
Commitment to the superior level in the organization.
Need for silver to be delivered across the organization.
Version check software.
Automated tools to compliance to process.
Automated Testing
Automated Deployment
What are your expectations from a career perspective of
DevOps?
To be involved in the end to end delivery method and the most important phase of helping to
change the manner so as to allow that development and operations teams to go together also
understand each other‘s point of view.
What does configuration management under terms like
infrastructure further review some popular tools used?
In Software Engineering Software Configuration Management is a unique task about tracking to
make the setting configuration during the infrastructure with one change. It is done for
deploying, configuring and maintaining servers.
How will you approach when each design must implement
DevOps?
As the application is generated and deployed, we do need to control its performance. Monitoring
is also really important because it might further uncover some defects which might not have been
detected earlier.
Explain about from Continuous Testing
From the above goal of Continuous Integration which is to take this application excuse to close
users are primarily providing continuous delivery. This backside is completed out of any
adequate number about unit testing and automation testing. Hence, we must validate that this
system created and integrated with all the developers that work as required.
Explain about Continuous Delivery.
Continuous Delivery means an extension of Constant Integration which primarily serves to make
the features which some developers continue developing out on some end users as soon as
possible. During this process, it passes through several stages of QA, Staging etc., and before for
delivery to the PRODUCTION system.
What are the tasks and responsibilities of a DevOps
engineer?
In this role, you‘ll work collaboratively including software engineering to use and operate our
systems. Help automate also streamline our procedures and processes. Build also maintains tools
for deployment, monitoring, including operations. And troubleshoot and resolve problems in our
dev, search and production environments.
What is a defined DevOps engineer should know?
DevOps Engineer goes including developers and IT staff to manage these code releases. They
live both developers who become involved through deployment including web services or
sysadmins that become a passion for scripting and coding and move into the development design
where only can develop this planning from search and deployment.
How much money any DevOps engineer makes?
A lead DevOps engineer can get between $137,000 including $180,000, according to April 2018
job data of Glassdoor. The common salary from any lead DevOps engineer based at the Big
Apple is $141,452.
What mean the specific skills required for a DevOps
engineer?
While tech abilities are a must, strong DevOps engineers further possess this ability to
collaborate, multi-task, and also always place that customer first. critical skills that all DevOps
engineer requirements for success.
What is DevOps also why is it important?
Implementing the new approach would take in many advantages on an organization. A seamless
collection up can be performed in the teams of developers, test managers, and operational
executives also hence they can work in collaboration including each other to achieve a greater
output on a project.
What is meant by DevOps lifecycle?
DevOps means an agile connection between development including operations. It means any
process followed by this development because of helping drivers clean off the starting of this
design to production support. Understanding DevOps means incomplete excuse estimated
DevOps lifecycle. Tools for an efficient DevOps workflow. A daily workflow based at DevOps
thoughts allows team members to achieve content faster, be flexible just to both experiments and
deliver value, and also help each part of this organization use a learning mentality.
Can you make DevOps without agile?
DevOps is one about some key elements to assist you to achieve this. Can you do agile software
evolution without doing DevOps But managing agile software development and being agile are a
couple really different things.
What exactly defined is DevOps?
DevOps is all about bringing together the structure and process of traditional operations, so being
supported deployment, including any tools, also practices of traditional construction methods
such as source control and versioning.
Need for Continuous Integration:
Improves the quality of software.
Reduction in time taken to delivery
Allows dev team to detect and locate problems early
Success factor for the Continuous Integration
Maintain Code Repository
Automate the build
Perform daily checkin and commits to baseline
Test in clone environment
Keep the build fast
Make it easy to get the newest deliverables
Can we copy Jenkins job from one server to another server?
Yes, we can do that using one of the following ways:
We can copy the Jenkins jobs from one server to another server by copying the
corresponding jobs folder.
We can make a copy of the existing job by making clone of a job directory with different
names
Rename the existing job by renaming the directory
How can we create the backup and copy in Jenkins?
We can copy or backup, we need to back up the JENKINS_HOME directory which contains the
details of all the job configurations, build details etc.
Difference between “poll scm” and “build periodically”
Poll SCM will trigger the build only if it detects the change in SCM, whereas Build Periodically
will trigger the build once the given time period is elapsed.
What is the difference between docker image and docker
container?
Docker image is a readonly template that contains the instructions for a container to start.
Docker container is a runnable instance of a docker image
What is Application Containerization?
It is a process of OS Level virtualization technique used to deploy the application without
launching the entire VM for each application where multiple isolated applications or services can
access the same Host and run on the same OS.
Docker syntax for building docker image
docker build –f <filename> -t imagename:version
Running docker image
docker run –dt –restart=always –p <hostport>:<containerport> -h <hostname> -v
<hostvolume>:<containervolume> imagename:version
How to log into a container?
docker exec –it <containerID> /bin/bash
What is Puppet?
Puppet is a Configuration Management tool, Puppet is used to automate administration tasks.
What is Configuration Management?
Configuration Management is the System engineering process. Configuration Management
applied over the life cycle of a system provides visibility and control of its performance,
functional, and physical attributes recording their status and in support of Change Management.
List the Software Configuration Management Features.
Enforcement
Cooperating Enablement
Version Control Friendly
Enable Change Control Processes
List out the 5 Best Software Configuration Management
Tools.
CFEngine Configuration Tool.
CHEF Configuration Tool
Ansible Configuration Tool
Puppet Configuration Tool.
SALTSTACK Configuration Tool.
Why should Puppet be chosen?
It has good community support
Easy to Learn Programming Language DSL
It is open source
What is Saltstack?
SaltStack is based on Python programming & Scripting language. It‘s also a configuration tool.
Saltstack works on a non-centralized model or a master-client setup model. it provides a push
and SSH methods to communicate with clients.
Why should Puppet be chosen?
There are Some Reasons to be chosen.
Puppet is open source
Easy to Learn Programming Language DSL
Puppet has good community support
Advantages of VCS
Multiple people can work on the same project and it helps us to keep track of the files and
documents and their changes.
We can merge the changes from multiple developers to a single stream.
Helps us to revert to the earlier version if the current version is broken.
Helps us to maintain multiple versions of the software at the same location without
rewriting.
Advantages of DevOps
Below are the major advantages Technical:
Continuous software delivery
Less Complexity
Faster Resolution
Business:
Faster delivery of the features
More stable operating environment
Improved communication and collaboration between various teams
Use cases where we can use DevOps
Explain the legacy / old procedures that are followed to develop and deploy software Problems
of that approach How can we solve the above issues using DevOps.
For the 1st and 2nd points, development of the application, problems in build and deployment,
problems in operations, problems in debugging and fixing the issues.
For 3rd point, explain various technologies we can use to ease the deployments, for
development, explain about taking small features and development, how it helps for testing and
issue fixing.
Major difference between Agile and DevOps
Agile is the set of rules/principles and guidelines about how to develop a software. There are
chances that this developed software works only in the developer‘s environment. But to release
that software to public consumption and deploy in a production environment, we will use the
DevOps tools and Techniques for the operation of that software. In a nutshell, Agile is the set of
rules for the development of a software, but DevOps focus more on Development as well as
Operation of the Developed software in various environments.
What Are the Benefits Of NoSQL?
Non-relationals and schema-less data models
Low latency and high performance
Highly scalable
What Are Adoptions Of DevOps In Industry?
Use of the agile and other development processes and methods.
Demand for an increased rate of the production releases from application and business.
Wide availability of virtuals and cloud infrastructure from both internal and external
providers;
Increased usage of the data center ,automation and configuration management tools;
Increased focus on the test automation and continuous integration methods;
Best practices on the critical issues.
How Is the Chef Used As a Cm Tool ?
Chef is considered to be one of the preferred industry-wide CM tools. Facebook migrated its
infrastructure and backend IT to the Chef platform, for example. Explain how the Chef helps you
to avoid delays by automating processes. The scripts are written in Ruby. It can integrate with
cloud-based platforms and configure new systems. It provides many libraries for the
infrastructure development that can later be deployed within a software. Thanks to its centralized
management system, one of the Chef servers is enough to be used as the center for deploying
various policies.
Why Are the Configuration Management Processes And
Tools Important ?
Talk about multiple software builds, releases, revisions, and versions for each other software or
testware that is being developed. Move on to explain the need for storing and maintaining data,
keeping track of the development builds and simplified troubleshooting. Don‘t forget to mention
key CM tools that can be used to achieve these objectives. Talk about how tools like Puppet,
Ansible, and Chef help in automating software deployment and configuration on several servers.
Which Are the Some Of the Most Popular DevOps Tools ?
The most popular DevOps tools included`
Selenium
Puppet
Chef
Git
Jenkins
Ansible
GitLab
Terraform
What Are the Vagrant And Its Uses?
Vagrant used the virtual box as the hypervisor for virtual environments and in the current
scenario it is also supporting the KVM. Kernel-based Virtual Machine. Vagrant is a tool that can
create and manage environments for testing and developing software.
How to Devops Is Helpful To Developers ?
To fix the bug and implement new features quickly. It provides clarity of communications
among team members.
Name of The Popular Scripting Language Of the Devops ?
Python
List of The Agile Methodology Of the DevOps?
DevOps is a process
Agile is the same as DevOps.
Separate groups are framed.
It is problem solving.
Developers managing production
DevOps is the development-driven release management
Which Are The Areas of DevOps you have Implemented?
Production Development
Creation of the productions feedback and its development
IT Operations development
The Scope For SSH ?
SSH is a Secure Shell which provides users with a secure, encrypted mechanism to log
into systems and transfer files.
To log out the remote machine and work on the command line.
To secure the communications between two hosts over an insecure network.
What Are The Advantages Of DevOps With Respect To the
Technical And Business Perspective?
Software delivery is continuous.
Reduces Complexity in problems.
Faster approach to resolve problems
Manpower is reduced.
Business benefits
High rate of delivering its features
Stable operating environments
More time gained to Add values.
Enabling faster feature time to market
What Are The Core Operations Of the DevOps In Terms Of
the Development And Infrastructure ?
The core operations of DevOps
Application development
Code developing
Code coverage
Unit testing
Packaging
Deployment With infrastructure
Provisioning
Configuration
Orchestration
Deployment
What Are The Anti-patterns Of DevOps?
A pattern is common usage usually followed. If a pattern commonly adopted by others does not
work for your organization and you continue to blindly follow it, you are essentially adopting an
anti-pattern. There are myths about DevOps. Some of them include:
DevOps is a process
Agile equals DevOps
We need a separate DevOps group
Devops will solve all our problems
DevOps means Developers Managing Production
DevOps is Development-driven release management
DevOps is not development driven.
DevOps is not IT Operations driven.
We can‘t do DevOps – We‘re Unique
We can‘t do DevOps – We‘re got the wrong people
What are The Most Important Things DevOps Helps Us
Achieve?
The most important thing that the DevOps helps us achieve is to get the changes into production
as quickly as possible while minimizing risks in software quality assurance and compliance. This
is the primary objective of DevOps.
For example clear communication and better working relationships between teams i.e. both of
the Ops team and Dev team collaborate together to deliver good quality software which in turn
leads to higher customer satisfaction.
How Can Make a Sure New Service Is Ready For The
Products Launched?
Backup System
Recovery plans
Load Balancing
Monitoring
Centralized logging
How do All These Tools Work Together?
Given below is a generic logic of the flow where everything gets automated for seamless
delivery. However, its flow may vary from organization to the organization as per the
requirement. Developers develop the code and this source code is managed by the Version
Control System of the tools like Git etc. Developers send to this code of the Git repository and
any changes made in the code are committed to this Repository.
Jenkins pulls this code from the repository using the Git plugin and builds it using tools like Ant
or Maven. Configuration management tools like puppet deploy & provisions testing environment
and then Jenkins releases this code on the test to the environment on which testing is done using
tools like selenium.
Once the code is tested, Jenkins sends it for the deployment on production to the server (even
production servers are provisioned & maintained by tools like puppet). After deployment Its
continuously monitored by tools like Nagios. Docker containers provide a testing environment to
test the build features.
Which Are The Top Devops Tools?
The most popular DevOps tools are mentioned below
Git Version Control System tool
Jenkins Continuous Integration tool
Selenium Continuous Testing tool
Puppet, Chef, Ansible are Configuration Management and Deployment tools
Nagios Continuous Monitoring tool
Docker Containerization tool
How to DevOps Different From Agile & SDLC?
Agile are the set of the values and principles about how to produce i.e. develop software.
Example if you have some ideas and you want to turn those ideas into working software, you can
use the Agile values as principles as a way to do that. But, that software might only be working
on a developer‘s laptop or in a test environment. You want a way to quickly, easily and
repeatedly move that software into the production infrastructure, in a safe and simple way. To do
that you need DevOps tools and techniques.
You can summarize by saying Agile of the software development methodology focuses on the
development for software but DevOps on the other hand is responsible for the development as
well as deployment of the software to the safest and most reliable way possible. Here‘s a blog
that will give you more information on the evolutions of DevOps.
What Is The Need For DevOps?
According to me, this should start by explaining the general market trend. Instead of releasing
big sets of the features, companies are trying to see if small features can be transported to their
customers through a series of release trains. This has many advantages like quick feedback from
the customers, better quality of the software etc. which in turn leads to high customer
satisfaction.
To achieve this, companies are required to:
Increase deployment frequency
Lower failure rate of new releases
Shortened lead time between fixes
Faster mean time to recovery of the event of new release crashing
What is meant by Continuous Integration?
It‘s the development practice that requires developers to integrate code into a shared repository
several times a day. Each check-in is then verified by an automated build, allowing teams to
detect problems early.
Mention some of the useful plugins in Jenkins.
Below, I have mentioned some important are Plugins:
Maven 2 project
Amazon EC2
HTML publisher
Copy artifact
Join
Green Balls
What is Version control?
It‘s the system that records changes to the file or set of the files over time so that you can recall
specific versions later.
What are the uses of Version control ?
Revert files back to a previous state. Revert the entire project back to a previous state. Compare
changes over time.
See who last modified something that might be causing a problem.
Who introduced an issue and when.
What are the containers?
Containers are lightweight virtualization, heavier than ‗chroot‘ but lighter than ‗hypervisors‘.
They provide isolation among processes
What is meant by Continuous Integration?
It is a development practice that requires developers to integrate code into the shared repository
several times a day.
What‟s a PTR in DNS?
Pointer (PTR) record to use for the reverse DNS (Domain Name System) lookup.
What testing is necessary to insure a new service is ready for
production?
UAT & Continuous testing
What is Continuous Testing?
It is the process of executing on tests as part of the software delivery pipelines to obtain can
immediate for feedback is the business of the risks associated with in the latest build.
What is Automation Testing?
Automation testing or Test Automation is a process of automating that manual process to test the
application/system under test.
What are the key elements of continuous testing?
Risk assessments, policy analysis, requirements traceability, advanced analysis, test optimisation,
and service virtualization
What are the Testing types supported by Selenium?
Regression testing and functional testing
What is Puppet?
It is a Configuration Management tool which is used to automate administration of the tasks.
How does HTTP work?
The HTTP protocol works in a client and server model like most other protocols. A web browser
using which a request is initiated is called as a client and a web server software which responds
to that request is called a server. World Wide Web Consortium of the Internet Engineering Task
Force are two importants spokes of the standardization of the HTTP protocol.
Describe two-factor authentication?
Two-factor authentication is the security process in which the user provides two means of
identification from separate categories of credentials.
What is git add?
Adds the file changes to the staging area
What is git commit?
Commits the changes to the HEAD (staging area)
What is git push?
Sends the changes to the remote repository
What is git checkout?
Switch branch or restore working files
Creates a branch
What is git fetch?
Fetch the latest history from the remote server and updates the local repo
What is git merge?
Joins two or more branches together
What is git pull?
Fetch from and integrate with another repository or a local branch (git fetch + git merge)
What is git rebase?
Process of moving or combining a sequence of commits to a new base commit
What is git revert?
To revert a commit that has already been published and made public
What is git clone?
Clones the git repository and creates a working copy in the local machine
What is the difference between the Ansible Playbook book and the Roles?
The roles are a restructured entity of a play. Plays are on playbooks.
Roles are a set of functions to accomplish the specific role. Playbooks maps between hosts and
roles.
Example: Common, Winners. Example: site.yml, fooservers.yml, web servers.yml.
How do I see all the ansible_ variables list?
By naturally collecting ―facts‖ about the machines, these facts can be accessed in Playbooks and
in templates. To see a list of all the facts about a computer, you can run a ―setup‖ block as an ad
hoc activity:
Ansible -m system hostname. It will print a dictionary of all the facts available for that particular
host.
What is Docker?
Docker is a container technology that connects your application and all its functions into the
form of containers to ensure that you are running uninterrupted in any situation of your use.
What is a scrum?
Using scrime based on your complex software and product development task as small particles,
it uses reboots and additional procedures. Each replay is two weeks. Scrum has three characters:
product owner, scrum master and team
Purpose for SSH?
SSH is a secure shell that allows users to login to a secure, encrypted mechanism into computers
and transmitting files.Exit the remote machine and work on the command line. Protect encrypted
communications between the two hosts on an unsafe network.
The top capabilities of a person in the position of DevOps
should be?
The best in system administration
Virtualization experience
Good technical skills
Great script
Good development skills
Chef in the automation tool experience
People management
Customer service
Real-time cloud movements
DevOps Interview Questions (FAQ) Bonus
1. Explain briefly about your project.
2. In which area you are well verse?
3. What is branching strategies? What is difference between release and feature branch?
4. What is code cut for deployment in master branch?
5. How to code will be add from feature branch to release branch?
6. Explain different job available in Jenkins.
7. How to create CI and CD pipeline? Explain stages in pipeline.
8. How master-slave configuration set-up and how to use in pipeline?
9. What is Maven and which version you are using in project?
10. What are Maven dependencies and how to manage those?
11. What are different goals in Maven lifecycle?
12. What is code coverage and which tool you use to validate code coverage?
13. Are you using any build artifactory?
14. What is build artifactory and why use artfifactory?
15. Which application and webserver used in your project?
16. Explain docker architecture. Difference between docker and K8S.
17. Explain image layers and dangling images.
18. How you monitor application logs and which tool you used?
19. How can SSH in container and troubleshoot the issue?
20. Are you aware about docker networking? If yes, then explain.
21. Apart from above Application and webserver which you are aware?
22. What is Ansible architecture and how to set-up password based authentication?
23. What is your approach to deploy war file using ansible? List down the steps.
24. How to configure the Jenkins with ansible?
25. Can we use Kubernetes without Ansible? If yes, then how?
26. What mean by roles, task and handlers in Ansible? Give me example of ansible playbook.
27. If you want to deploy any war file in production what are your approach(pre-requisite) ?
28. How to manage Jenkins administration based on user profile.
29. What are different securities level option in AWS?
30. What are fundamental pillars of AWS architecture?
31. What is SG and ACL? Are those same or different?
32. Which lib use for python with aws?
33. Which types of instances you used in your project? What is disaster recovery plan for the
project?
34. What mean by SSL certificate? Why to use it?
35. Have you experience in to configure SSL certificates? If yes, please explain the process.