What is our primary use case?
It's part of my new role as a DevOps engineer and the cloud engineer. We're migrating our on-premises applications to the cloud-based M365 platform, built on Microsoft Azure. That's the primary use case.
How has it helped my organization?
Azure DevOps supported our agile project's sprint planning and management. It introduced automation, which is still a little bit immature. But our previously manual tasks are now automated, and we've transitioned from deploying ITFAX applications to containerized deployments using images. These are just a few examples.
Moreover, Azure DevOps facilitated our team collaboration and tracking of work items in our projects. We've got the backlog, the boards, the item backlog items, you know, you can see what's approved by the product owner, what's on hold, what's in progress, what's developed and deployed to whichever environment, nine product or product and stuff like that.
So, it's been visible for all to see, from my manager to product owners, technical product owners, developers, and testers; every stakeholder has visibility.
Ever since we adopted Azure pipelines, we saw faster releases. Something that would take us two or three weeks to deploy; we can do it in a couple of hours now. So, the primary benefit is definitely faster development and deployment cycles.
It boils down to - increased customer satisfaction. Quicker releases to testing and production environments - that's the benefit, that's the impact.
What is most valuable?
After each commit, the code automatically goes to Azure DevOps. We can then manually trigger the pipeline if needed. Once the pipeline successfully passes all tests, it deploys the new container image to production, replacing the previous one.
While I'm just gonna stick to Docker, it has really helped developers to confidently commit whenever they feel the analytics are okay to work. On their machines, it records any environment, unlike the old way where we had to click on our machines and then involve the operational team, which sometimes didn't work. With containerization, we already know all the application dependencies needed on the image. It's just one, OS or environment independent.
Moreover, we've experienced the general benefits of Azure Test Plans. One major improvement is the automation of tests. Once automated tests pass, the code progresses to the next stage, minimizing human error inherent in manual testing. This automation extends to reporting as well, providing clear and readily available results. In terms of reducing human error and streamlining reporting, I'd rate Azure Test Plans a ten out of ten.
Additionally, detailed logs allow us to pinpoint the exact cause of any issues, making troubleshooting efficient and accurate. So, for both error reduction and insightful reporting, I highly recommend Microsoft Azure DevOps.
What needs improvement?
There is only one key area of improvement for me. The new imaging thing is that there is DevOps, where security is important because it is always lasting. So, to integrate security in our DevOps, that would be nice.
For how long have I used the solution?
I have been using it for more than a year.
What do I think about the stability of the solution?
It is a stable solution. However, there is always room for improvement. I would rate the stability a nine out of ten.
What do I think about the scalability of the solution?
It is a scalable solution. There are over a hundred end users in my company. Every IT hub uses it.
How are customer service and support?
The customer service and support were quick to support. Usually, we don't need the support. We google our query and easily find the solution on official Microsoft page. So, we hardly need any support.
Which solution did I use previously and why did I switch?
In my previous jobs, yes, we did use different tools. We had a separate team for DevOps team. There was even a "deployment specialist" who dictated deployment times and windows, which could be quite restrictive. So, switching to Azure DevOps has been a massive improvement.
How was the initial setup?
The initial setup is easy. Once the code is committed and the developers sign off, we just go to Azure DevOps, click on "Pipelines," and run the pipeline. That's all, pretty straightforward.
What about the implementation team?
The deployment can be done in-house. However, I was not involved in the deployment process. I'm utilizing it, and so far, it's easy for me.
The pipeline itself can be managed by one person. But when it comes to the entire Software Development Lifecycle (SDLC), from data requirements gathered by the business analyst, system analysts, solution architects, and so on. That part is still manual, it's not automated, and you can't just throw technology at it and expect a one-person team to handle it.
However, for running the pipeline end-to-end, from CI to CD, Azure DevOps allows a single person to manage it. However, developing the application from concept to reality still involves a lot of stakeholders across Azure.
What other advice do I have?
Overall, I would rate the solution an eight out of ten. I would strongly recommend using this solution.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.