Azure DevOps (formerly VSTS, Microsoft Visual Studio Team System) is an agile development product that is an extension of the Microsoft Visual Studio architecture. Azure DevOps includes software development, collaboration, and reporting capabilities.
$2
per GB (first 2GB free)
Jenkins
Score 8.4 out of 10
N/A
Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.
N/A
Kubernetes
Score 9.0 out of 10
N/A
Kubernetes is an open-source container cluster manager.
N/A
Pricing
Azure DevOps
Jenkins
Kubernetes
Editions & Modules
Azure Artifacts
$2
per GB (first 2GB free)
Basic Plan
$6
per user per month (first 5 users free)
Azure Pipelines - Self-Hosted
$15
per extra parallel job (1 free parallel job with unlimited minutes)
Azure Pipelines - Microsoft Hosted
$40
per parallel job (1,800 minutes free with 1 free parallel job)
VSTS is great if you final source system is Microsoft based. Everything work well together and once you learned how use VSTS it isn't difficult to build more build systems. If your staff are used to the methods Microsoft uses, their time learning VSTS won't be as difficult as …
If you are currently using Jenkins or Bitbucket as an ALM tool, then I would highly recommend taking a look at Azure DevOps as the integration to the Microsoft stack is extremely easy and versatile. Microsoft has invested heavily in getting this tool best in class with the …
Azure DevOps is a completed product and ecosystem. It offers a robust ecosystem that does everything that is needed. The above products do lack features like pipelines tasks, third-party integrations. Besides all cloud benefits, the main advantage of Azure DevOps Services …
The greatest strength of Azure DevOps Services (formerly VSTS) is that it's a one-stop solution for all agile project management instead of setting up bits of different software put together for each and every need. Azure DevOps Services (formerly VSTS) has a great ecosystem …
I prefer Azure Devops over all other code repository / ci/cd systems that I've used in the past. All features are integrated into a single service (back log, repo mgmt, deployment pipelines, artifacts, etc.). The tools are easy to use and super powerful.
Our company is already using a lot of Azure services and it makes more sense to start using Azure DevOps Services (formerly VSTS) when we needed a CI/CD tool. We tested different features of Azure DevOps Services (formerly VSTS) and found out that the build and release …
One of the foremost reasons that acted in favor of Azure DevOps was its all-in-one packed web portal which enabled easy access to all the CI/CD tools and kits. Customizable screens, notifications via Teams/mails, project views, etc. Most other tools/products offer only part of …
Azure DevOps required the least amount of up front knowledge to get a pipeline up and running. Because of the built in activities, when I initially started working with this tool I didn't have to know anything other than where my code was stored. The rest was easy enough to …
With more functionality added, JIRA has become slow, whereas VSTS is a pleasure to use. Trac and JIRA do not show the entire health status of the pipeline like VSTS. Hygieia is open source and trying to achieve what VSTS does but it is not as mature yet.
VSTS is the best integrated tracking and deployment software for a pure Microsoft shop. It has some weaknesses, the builds aren't as easy to configure as TeamCity and the security setup is needlessly convoluted, but it is a solid offering.
There is little sensible competition for Visual Studio Team System as it offers a unique solution for Microsoft development. It is possible to build a similar solution using various open source technologies, but the will never compete in terms of unified solution.
I have used Spinnaker as a CD tool. Though it's a very powerful CD tool we still needed Jenkins for CI, so to save some hassle for us we opt Jenkins solely.
Team services, while very similar, did not really have that much more added features for the much higher price tag. The team has moved over to the subscription-based Visual Studio so we may be reevaluating this solution as now it is part of our subscription and no longer an …
The big difference between Jenkins and other alternative tools is that Jenkins is open source and it’s free. Jenkins is very much about simple functionality. It’s a general CI tool that offers basic automation. It’s the most common CI tool on the market with a large community …
When looking for alternatives for Jenkins we found CircleCI and TeamCity are good too. Jenkins was considered for reasons like it has a wide variety of plugins which integrate well with any kind of system. And its ease of use.
One of the other greater advantage is it is open …
Jenkins immense flexibility and its large and impressive selection of available community-driven plugins makes it ideal choice for solving non-traditional problems.
However, for CI/CD - consider the benefit of modern tools that enforce reusable, infrastructure as code design …
Docker Swarm is not as advanced as Kubernetes and there are no out of the box solutions for auto scaling and deployment strategies. Docker swarm doesnot have much experience with production deployments at scale. Swarm has a smaller community, and less frequent releases as …
We already had an enterprise Kubernetes 8 set up, so once we got our namespace it took me about 2 weeks to go from not knowing anything to having a self-contained jar in a container, running on Kubernetes 8. In comparison, it took me two weeks to install Java on a blank server …
Azure DevOps works well when you’ve got larger delivery efforts with multiple teams and a lot of moving parts, and you need one place to plan work, track it properly, and see how everything links together. It’s especially useful when delivery and development are closely tied and you want backlog items, code and releases connected rather than spread across tools. Where it’s less of a fit is for small teams or simple pieces of work, as it can feel like more setup and process than you really need, and non-technical users often struggle with the interface. It also isn’t great if you want instant, easy programme-level views or a very visual planning experience without putting time into configuration.
Jenkins is a highly customizable CI/CD tool with excellent community support. One can use Jenkins to build and deploy monolith services to microservices with ease. It can handle multiple "builds" per agent simultaneously, but the process can be resource hungry, and you need some impressive specs server for that. With Jenkins, you can automate almost any task. Also, as it is an open source, we can save a load of money by not spending on enterprise CI/CD tools.
K8s should be avoided - If your application works well without being converted into microservices-based architecture & fits correctly in a VM, needs less scaling, have a fixed traffic pattern then it is better to keep away from Kubernetes. Otherwise, the operational challenges & technical expertise will add a lot to the OPEX. Also, if you're the one who thinks that containers consume fewer resources as compared to VMs then this is not true. As soon as you convert your application to a microservice-based architecture, a lot of components will add up, shooting your resource consumption even higher than VMs so, please beware. Kubernetes is a good choice - When the application needs quick scaling, is already in microservice-based architecture, has no fixed traffic pattern, most of the employees already have desired skills.
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
I did mention it has good visibility in terms of linking, but sometimes items do get lost, so if there was a better way to manage that, that would be great.
The wiki is not the prettiest thing to look at, so it could have refinements there.
Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally.
The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively.
Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking.
I don't think our organization will stray from using VSTS/TFS as we are now looking to upgrade to the 2012 version. Since our business is software development and we want to meet the requirements of CMMI to deliver consistent and high quality software, this SDLC management tool is here to stay. In addition, our company uses a lot of Microsoft products, such as Office 365, Asp.net, etc, and since VSTS/TFS has proved itself invaluable to our own processes and is within the Microsoft family of products, we will continue to use VSTS/TFS for a long, long time.
We have a certain buy-in as we have made a lot of integrations and useful tools around jenkins, so it would cost us quite some time to change to another tool. Besides that, it is very versatile, and once you have things set up, it feels unnecessary to change tool. It is also a plus that it is open source.
The Kubernetes is going to be highly likely renewed as the technologies that will be placed on top of it are long term as of planning. There shouldn't be any last minute changes in the adoption and I do not anticipate sudden change of the core underlying technology. It is just that the slow process of technology adoption that makes it hard to switch to something else.
It's a great help to get more information about new feature release and stay updated on what the dev team is working on. I like how easy it is to just login and read through the work items. Each work item has basic details: Title, Description, Assigned to, State, Area (what it belongs to), and iteration (when it’s worked on). See image above.They move through different states (New → Discovery → Ready for Prod → etc.).
Jenkins streamlines development and provides end to end automated integration and deployment. It even supports Docker and Kubernetes using which container instances can be managed effectively. It is easy to add documentation and apply role based access to files and services using Jenkins giving full control to the users. Any deviation can be easily tracked using the audit logs.
It is an eminently usable platform. However, its popularity is overshadowed by its complexity. To properly leverage the capabilities and possibilities of Kubernetes as a platform, you need to have excellent understanding of your use case, even better understanding of whether you even need Kubernetes, and if yes - be ready to invest in good engineering support for the platform itself
No, when we integrated this with GitHub, it becomes more easy and smart to manage and control our workforce. Our distributed workforce is now streamlined to a single bucket. All of our codes and production outputs are now automatically synced with all the workers. There are many cases when our in-house team makes changes in the release, our remote workers make another release with other environment variables. So it is better to get all of the work in control.
When we've had issues, both Microsoft support and the user community have been very responsive. DevOps has an active developer community and frankly, you can find most of your questions already asked and answered there. Microsoft also does a better job than most software vendors I've worked with creating detailed and frequently updated documentation.
As with all open source solutions, the support can be minimal and the information that you can find online can at times be misleading. Support may be one of the only real downsides to the overall software package. The user community can be helpful and is needed as the product is not the most user-friendly thing we have used.
It is worth well the time to setup Jenkins in a docker container. It is also well worth to take the time to move any "Jenkins configuration" into Jenkinsfiles and not take shortcuts.
Microsoft Planner is used by project managers and IT service managers across our organization for task tracking and running their team meetings. Azure DevOps works better than Planner for software development teams but might possibly be too complex for non-software teams or more business-focused projects. We also use ServiceNow for IT service management and this tool provides better analysis and tracking of IT incidents, as Azure DevOps is more suited to development and project work for dev teams.
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/GitLab/Azure) provide other options but can obfuscate the process due to the lack of straightforward simplicity. In other areas (capability, power, customization), Jenkins keeps up with the competition and, in some areas, like customization, exceeds others.
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
We have saved a ton of time not calculating metrics by hand.
We no longer spend time writing out cards during planning, it goes straight to the board.
We no longer track separate documents to track overall department goals. We were able to create customized icons at the department level that lets us track each team's progress against our dept goals.