What is DevOps?
DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
In other words, when we create any software, there are many steps involved in it like Development, Build, Testing, Approval, Release, Maintenance, etc and all the steps repeats like a cycle🔁 when you start any new requirement. So, to automate some of the steps, we can use DevOps.
Let me try to explain it using one example —
Let's say you’re working on any project and which follow agile methodology, that means you have to tackle a lot of things like requirement gathering, development, branching, merging, build, test and all — and after delivery of one module, you have to start for another module and side by side have to maintain the previously created one.
As a developer, I feel it like this —
You have to do a lot of things like build, test, deploy - if you want to make one change on your application.
What if I’ll say you just have to make required changes and push it into the repository — that all, you’re done with your work, everything else will be done automatically?
That’s cool!! Right? 😍
Yes, you just have to setup DevOps pipeline one time and after that when you’ll push your code to the repository — pipeline will do other work like build, test, deployment.
There are many options available in the market like Jenkins, Vagrant, Splunk, etc. But here we will be talking about Azure DevOps.
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?
Azure DevOps is a Software as a service (SaaS) platform from Microsoft. With end-to-end solutions on Azure, teams can implement DevOps practices in each of the application lifecycle phases: plan, develop, deliver and operate.
Architecture
The above architecture provides a high-level overview of the Azure Devops flow and it’s components. This architecture will remain the same regardless of the project technology.
Getting Started with Azure DevOps
https://azure.microsoft.com/en-in/services/devops/
Login to your Microsoft Account
Create an Azure DevOps Organization and after that, you’ll have to create a project.
Now, you’ll be able this dashboard
You can collaborate with your team over here —
- Boards
You can maintain a task list here, can add issues.
2. Repos
You will be able to create code repositories inside it. It works same as GitHub repos. Although you can use the pipeline for repos which are on GitHub or somewhere else.
3. Pipelines
You can create pipelines, where you can setup CICD related flow. Below are the options of which repositories you can select.
Azure uses YAML language to create a pipeline, the classic editor is also available in case you’re a beginner you can go for it.We will talk about pipelines more in the next articles. Till then try and check it out, it has many cool features that are available for free (with some limits).
Azure DevOps is a platform that will make it easier and efficient to implement a DevOps-based solution in your organization. It contains a range of services that cover the complete software development life-cycle. These are:
Azure Boards is a tool that helps teams plan, track, visualize, and discuss the work that needs to be done. It offers four different processes to choose from, which are: CMMI, Scrum, Agile, and Basic.
Azure Pipelines is a cloud service that can be used to automatically build, test, and deploy any code project. It is a cloud-agnostic CI/CD platform with support for containers or Kubernetes and works with any language or project type.
Azure Repos provides unlimited, cloud-hosted private, and public Git repos.
Azure Artifacts lets you create, host, and share packages. It also provides integrated package management with support for Maven, npm, Python, and NuGet package feeds from public or private sources.
Azure Test Plans provides manual and exploratory testing solutions.
There are some more benefits of using Azure DevOps for your software development needs:
Reliability: Azure DevOps is a reliable SaaS platform with regular maintenance and support.
Scalability: Azure DevOps makes it way easier for organizations to scale as per their needs without any hassle.
Better Collaboration: Services like Azure Boards improve the collaboration among teams within an organization to a great extent.
Better Management through Work Items: Azure DevOps makes it way easier to coordinate the management of your systems with Work Items.
Access to the latest features: Azure DevOps users get access to new features every 3 weeks.
Hassle-free upgrade: Upgrading and patching are way easier for Azure DevOps organizations.