Alan Rodrigues

DevOps is no longer a buzzword but the de facto standard adopted by many organizations. DevOps is an encapsulation of:

AZ-400 Designing and Implementing DevOps Certification 2021

Last Updated October 2021

Bestseller
  • 257 lectures
  • Intermediate Level
4.6 (3,315)

Pass your AZ-400 DevOps Exam | By Alan Rodrigues

Explore Course

Important DevOps tools

There are an overwhelming number of tools on the market for DevOps. It is important to choose the tools that fit your organization’s needs. Each stage in the DevOps lifecycle requires its own set of tools.

A DevOps expert needs to be familiar with the various DevOps tools. On the Azure platform, an IT professional can pursue the Azure DevOps certification. This would give an individual better insight into the various DevOps tools.

One of the key exams to pass for this certification is the AZ-400 exam

AZ-400: Designing and Implementing Microsoft DevOps Solutions

This exam focuses on the different tools used in DevOps processes. Right from task management to deployment of your applications.

Let’s look at some tools that you can adopt in your organization to streamline the DevOps process.

Project management

DevOps depends on Agile project management philosophy. Teams need tools to help them perform the following tasks:

 Some of the most popular project management tools are:

  1. Atlassian JIRA – This began as an issue-tracking system, but it has matured in the space of Agile project management. Using Jira, you can define workflows and projects as well as visualize your tasks, issues, and bugs.
  2. Trello – Trello lets you create and visualize your tasks in boards and lists. You can also prioritize your work with the help of Trello’s built-in features.
  3. Azure Boards – This is part of the Azure DevOps suite of tools. With it, you can define your work items, visualize them into kanban boards, and track them until they are closed.

With Azure Boards as shown below, you can easily visualize your work items. You can then drag them across states you work on the tasks. 

These tools integrate with popular collaboration tools like Slack and Microsoft Teams.

Source code management

Source control software is necessary for software development. It allows developers to manage several versions of their code and allows them to work in the same code base without overwriting each other’s work.                                                           

The most popular source code versioning system is Git. There are various ways you can host Git repositories. Features of using Git for source code versioning include:

Some popular platforms for hosting Git repositories are:

  1. GitHub – This is by far the most popular platform for hosting Git repositories. Here you can host both private and public repositories. GitHub hosts a lot of open-source projects. They also have a server version known as GitHub Enterprise. This allows companies to host their Git repositories on their own servers.
  2. Atlassian Bitbucket – This is an offering from Atlassian for hosting Git repositories. This also integrates well with other offerings from Atlassian like Jira.
  3. Azure Repos – This is the source code versioning tool from the Azure DevOps services set of tools. Here you can host both Git repositories and Team Foundation version control repositories.

With Azure Repos as shown below, you can easily host Git repositories. Developers can then track all code changes.

Continuous integration

Teams can use continuous integration tools to perform continuous application builds. These tools are important to the DevOps lifecycle. Features of a continuous integration tool include:

Some popular continuous integration tools include:

  1. Jenkins – Jenkins is open source. It is also one of the first continuous integration tools. Jenkins has a lot of plugins that provide integration with external systems.
  2. TeamCity – This is also a continuous integration and continuous build tool. With it, you can use build agents to carry out application builds.
  3. Atlassian Bamboo – Bamboo is another offering from Atlassian. You can either use the cloud version or deploy it to your own servers. With it, you can create different types of application builds for different environment types.
  4. Travis CI – This is a simplistic solution available for continuous integration. With Travis CI, you can build code that resides either in GitHub or Bitbucket repositories. 
  5. Azure Pipelines – Azure Pipelines provide both build and release pipelines. With Pipelines, you can define your build with YAML files that can be included in version control with your code.

In Azure Pipelines as shown below, you can create your entire release pipeline. You get visual representation on each release within your pipeline.

Testing

Software testing is an important part of the application lifecycle. Don’t make testing an afterthought just because it takes a lot of time. Without testing, you could have an application with many defects.

Some important aspects to consider in testing are:

 Some testing tools to consider include:

  1. NUnit, JUnit – Unit test suites such as NUnit and JUnit help test different units of your code to ensure they will function correctly.
  2. Selenium – Selenium is a popular tool used for user-interface testing. Selenium can also integrate with your continuous integration tools.
  3. OWASP tools – Security testing is important for web applications. Understanding threats from the internet is vital. Use OWASP (Open Web Application Security Project) tools to remove application security vulnerabilities.
  4. SonarQube – Use code analysis tools such as SonarQube during development to detect code issues. It can find potential performance and memory-related issues in the code development process before you release code to production.

