Azure DevOps: New Approach To A Smart Development

Vishal
Edureka
Published in
8 min readJun 19, 2019

As kids, we’ve always been taught to work in teams. We’ve also been taught to work smarter rather than harder. Do we put these lessons into practice as we grow? Well, DevOps culture definitely used these lessons to its fullest. In this article about Azure DevOps, we’re going to learn how these old-school lessons come in handy.

Topics covered:

  • What is DevOps?
  • What is Azure?
  • What is Azure DevOps?
  • Components of Azure DevOps
  • Demo: Create and demonstrate the working of Azure Pipeline

What is DevOps?

Let’s take the example of baking. Suppose you want to make brownies. You have different ingredients, each of them contributing to the brownie’s taste. You must use different tools like the oven, stove, etc. You have the recipe which should be followed step by step. Without either of these things, you wouldn’t even be close to making brownies.

Let’s compare this with the software development process. Your ingredients represent different teams like Development, Operations, Testing, etc. Baking tools symbolize different DevOps tools like Git, Jenkins, Docker, etc which makes the process easier. The recipe symbolizes the process of software development which should be followed step by step to get the best results.

DevOps can be considered as a union of People, Process, and Product.

DevOps is a collaborative approach to developing and deploying software. It brings together the Development team (Dev) and the Operations team (Ops) to cooperate and work together making the entire software development process faster and efficient.

What is Azure?

Microsoft Azure is a cloud computing platform created by Microsoft. It provides various services which are easily accessible. In addition to easy accessibility, the number of resources can be dynamically scaled.

What are these services? So basically when you try to build an application and expose it on the internet for people to use, you need way more things than you’ve imagined. You need servers, virtual machines, a storage facility, databases, and a full-fledged infrastructure. Now instead of creating them from scratch or spending a ton on buying them, what if you could borrow them? Services are basically these requirements that you need which can be rented from cloud service providers like Azure.

What is Azure DevOps?

A company called DORA(DevOps Research and Assessment), researches on high performance in the context of software companies. It discovers the factors that fuel it and has come up with the following report(2018) about companies using DevOps:

  1. 46x Higher Deployment Frequency
  2. Faster time to market
  3. 7x Lower Change Failure Rate
  4. 2,555x Faster Lead time for changes
  5. Increased Revenue
  6. 2,604x Faster mean time to recover

Microsoft Azure came up with a new product called Azure DevOps which can certainly help any organization achieve the above-mentioned stats. As you know, DevOps is the union of people, processes, and products. Obviously, Microsoft is not going to provide you people and the process but it certainly can provide the products. Azure allows you to implement DevOps practices so that you gain more confidence in your deployment pipeline and keep you prepared for a wide variety of scenarios.

Azure DevOps Components

Azure DevOps consists of 5 main components:

Azure Boards:

Azure Boards lets you track your work with configurable boards, interactive backlogs, and powerful planning tools. It lets you track all your ideas at every development stage and keeps your team synced with all the code changes. It keeps you forever scrum ready. It also helps you get a good insight into the health and status of your project with amazing analytical tools.

Azure Pipeline:

This is a widely used tool. Azure pipeline lets you build, test, and deploy in any language, on any platform, or to any cloud. Even though it's called Azure Pipeline, it actually lets you deploy anywhere you wish, be it AWS, GCP, Raspberry Pi, or even your own platform. It supports containers and easy integration with containerization platforms like Kubernetes. One of the most vibrant features of the Azure pipeline is that if you are working on an open-source or a public project from GitHub or anywhere for a matter of fact, it gives you free builds, tests, and releases.

I’m going to show you a demonstration on the working of this Azure Pipeline further in this blog.

Azure Repos:

Gives you flexible, powerful, Git hosting with amazing code reviews and unlimited free repositories for all your ideas. Lets you connect with any IDE, Git client, or editor. Supports WebHooks and API Integration. Also gives a cool feature of semantic code search as it understands variables and classes.

Azure Test Plans:

Provides a wide variety of manual and exploratory testing tools. It lets you test your application on desktops or web apps. It captures data while you execute tests to make the defects actionable. This helps in making releases faster and with confidence.

Azure Artifacts:

Azure Artifacts lets you share Maven, NuGet, and Python packages from public and private sources with the entire team. It lets you integrate packages with your CI/CD pipeline in the most efficient, scalable, and simple way. Lets you keep your packages safe and secure.

Demo: Create and demonstrate the working of Azure Pipeline

In this section, I’m going to show you how to create an Azure pipeline and use it for CI/CD. Just follow these steps:

Step 1: Create an Azure DevOps Organization. To do so visit the official Azure DevOps website and click on New Organization.

Add the organization name and the region you’d want your project to be in. In this case, I’ve named the organization Kalgi and region South India.

Step 2: Once you’ve created an organization, you’ll be prompted to create a project. Enter your Project Name. The description will include a small description of the project. There are two kinds of projects you can create, one that is visible to everybody(public) and the other one which is not visible to everybody(private). In a private project, you can add people who can view or make changes to your project. In this case, I’ve created a private project. Once you’ve filled all the details, click on Create.

Step 3: Let’s get started by creating a pipeline. You’ll be directed to your project directory. You’ll have the option of creating Boards, Repos, Pipelines, Test Plans or Artifacts. Click on Pipelines.

Then click on New Pipeline.

You’ll be asked where your code is. In my case, It’s stored on GitHub and hence I select GitHub. You can select accordingly.

You’ll then be prompted to insert your GitHub password. Enter the password and click on the Confirm password. You are now connected to your GitHub account.

You’ll then be prompted to Authorize AzurePipeline. Just click on Authorize AzurePipeline.

Select the GitHub repository you’d like to use for the project. For this demonstration purpose, I’ve forked Microsoft’s sample repository called pipelines-python-django and will be using that in this Azure Pipeline demo.

Check Only Select Repositories and click on Approve and Install.

Finally, click on Authorize Azure Pipeline with Microsoft

Review the pipeline and click on Run.

When you run the Pipeline, you’ll start seeing the logs of different jobs being performed.

Once the agent is ready, the jobs will start getting executed and you’ll see their status(success or failure).

You’ll see something similar to the below-displayed screenshot once all your jobs have been executed.

Now when you go to pipelines, you’ll see the pipeline you just built. It also shows the build status.

Now let’s go ahead and edit the code and see if the changes are reflected in the pipeline. Make changes to your code according to your or the organization’s requirement. In this case, I’ve made changes to the README file.

Save the changes by clicking on Commit Changes.

You can now check your pipeline and it will show an update in the README.md file.

That’s how CI/CD Pipelines work and I personally feel Microsoft Azure has done an amazing job at this service. If you wish to check out more articles on the market’s most trending technologies like Python, DevOps, Ethical Hacking, then you can refer to Edureka’s official site.

Do look out for other articles in this series that will explain the various other aspects of Azure.

1. Azure Tutorial

2. Azure Portal

3. Azure Storage Tutorial

4. Azure Private Network

5. Azure DevOps Tutorial

6. Azure Boards

Originally published at https://www.edureka.co on June 19, 2019.

--

--