AWS Global Infrastructure

DevOps

Topics Covered
  • DevOps (74 Blogs)
  • Mastering Git and GitHub (9 Blogs)
  • Docker (8 Blogs)
  • DevOps Engineer Masters Program (4 Blogs)
SEE MORE

Understanding DevOps Tools – Development, Testing & Deployment Technologies Involved In DevOps

Last updated on Jan 23,2020 29.8K Views
12 / 12 Blog from Introduction To DevOps

Like many, if you are in the pursuit of a lucrative DevOps career and a probable DevOps Certification, then it becomes very crucial to have sound knowledge of DevOps Tools. This is because these tools form an integral part of your learning path of DevOps. Before I proceed further I will strongly recommend you to go through the following blogs:

What is DevOps?

Top 10 reasons to learn DevOps

Who is a DevOps Engineer?

Now let us have a quick look at the points that I will discuss in this blog and they are as follows:

 

1. DevOps Tools

DevOps tools - DevOps Tools - Edureka

The above image shows the various sub-stages of DevOps and the tools used in each of them. Each of the tools in DevOps is bound to a particular phase of DevOps. Now let us discuss the phases of DevOps and the tool that is used in that phase. All of these phases together constitute the DevOps lifecycle.

2. DevOps Phases

The following are the various phases of the DevOps lifecycle.

  1. Continuous Development
  2. Continuous Testing
  3. CI(Continuous Integration)
  4. CD(Continuous Deployment)
  5. Continuous Monitoring

devops phases - devops tools - edureka

Now let us discuss these phases one by one.

Phase 1: Continuous Development

Tools used: Git, SVN, CVS, Mercurial

Description: Git 

Git plays a crucial role when it comes to managing the code that the collaborators contribute to the shared repository. This code is then pulled for performing continuous integration to create a build and test it on the test server and eventually deploy it on the production.

Git In DevOps - DevOps Tools - Edureka

Git enables the communication between the development and the operations team. When you are working on a large project with a huge number of collaborators, it becomes very critical to have communication between the collaborators while making changes in the project.

Commit messages in Git play a vital role in communicating among the team. The bits and pieces that we all deploy lie in the Git. To be successful in DevOps, you need to have all of the communication in Version Control.

To know more about Git, you can check out the following blogs:

What is Git?

How to install Git?

The next phase after Continuous Development is Continuous Integration

Phase 2: Continuous Integration

Tools: Jenkins, TeamCity, Travis 

Description: Jenkins

Jenkins is an open-source automation tool that is written in Java with plugins built for Continuous Integration purposes. Jenkins builds and tests your software continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows continuous delivery of your software by integrating with a large number of testing and deployment technologies.

Jenkins architecture - DevOps Tools - Edureka

With Jenkins, organizations can fasten the software development process through automation. Jenkins integrates development life-cycle processes such as build, document, test, package, stage, deploy, static analysis and much more.

Jenkins achieves Continuous Integration with the use of plugins. Plugins allow the integration of Various DevOps stages. If you want to integrate a particular tool, you just need to install the plugins for that tool. There are numerous plugins in Jenkins such as Git, Maven 2 project, Amazon EC2, HTML publisher, etc.

If want to know more about Jenkins, then you can have a look at the following blog:

What is Jenkins?

Jenkins Pipeline Tutorial

After Continuous Integration, the next phase is Continuous Testing.

Phase 3: Continuous Testing

Tools used: Jenkins, Selenium TestNG, JUnit

Description: Selenium

Selenium is an open-source tool that is used for the purpose of automating the tests carried out on web browsers. Open-source simply means that you do not need to pay anything for the licensing cost and this is a major advantage over other testing tools. Other reasons behind Selenium’s ever-growing popularity are as follows:

  • The test scripts can be written in any of these programming languages such as Java, Python, C#, PHP, Ruby, Perl & .Net

  • You can carry out the tests in any of these OS such as Windows, Mac or Linux

  • Also, you can carry out the tests using any browser such as Mozilla Firefox, Internet Explorer, Google Chrome, Safari or Opera

  • It can be easily integrated with tools such as TestNG & JUnit for managing test cases and generating reports

  • It can also be integrated with Maven, Jenkins & Docker to achieve Continuous Testing

If at all you are interested to know more about Selenium then you can check the following blogs:

What is Selenium?

Selenium Tutorial

Install Selenium

After you do the Continuous Testing, the application now moves into the Continuous Deployment phase.

Phase 4: Continuous Deployment

Tools Used: Configuration Management Tools – Chef, Puppet, Ansible and Containerization – Docker, Vagrant

Description: Ansible and Docker

Ansible:

If you think of infrastructure as part of the application i.e as Infrastructure as Code (IaC), then stability and performance become normative. Infrastructure as Code is simply the process of managing and provisioning computing infrastructure and their configuration through machine-processable definition files.

Ansible Benefits - DevOps Tools - EdurekaThis is where Ansible automation plays a crucial role and stands out among its peers. In DevOps, System admins work closely with developers, there is an improvement in the development velocity, and you spend more time in doing activities like performance tuning, experimenting, and doing the right things, and you spend less time is fixing problems.

To know more about Ansible you can have a look at the following blogs:

What is Ansible?

Ansible Tutorial

Install Ansible

Docker:

Docker is a platform that packages an application and all its dependencies together in the form of containers. This containerization aspect of Docker assures you that the application can work in any environment.

What is Docker - DevOps Tools - Edureka

As you can see in the diagram, each and every application runs on separate containers and has its own set of dependencies & libraries. This makes sure that each application is independent of other applications, giving developers surety that they can build applications that will not interfere with one another.

So a developer can build a container that can have different applications installed on it and give it to the QA team. Then the QA team would only need to run the container to replicate the developer’s environment.

If you wish to explore Docker further then you can have a look at the following blogs:

Docker Explained

Docker Tutorial

Docker Architecture

Once you deploy the application, then it is necessary to monitor the performance of the application. This happens in the Continuous Monitoring phase of DevOps.

Phase 5: Continuous Monitoring

Tools Used: Splunk, ELK Stack, Nagios, New Relic

Description: Nagios

Nagios Working - DevOps Tools - EdurekaNagios is used for the purpose of continuous monitoring of systems, applications, services, and business processes, etc in a DevOps culture. In case of a failure, Nagios can proactively alert the technical staff of the problem. This allows them to begin remediation processes before outages affect business processes, end-users, or customers. With Nagios, you don’t have to explain why an unseen infrastructure outage affects your organization’s bottom line.

If you want to know more about Nagios then you can check the following blog:

Nagios Tutorial

With this, I have covered all of the DevOps phases and the tool used in each of these phases. So this was all from my side in this blog on DevOps Tools. I hope you now have a fair idea about the various DevOps tools.

Now that you have understood DevOps Tools, check out the DevOps training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka DevOps Certification Training course helps learners to understand what is DevOps and gain expertise in various DevOps processes and tools such as Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack and GIT for automating multiple steps in SDLC.

Got a question for us? Please mention it in the comments section and we will get back to you.

Comments
1 Comment

Browse Categories

webinar REGISTER FOR FREE WEBINAR
REGISTER NOW
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP

Subscribe to our Newsletter, and get personalized recommendations.