Azure DevOps
Azure DevOps provides two options: the Azure DevOps Service and the on-premise Azure DevOps Server. DevOps plays a crucial role in organizations by enabling efficient development of quality applications. Integrating with the cloud is the best way to enhance success. Let’s delve into Azure DevOps concepts step by step to gain a better understanding.
Watch this video on Azure DevOps Certification Tutorial:
Before getting into Azure DevOps, let’s talk about DevOps in general.
Well, the traditional software development model is as follows:
Although the waterfall model was highly influential and continues to serve as the basis for many applications today, it is important to acknowledge its significant drawbacks, which include the following:
- Testing was done only after the complete development had been done.
- If a client had any feedback, it would take a lot of time and money to rebuild the application.
- It was the best method to follow if the client knew exactly what they wanted without any changes in between.
To overcome these problems, the Agile method came into existence.
But, there were problems with this method too. Here, the cons were the following:
- From developers to clients, everyone had to be in sync in order to proceed with development.
- With no clear vision of the end product, it was difficult to navigate through the right track. Often there would be setbacks which used to lead to delays in development.
- With no proper documentation, it was difficult to trace back or to cross-check.
Like Agile was used because there were cons in the waterfall model, DevOps was the solution to all the problems the Agile model had. Development and operations teams never got along until DevOps came into existence. Automation is one of its main advantages due to which efficiency also increases. DevOps pays equal attention to all phases, from development to deployment.
Now, it is clear why DevOps came into the picture. Let us see what it is and how it is related to the cloud, especially with Azure.
What is Azure DevOps?
To sum it up, DevOps is a methodology or a practice that brings together development (Dev) and operations (Ops) to teams for deploying efficient applications while shortening the development life cycle overall.
But what happens if you incorporate DevOps in the cloud? Do they even fit in together? Let us answer these questions first before moving on further deep with our Azure DevOps tutorial.
Since It is DevOps Azure that is being talked about here, it must be clear to you that adding DevOps to the cloud is quite a big move. So, let’s have a short backstory.
It cannot be denied that software development is in a state of transition, from being product-oriented to becoming service-oriented.
Get 100% Hike!
Master Most in Demand Skills Now!
Cloud Computing offers Software as a Service, and it does affect the entire software development process becoming service-oriented. With the majority of businesses shifting to the cloud, it is only reasonable to say that methods like DevOps can be an added plus to all these companies. It removes the technical and bureaucratic hurdles that cause delays in the deployment of software.
Now that you got a glimpse of Azure DevOps, let’s talk about the symbiotic relationship between cloud and DevOps in this Azure DevOps tutorial.
It is known that most companies develop apps in the cloud because they get the infrastructure and they only pay for what they use, along with other benefits. Ninety-five percent of Fortune 500 companies use Azure. You can estimate how many businesses run using Microsoft Azure services. With the addition of DevOps to Azure, development has become much easier and more secure. You can choose either to use services or to work on-premise; you have Azure DevOps Server for that.
Different tools were used to unite the process with DevOps, such as Jenkins, Selenium, etc. Whereas in Azure DevOps, you have a service that gives you the benefits of those tools in a single platform. In a nutshell, Azure DevOps is practicing the unification of developers and IT operations while developing apps in Azure.
As mentioned above, Azure DevOps comes with two options:
- Azure DevOps Services
- Azure DevOps Server
Let us take a look at the differences between the two.
Azure DevOps Services Vs. Server
The services and server were commonly referred to as Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) correspondingly. These platforms offer comprehensive environments that facilitate Git integration, Agile tools, and continuous integration. Let us now explore the distinctions between these two entities.
Azure DevOps Services |
Azure DevOps Server |
It is a cloud offering. |
It is an on-premise offering. |
It offers two options for scaling and scoping data: organizations and projects. |
It offers three options for scaling and scoping data: deployment, project collections, and projects. |
You can connect over the public network. |
You can connect to the intranet server. |
The access level must be assigned to each user. |
Access levels must be set based on the license. |
Azure DevOps Services
Following are the services provided by Azure DevOps:
Let us learn Azure DevOps services briefly in this Microsoft Azure DevOps tutorial.
Azure Pipelines
Azure Pipeline is a combination of continuous integration (CI) and continuous delivery (CD) which you can use to create and test your code automatically and give access to other users. You can produce consistent and quality code with CI and CD.
You can work with programming languages like Python, Ruby, Java, PHP, C#, and Go. To use Azure Pipelines, your source code must be stored in a version control system such as Git.
Coming to the pricing, private projects can work up to 30 hours for free, every month, and for public projects it is free.
Azure Boards
Azure boards make it easy to track tasks, bugs, and features. There are three types of work items:
An epic work item tracks requirements or features; issue tracks bugs or smaller changes, and task tracks even smaller works done. It is easy to add or update your work status and, with a drag-and-drop feature, you can prioritize your works.
Azure Artifacts
Azure Artifacts is a store that has all your artifacts that were produced while developing and deploying. In simple terms, Artifacts are executable files, i.e., they do not contain any code. You can use multiple feeds to organize and control access to your packages. Are wondering what a feed is? A feed is a container for packages that helps in consuming and publishing. Azure Artifacts provide a fast, secure, and easy feed of binary packages.
Azure Artifacts ensure that your pipelines are fully integrated package management. You can also create packages like Maven, npm, and NuGet. It includes a free usage tier of 2 GB.
Azure Repos
Before talking about Azure Repos, let’s, first, discuss what a version control system is.
Version control systems are software that helps you track changes that you have made in your code, by taking snapshots of your files. One popular example is Git.
Azure Repos is a collection of version control tools that are used to manage your code and provides two types of version control:
- Git
- Team Foundation Version Control (TFVC)
Git is a distributed version control system which means that the local copy that you have is a complete repository allowing you to work offline as well. In TFVC, the historical data is kept only on the server since it is a centralized version control system.
Azure Test Plans
You can improve the quality of your code by testing it. With Azure Test Plans, you can test your code manually or exploratorily as well. You can request, provide, and track feedback also. You can perform unit and functional testing. Running tests continuously is also possible with Continuous testing.
Now that you are familiar with the services, let us see the pricing.
Azure DevOps Tools
The following tools are widely utilized:
- Azure Pipelines: This tool enables the implementation of continuous integration and continuous deployment (CI/CD) processes, facilitating the seamless building, testing, and deployment of applications to diverse platforms and cloud environments.
- Azure Boards: With this tool, teams can effectively plan, track, and engage in collaborative discussions regarding work items. It provides features like Kanban boards, backlogs, team dashboards, and customizable reporting to enhance productivity and transparency.
- Azure Monitor: This tool offers comprehensive observability capabilities, allowing users to gain valuable insights into the performance of their applications, infrastructure, and network. It facilitates monitoring, diagnostics, and troubleshooting to ensure efficient operations.
- Visual Studio: This integrated development environment (IDE) is specifically designed for creating robust and scalable applications intended for Azure. It offers a rich set of features and tools to enhance the development experience and streamline application deployment.
- Azure Kubernetes Service: This service provides a managed Kubernetes environment in Azure, enabling developers to deploy, scale, and manage containerized applications effortlessly. It simplifies the orchestration and management of containers, allowing for efficient application scaling and resource utilization within Azure.
Azure DevOps Benefits
The following are some of its benefits:
1. Reliability: Azure DevOps is reliable, scalable, and globally available.
2. Accessibility: Azure DevOps users get access to new features every three weeks. Microsoft is transparent.
3. Flexibility: If your DevOps team doesn’t want or need the full suite of services, they can acquire them independently.
4. End of upgrade cycle: For organizations running on-premises CI/CD tooling, upgrading is difficult. Using SaaS, it is an easy task.
Azure DevOps Pricing
For individual services, here are the pricing options:
Azure Pipelines |
Azure Artifacts |
One free Microsoft-hosted CI/CD with 1,800 minutes and 1 free self-hosted CI/CD with unlimited minutes |
2 GB free storage |
After the free parallel jobs, Rs.2643.85/extra Microsoft-hosted jobs and Rs.991.444/extra self-hosted ones |
After the free storage, Rs.132.193/GB |
If you want to take a user license, here is the pricing:
Basic Plan |
Basic Plan and Testing |
Free for the first five users |
Chargeable from the beginning |
Rs.396.578/user/month |
Rs.3,437.005/user/month |
Includes all basic features |
Includes all basic features, along with testing services |
Now that you know the pricing of Azure DevOps, let us move on to the hands-on and see how to work with Azure DevOps.
Azure DevOps Hands-on
In this section of the Azure DevOps tutorial, you will be creating a DevOps Organization and using the services provided by Azure DevOps.
Prerequisites:
Git
Step 1: Go to your Azure Portal and search for Azure DevOps. Click on the link shown below:
Step 2: Click on Create new organization, first, and then click on Continue
Step 3: Add a name for your organization and select the region of your server. Then, click on Continue
Step 4:
- Name your project
- Select Public for Visibility
- Click on Create project
Step 5: Now, you will be able to see that you have successfully created an organization
Step 6: Select Project Settings and then Security to add new members
Step 7:
- Click on “organization team”. Here it is named as new project
- On the top right, you can see Members. Click on it
- Click on Add to add new members to the team
Step 8:
- Search for users you want to add with their mail IDs or names
- Click on Save changes
Step 9: You can see the team members once you have added the users
Step 10: Go to the Git bash and create a new directory using Git commands. Clone the repository URL into your system. Create a notepad, write your code, and then push it to the Azure server
Step 11: Here is the file on Azure Repos after pushing the repository that was created on the system
Step 12: Here are all the commits that have been made. Click on Commits under Repos to see yours
Step 13: To add new work, go to Boards and then click on New Work Item
Step 14: Add a new task and assign the state. Click on Save, and your task has been created
Step 15: When you click on Work Items, you can see the work that you created in the center screen
Step 16: If you want to assign the task to a user, go to Boards. You can see the work items. Assign the task to the user
Step 17: Let us now create a pipeline. Go to Pipelines and click on New pipeline
Step 18: Specify the resource where your code is. Here, let’s go with the first option, that is, Azure Repos Git
Step 19: Once you select that you have to choose your repository
Step 20: You can now see the default pipeline created. You can write down the tasks that you want to perform and click on the Run
Step 21: Here, nothing would be written explicitly in the .yml file. Let’s simply execute it. Here is the output:
Step 22: You have successfully created a pipeline!
Step 23: Let us test the project, now. There are different ways in which you can do it. For testing via URL, go to Load Test and select New. Click on URL based testing and do the following:
- Name the test
- Enter the URL that you want to test
- Save the test
- Run the test
Step 24: Once you are done, you can see the following:
Step 25: Here are the results of the test run:
Now that you have come to the end of this Microsoft Azure DevOps tutorial. Hopefully, Azure DevOps has become easier for you after reading this Azure DevOps tutorial. You can now easily manage your DevOps projects on one platform.
Since you know Azure DevOps, you might be interested in becoming a trained professional with the right certification.
To get an edge in your career, you might want to become a certified Azure professional. Intellipaat provides you with certification training courses in the following three domains:
Enroll yourself today and get a boost in your cloud computing career. You can also take up a free Azure training and learn more about the technology that has made major improvements in the cloud area.