With SonarQube as shown below, you get a clear dashboard. The dashboard displays all code-related issues.

Configuration management

Use configuration management tools to manage the configuration of your technology infrastructure. Large enterprises have complex infrastructures. Each application and environment has its own credentials and requirements. Configuration management tools track this and ensure that projects deploy correctly.                                      

Features of a configuration management tool include:

Some of the popular configuration management tools include:

  1. Chef – This is an open-source configuration management tool. With Chef, you can define a configuration with the help of pre-existing recipes. Chef can also integrate with a variety of cloud-based environments.
  2. Puppet – Puppet is a tool to provision your environments and patch your servers.
  3. Ansible – This is a simple configuration management system. With Ansible, you do not need to define a centralized system to manage your configuration.
  4. PowerShell Desired State Configuration – You can also use PowerShell scripts to manage your virtual machines. With Azure Automation accounts, you can manage your virtual machine state.
  5. Terraform – Terraform helps you define infrastructure as code. Terraform works with various cloud-based environments.
  6. Vagrant – This software helps build portable virtual software development environments.

Below you can see the Azure dashboard where we combine PowerShell Desired State Configuration and Azure Automation Accounts.

Continuous monitoring

Once you have your application environments in place, monitoring those environments is important. Real-time monitoring minimizes application downtime and keeps the user experience free of bugs.

Some important aspects to consider in continuous monitoring are:

 Some of the popular monitoring tools include:

  1. Datadog – This is a unified monitoring system. With Datadog you can set up monitoring for your cloud-based and on-premises environments. It works with both Microsoft Azure and Amazon Web Services.
  2. Nagios – This tool has features that include server, network, and application monitoring. The Nagios log server allows you to search the log data and create alerts.
  3. Dynatrace – With Dynatrace, you can detect application issues and view application performance metrics in real time.
  4. AWS CloudWatch – This is the monitoring service available in Amazon Web Services. With it, you can view resource metrics and performance graphs, create alerts, and store logs.
  5. Azure Monitor – This is the monitoring service available in Microsoft Azure. With it, you can also stream logs into a central logging repository and get useful insights based on the monitoring data.

Below you can see the dashboard of Azure Monitor where you can view the metrics of multiple resources on a single graph.

Cloud hosting environments

There are many benefits to using cloud environments for application hosting. They include:

The most popular cloud-based providers include:

  1. Amazon Web Services – Amazon is currently the market leader.
  2. Microsoft Azure – Hot on the heels of Amazon Web Services is Azure. Azure has been gaining momentum over the years.
  3. Google Cloud – Google is another up-and-coming cloud provider. They have a wide range of services that combine with their existing set of development tools.

Your end goal

There are many tools to consider in your DevOps lifecycle. Choosing the right tools can be a challenge. Some questions to ask when looking for the right tools are:

Once you have answered these questions, it is much easier to choose the right set of tools for the job.

Top courses in DevOps

Learn DevOps: Docker, Kubernetes, Terraform and Azure DevOps
in28Minutes Official, Ravi S | DevOps Expert - Docker & Kubernetes, Open Cloud Solutions | Microsoft Azure Certification - AZ 900, Ranga Karanam | GCP Certification - Google Cloud Engineer & Architect
4.5 (4,462)
Bestseller
DevSecOps - Kubernetes DevOps & Security
Siddharth Barahalikar
4.5 (18)
DevOps Catalog, Patterns, And Blueprints
Viktor Farcic, Darin Pope
4.6 (214)
Learn DevOps: Infrastructure Automation With Terraform
Edward Viaene
4.5 (10,474)
Bestseller
DevOps MasterClass : Terraform Jenkins Kubernetes Docker
LevelUp360° DevOps | Google Cloud | Terraform | Kubernetes
4.4 (4,202)
DevOps Project: CI/CD with Jenkins Ansible Docker Kubernetes
Valaxy Technologies | AR Shankar
4.5 (6,844)

More DevOps Courses

DevOps students also learn

Empower your team. Lead the industry.

Get a subscription to a library of online courses and digital learning tools for your organization with Udemy for Business.

Request a demo