You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ansible seamlessly unites workflow orchestration with configuration management, provisioning, and application deployment in one easy-to-use and deploy platform.
9
+
10
+
Regardless of where you start with Ansible, you’ll find our simple, powerful and agentless automation platform has the capabilities to solve your most challenging problems.
11
+
12
+
# Integrations
13
+
14
+
Ansible includes hundreds of modules to support a wide variety of IT integrations, including:
15
+
16
+
Automate Anything
17
+
Your IT environment is much more than just a collection of servers and configurations. Ansible was designed and built to ensure that everyone in your IT organization can start automating their tasks in ways that were just not possible before.
18
+
19
+
In order to be effective, everyone in the IT organization needs to play a part in automating their view of the environment. The benefits are clear: by automating the repetition out of their daily lives, IT team members are able to focus on more interesting value-added tasks.
20
+
21
+
1. Infrastructure
22
+
Regardless of who your infrastructure vendors are, Ansible can help you automate all your infrastructure from bare metal to virtualization - all without having to expose credentials, or teach your users the specific UIs and APIs for each provider.
23
+
24
+
- Virtualization
25
+
Ansible supports industry-leading virtualization platforms that you’re already using today, including:
26
+
27
+
VMware
28
+
Red Hat Enterprise Virtualization (RHEV)
29
+
Libvirt
30
+
Xenserver
31
+
Vagrant
32
+
33
+
- Operating Systems
34
+
Ansible supports the operating systems that keep your business running, including:
35
+
36
+
Linux (RHEL, CentOS, Fedora, Ubuntu, and others)
37
+
Windows and Windows Server
38
+
UNIX
39
+
40
+
2. Networks
41
+
It’s time that the network teams got to participate in the DevOps revolution. Ansible brings its simplicity and agentless architecture to network automation in a way that enables IT organizations to finally include network teams in DevOps initiatives while simultaneously gaining better control and understanding of how their existing networks are configured and managed.
42
+
43
+
Ansible supports a wide variety of network providers today, including:
44
+
45
+
A10
46
+
Arista
47
+
Cisco
48
+
Cumulus Networks
49
+
Dell
50
+
F5 BigIP
51
+
Hewlett Packard Enterprise (OpenSwitch)
52
+
Juniper
53
+
Nokia
54
+
Palo Alto Networks
55
+
and others
56
+
57
+
3. Containers
58
+
IT organizations are looking for ways to containerize all the things. Ansible can help by standardizing, controlling, and automating the build process for containers, as well as ensuring there’s a sane and predictable (as well as supportable) lifecycle from developer workstation to test to QA to production. Ansible takes the guesswork out of the likely question: “Where did that container come from, and what’s it running?” Today, that means building and managing Docker, and LXC images, but also the next big thing none of us have even heard of yet.
59
+
60
+
Ansible supports containers, including:
61
+
62
+
Ansible Container
63
+
Docker
64
+
Linux Containers (LXC)
65
+
66
+
4. Cloud
67
+
Ansible has deep and broad capabilities across the cloud ecosystem-- on or off-prem, or a bit of both, Ansible can seamlessly automate in an increasingly hybrid world.
68
+
69
+
Bring us your clouds!
70
+
71
+
Amazon Web Services (AWS)
72
+
Microsoft Azure
73
+
Cloudstack
74
+
OpenStack
75
+
Digital Ocean
76
+
Google Cloud Platform
77
+
Linode
78
+
ProfitBricks
79
+
Rackspace
80
+
81
+
5. DevOps tools
82
+
Ansible enables the spirit of DevOps by connecting teams and tools to automate the workflows in your day-to-day operations.
83
+
84
+
Ansible supports integrations across the DevOps toolchain; including the areas of development, integration/test, deployment and monitoring/analytics. Here is a sample of our capabilities:
Working in IT, you're likely doing the same tasks over and over. What if you could solve problems once and then automate your solutions going forward? Ansible is here to help.
98
+
99
+
- COMPLEXITY KILLS PRODUCTIVITY
100
+
101
+
WHEN YOU AUTOMATE, YOU ACCELERATE
102
+
103
+
TEAM IMPACT
104
+
Save time and be more productive
105
+
Eliminate repetitive tasks
106
+
Fewer mistakes & errors
107
+
Improve collaboration and job satisfaction
108
+
109
+
ENTERPRISE IMPACT
110
+
Overcome complexity
111
+
More resources for innovation
112
+
Increase accountability and compliance
113
+
114
+
ANSIBLE LOVES THE REPETITIVE WORK YOUR PEOPLE HATE
115
+
No one likes repetitive tasks. With Ansible, IT admins can begin automating away the drudgery from their daily tasks. Automation frees admins up to focus on efforts that help deliver more value to the business by speeding time to application delivery, and building on a culture of success. Ultimately, Ansible gives teams the one thing they can never get enough of: time. Allowing smart people to focus on smart things.
116
+
117
+
Ansible is a simple automation language that can perfectly describe an IT application infrastructure. It’s easy-to-learn, self-documenting, and doesn’t require a grad-level computer science degree to read. Automation shouldn’t be more complex than the tasks it’s replacing.
Copy file name to clipboardExpand all lines: docs/devops.md
+135Lines changed: 135 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,6 +68,118 @@ Start by talking about the age-old mechanisms of writing commands onto script fi
68
68
69
69
As a DevOps engineer, an in-depth knowledge of processes, tools, and relevant technology are essential. You must also have a holistic understanding of the products, services, and systems in place. If your answers matched the answers we’ve provided above, you’re in great shape for future DevOps interviews. Good luck! If you’re looking for answers to specific DevOps interview questions that aren’t addressed here, ask them in the comments below. Our DevOps experts will help you craft the perfect answer.
70
70
71
+
7. Which are the top DevOps tools? Which tools have you worked on?
72
+
73
+
The most popular DevOps tools are mentioned below:
74
+
Git : Version Control System tool
75
+
Jenkins : Continuous Integration tool
76
+
Selenium : Continuous Testing tool
77
+
Puppet, Chef, Ansible : Configuration Management and Deployment tools
78
+
Nagios : Continuous Monitoring tool
79
+
Docker : Containerization tool
80
+
81
+
8. How do all these tools work together?
82
+
83
+
Given below is a generic logical flow where everything gets automated for seamless delivery. However, this flow may vary from organization to organization as per the requirement.
84
+
85
+
- Developers develop the code and this source code is managed by Version Control System tools like Git etc.
86
+
- Developers send this code to the Git repository and any changes made in the code is committed to this Repository.
87
+
- Jenkins pulls this code from the repository using the Git plugin and build it using tools like Ant or Maven.
88
+
- Configuration management tools like puppet deploys & provisions testing environment and then Jenkins releases this code on the test environment on which testing is done using tools like selenium.
89
+
- Once the code is tested, Jenkins send it for deployment on the production server (even production server is provisioned & maintained by tools like puppet).
90
+
- After deployment It is continuously monitored by tools like Nagios.
91
+
- Docker containers provides testing environment to test the build features.
92
+
93
+
9. What are the advantages of DevOps?
94
+
95
+
For this answer, you can use your past experience and explain how DevOps helped you in your previous job. If you don’t have any such experience, then you can mention the below advantages.
96
+
97
+
Technical benefits:
98
+
99
+
Continuous software delivery
100
+
Less complex problems to fix
101
+
Faster resolution of problems
102
+
Business benefits:
103
+
104
+
Faster delivery of features
105
+
More stable operating environments
106
+
More time available to add value (rather than fix/maintain)
107
+
108
+
10. What is the most important thing DevOps helps us achieve?
109
+
110
+
According to me, the most important thing that 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. Learn more in this DevOps tutorial blog.
111
+
However, you can add many other positive effects of DevOps. For example, clearer communication and better working relationships between teams i.e. both the Ops team and Dev team collaborate together to deliver good quality software which in turn leads to higher customer satisfaction.
112
+
113
+
11. Explain with a use case where DevOps can be used in industry/ real-life.
114
+
115
+
12. Explain your understanding and expertise on both the software development side and the technical operations side of an organization you have worked with in the past.
116
+
117
+
For this answer, share your past experience and try to explain how flexible you were in your previous job. You can refer the below example:
118
+
DevOps engineers almost always work in a 24/7 business-critical online environment. I was adaptable to on-call duties and was available to take up real-time, live-system responsibility. I successfully automated processes to support continuous software deployments. I have experience with public/private clouds, tools like Chef or Puppet, scripting and automation with tools like Python and PHP, and a background in Agile.
119
+
120
+
121
+
## Version Control System (VCS)
122
+
123
+
1. What is Version control?
124
+
125
+
This is probably the easiest question you will face in the interview. My suggestion is to first give a definition of Version control. It is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control systems consist of a central shared repository where teammates can commit changes to a file or set of file. Then you can mention the uses of version control.
126
+
127
+
Version control allows you to:
128
+
- Revert files back to a previous state.
129
+
- Revert the entire project back to a previous state.
130
+
- Compare changes over time.
131
+
- See who last modified something that might be causing a problem.
132
+
- Who introduced an issue and when.
133
+
134
+
2. What are the benefits of using version control?
135
+
136
+
I will suggest you to include the following advantages of version control:
137
+
- With Version Control System (VCS), all the team members are allowed to work freely on any file at any time.
138
+
- VCS will later allow you to merge all the changes into a common version.
139
+
- All the past versions and variants are neatly packed up inside the VCS. When you need it, you can request any version at any time and you’ll have a snapshot of the complete project right at hand.
140
+
- Every time you save a new version of your project, your VCS requires you to provide a short description of what was changed. Additionally, you can see what exactly was changed in the file’s content. This allows you to know who has made what change in the project.
141
+
- A distributed VCS like Git allows all the team members to have complete history of the project so if there is a breakdown in the central server you can use any of your teammate’s local Git repository.
142
+
143
+
3. Describe branching strategies you have used.
144
+
145
+
This question is asked to test your branching experience so tell them about how you have used branching in your previous job and what purpose does it serves, you can refer the below points:
146
+
147
+
- Feature branching
148
+
A feature branch model keeps all of the changes for a particular feature inside of a branch. When the feature is fully tested and validated by automated tests, the branch is then merged into master.
149
+
150
+
- Task branching
151
+
In this model each task is implemented on its own branch with the task key included in the branch name. It is easy to see which code implements which task, just look for the task key in the branch name.
152
+
153
+
- Release branching
154
+
Once the develop branch has acquired enough features for a release, you can clone that branch to form a Release branch. Creating this 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 is ready to ship, the release gets merged into master and tagged with a version number. In addition, it should be merged back into develop branch, which may have progressed since the release was initiated.
155
+
In the end tell them that branching strategies varies from one organization to another, so I know basic branching operations like delete, merge, checking out a branch etc.
156
+
157
+
4. What is Git?
158
+
159
+
I will suggest that you attempt this question by first explaining about the architecture of git as shown in the below diagram. You can refer to the explanation given below:
160
+
161
+
- Git is a Distributed Version Control system (DVCS). It can track changes to a file and allows you to revert back to any particular change.
162
+
- Its distributed architecture provides many advantages over other Version Control Systems (VCS) like SVN one major advantage is that it does not rely on a central server to store all the versions of a project’s files. Instead, every developer “clones” a copy of a repository I have shown in the diagram below with “Local repository” and has the full history of the project on his hard drive so that when there is a server outage, all you need for recovery is one of your teammate’s local Git repository.
163
+
- There is a central cloud repository as well where developers can commit changes and share it with other teammates as you can see in the diagram where all collaborators are commiting changes “Remote repository”.
164
+
165
+
5. Explain some basic Git commands?
166
+
167
+
Below are some basic Git commands:
168
+
169
+
| Command | Function |
170
+
| ----------- | -------- |
171
+
| git config --global user.name "name" | configure author name to be used with your commits |
172
+
| git config --global user.email "email" | configure author email to be used with your commits |
173
+
| git init | create new local repository |
174
+
| git clone path/to/repo | create working copy of local repo |
175
+
| git clone username@host:/path/to/repo | for a remote server use |
176
+
| git add <filname> | add one file |
177
+
| git add * | add more file |
178
+
| git commit -m "message" | commit canges to head |
179
+
| git push origin master | send changes to the master branch of your remote repo|
180
+
| git status | list the files u have changed and those u still need to add in commit |
181
+
| git remote add origin <server> | if u havent conencted |
182
+
71
183
- Culture
72
184
- Automation
73
185
- Measurement
@@ -103,3 +215,26 @@ sysadmins
103
215
dba
104
216
noc
105
217
soc
218
+
219
+
220
+
- unit testing
221
+
- code quality/hygine
222
+
- integration test
223
+
- TDD
224
+
- BDD beahviour
225
+
- acceptance test driven ADTD
226
+
- Perforamce testing
227
+
- security testing
228
+
229
+
# CI Toolchain
230
+
231
+
1. Version Control(Github, SVN)
232
+
2. CI systems(Jenkins, travisci, circlrci)
233
+
3. Build(make/rake, maven, gulp, packer)
234
+
4. Test(Unit testing Junit, pytest| Integration test robot )
0 commit comments