DevOps is the union of people, process, and products to enable continuous delivery of value to our customers. DevOps is a methodology or a practice that brings together development (Dev) and operations (Ops) teams for deploying efficient applications while shortening the development life cycle overall.
- Testing was done only after the complete development had been done.
- If a client requested for any changes, it would take a lot of time and money to rebuild the software.
- This model would do wonders if our clients exactly knew what they wanted.
- 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 delay in development.
- With no proper documentation, it was difficult to trace back or to cross check.
Azure DevOps (formerly Visual Studio Team Services) is a hosted service providing development and collaboration tools.
With a Free tier to get started and no need to run your own agents you can quickly get up and running with the many tools available.
- Git repositories for source control
- Build and Release pipelines for CI/CD automation
- Agile tools covering Kanban/scrum project methodologies
- Many pre-built deployment tasks/steps to cover the most common use cases and the ability to extend this with your own tasks.
- Hosted build/release agents with ability to additionally run your own
- Custom dashboards to report on build/release and agile metrics.
Components of Azure DevOps
1. Azure Boards
Azure boards make it easy to track tasks, bugs, and features. There are three types of work items:
2. Azure Repos
Before talking about Azure Repos, let’s, first, discuss what a version control system is.
Version control systems are software that help 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 which are used to manage your code and provides two types of version control:
- Team Foundation Version Control (TFVC)
3. 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.
4. 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 feedbacks also. You can perform unit and functional testing. Running tests continuously is also possible with Continuous testing.
5. 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.
Here's a short video where Abel explains the first four essential parts of Azure DevOps.