How Azure DevOps Server 2019 Helps Software Teams Deliver Better Quality Software Faster
How Azure DevOps Server 2019 Helps Software Teams Deliver Better Quality Software Faster
This interview with Tarun Arora from Centrica discusses his upcoming book about Microsoft Azure Server and some of the benefits it can bring developers.
Join the DZone community and get the full member experience.Join For Free
The concept of DevOps kicked out traditionally siloed collaboration and brought in automation within all the processes between software development and IT teams. This helped teams to build, test, and release software faster with better reliability.
Recently, Packt Publishing had a chat with Tarun Arora, Senior DevOps Engineer at Centrica, London, to discuss DevOps and Azure DevOps in detail. Tarun is also a Microsoft MVP in Azure and his book, Azure DevOps Server 2019 Cookbook, talks about the latest Azure DevOps Server techniques that will help you to set up end-to-end traceability of your code changes, from design through to release, and much more.
You may also enjoy: Welcome, Azure DevOps
Tarun talks about how Azure DevOps Server is Microsoft’s best in class developer offering, the five best practices to build high-quality software, his motivation for writing the book, and many more interesting points about Azure DevOps Server. Let’s dive in!
Team Foundation Server (TFS) Then, is Azure DevOps Server Now
How is the Azure DevOps server different from the previous Team Foundation Server. Is it simply a name change or is it a huge jump in advancements/functionalities?
Another name change! This product has had one too many name changes in the last decade. Previously known as Visual Studio Team Systems, then Team Foundation Server, and now, Azure DevOps Server. This is a big release…The latest name change is to align the product to the overall Microsoft strategy of becoming the best in class developer offering. Microsoft is making a great amount of investment in Azure and the developer tooling around it. DevOps gets better integration and overall investment by being part of the Azure family of solutions and services now.
This is a major milestone for the product, unlike TFS which was one big monolith offering, Azure DevOps 2019 gives you the ability to pick and choose one or all five services offered by the product namely Agile Boards, Repos, Pipelines, Tests, and Artifacts. Each of these services works independently and seamlessly together as well to offer best in class integration with non-Microsoft products and tools. If you have not tried Azure DevOps Server yet, now is the time. The product is everything you would expect from an enterprise DevOps solution helping you and your software teams deliver better quality software faster.
On the “Out-Of-The-Box” Features and The New Analytics Addition in Azure DevOps Server
Microsoft recently announced adding analytics to Azure DevOps Server. How will users benefit from this?
You can’t improve what you can’t measure. Data has truly become the currency software development teams interact in to understand and improve their products. Bringing this back into the software lifecycle, software development teams want to add more efficiency into their software development lifecycle. Azure DevOps Server has traditionally shipped a data warehouse to allow access to analytics data, however, the data warehouse has, over time, become too difficult to maintain and extend to changing business needs. Azure DevOps Server has now previewed a new Analytics capability that will be fully fleshed out in future releases. In its current preview, its has real-time access to work item data that can easily be extended.
Why do you think ADS is the best in the market? What “out-of-the-box” features will the readers get to know from your book?
Microsoft has been so focused on the developer ecosystem, the recent acquisition of GitHub, the level of investment going into Azure to improve the overall developer efficiency all go to prove this further. I would put my money on such a product that has such backing. Talking facts, Azure DevOps has shipped hundreds of features every quarter year on year to improve all of its offerings and the overall story of integrating with other leading products and popular open-source frameworks. I can’t think of any other product in this space that competes with the rich yet generous offering of the Azure DevOps Server.
On Some Best Practices to Build High-Quality Software
What are some best practices to build high-quality software?
Technology is now seen as a differentiator that can enable businesses to compete in the marketplace. Software requirements are more fluid than ever before, in this kind of landscape traditional software development practices just don’t work anymore. If software is the key differentiator then the speed at which you can change software must also count as a competitive edge! My top 5 best practices for modern software development teams,
- Agility: Don’t let your teams get robbed by unaccounted work. Track your work in a Kanban board to raise visibility of the work your team is doing. Daily Scrum to keep everyone on the same page. Communicate with your stakeholders and users as often as you can and keep them in the inner loop of your software development lifecycle. The Agile tools in Azure DevOps provide all of these capabilities and are priceless if you are working with multiple teams across geographies.
- Version Control: Where you are developing personally and professionally, version control is important. Git has taken the world by storm and now officially has a major share of the version control systems out there. My advice to the teams would be to embrace git, create small code repositories and leverage pull requests for code review and forks for enabling internal open source to discover and improve code.
- CI/CD Pipelines: An automated Continuous Integration process means you can get feedback on your code quality and impact to overall codebase quickly. An automated deployment process would give you the ability to quickly deploy and test the changes to your product and collect feedback from real users. Both of these practices seem so foundational but are very difficult to follow every day. I often hear teams claim that they have a CD process, but that they only run the CD pipeline once every month. Trust me, if you aren’t releasing changes every day using an automated process, chances are it’ll be stale when you really need it.
- Version dependencies: The world is moving towards microservices created using micro components, this architecture lends itself to a fast pace of change. But again, it’s very easy to get in a mess of broken dependencies if you can’t identify what components your software depends on and what versions is it compatible with. Azure DevOps Server offers a private Artifact repository that supports nuget, maven and npm protocols. This means you have a central repository to store all your artifacts and tooling to automate the publishing and consumption of these components as well as the version dependency between them.
- Infrastructure as Code: Don’t get in the business of managing tin, cloud offering such as Microsoft Azure gives you the ability to consume platform services and pay for only what you use. Use PaaS and automate the process of provisioning and scaling the service as per your need. This takes away the limitless pain of managing multiple VM’s across environments, patching up, backing them up and managing their lifecycle.
On how Readers Can “Extend Azure DevOps Server to A Million Developer Ecosystem” With His Book
What was your motivation behind writing your book, Azure DevOps Server 2019 cookbook?
Azure DevOps is an amazing product that offers a broad range of capabilities for an end to end software delivery lifecycle. Some of these capabilities can be used out of the box and some require a level of customization. With an experience of using the product commercially for a number of years in complex enterprise setups, I have found that you can really unlock the true potential of the product. Additionally, you can achieve unprecedented levels of automation by all of your software development lifecycle artifacts into Azure DevOps. My motivation behind writing this book is to share this knowledge with other software development teams.
The product offers more integration with open source than ever before. Some of this isn’t documented at best which prohibits teams from being able to use it. The key chapters in the book also cover Azure DevOps integration points with other products and open source products.
You say, with your book, readers can “extend Azure DevOps Server to a million developer ecosystem.” Could you elaborate on what this means for you as a developer and also for the community?
Utkarsh, who has co-authored the title with me, has written the chapter on extensibility as he is very passionate and knowledgeable in Azure DevOps and Visual Studio extensibility. Azure DevOps extensibility has amazing space for innovation and features a marketplace that enables a reach to over 4M developers globally. Put these two points in perspective, you can almost find a gap in the product that can be filled with an extension that you could launch to millions of developers across the globe. Being able to reach such a user base would have been near impossible before, this is an exciting space and definitely worth keeping an eye out for.
On DevSecOps and Other Emerging Trends In ADS
Presently where does Azure stand in terms of emerging trends like DevSecOps and observability? What are other emerging trends in the CI/CD space?
Microsoft is in the innovator's quadrant in the CI/CD space, whether you are doing dotnet or Python, developing on Windows or Mac, hosting on VM’s or containers, you’ll find Azure CI/CD Pipelines feature-rich for your scenario.
Recently Azure DevOps has previewed pipelines as code. This is revolutionary and allows you to automate your pipelines at scale and increase the reusability of the automated components across the board. Azure DevOps marketplace offers a rich ecosystem of open source and paid extensions to enhance what you can do with CI/CD. If you are doing open source, you’ll find the Azure pipelines offering very generous with unlimited build minutes and 10 parallel pipelines for free.
There is a lot that’s happening in the DevSecOps space, although Microsoft doesn’t have an offering within the product in this space it integrates with all major products such as whitesource and Fortify.
Since you have been working on this platform/system for a while now, what are some features you would want Microsoft to include in its future updates? In other words, what are some limitations that ADS needs to improve on priority?
If you had asked me that question towyears ago I would have given you a big list of things I want to see in the product. These days, by the time you come up with an idea of improvement in the product the Azure DevOps team is at work shipping it.
Stay updated with the latest books on DevOps from Packt Publishing.
About the Book
Azure DevOps Server 2019 Cookbook - Second Edition, published by Packt Publishing, contains over 70 recipes to help you effectively apply DevOps best practices and implement Agile, Git, CI/CD and test automation using Azure DevOps Server (TFS) 2019. This book will also help you to create and release extensions to the Azure DevOps marketplace and reach a million developer ecosystem for feedback. The working extension samples will allow you to iterate changes in your extensions easily and release updates to the marketplace quickly.
Building CI/CD Pipelines for Java Using Azure DevOps
Opinions expressed by DZone contributors are their own.