13

I've been doing some research on the Azure DevOps solution that Microsoft recently unveiled.

Some background, I've been using Jenkins for years, and recently started exploring the containerisation rabbit hole (Docker, Kubernetes, etc),

I'm unsure about some of the aspects of Azure DevOps Pipelines, and it'd be awesome to get some feedback and clarity.

TL;DR

  1. Is Azure DevOps now competing with Jenkins, where they previously supported the Jenkins community via open source plugins for Jenkins?
  2. Is it possible for me to host Azure DevOps Pipelines completely on premise, not just agents?
  3. Is it possible to use a self hosted git solution (like GitLab on-premise) with Azure DevOps Pipelines?

Longer version

  1. Microsoft has developed various open-source plugins for Jenkins, such as the Azure App Service Jenkins plugin. There are many examples. To me it seems like the Azure DevOps (specifically Pipelines) solution is now competing directly with Jenkins, or am I missing something?
  2. To me it seems that there is no way to host the Azure Pipelines solution on premise, or in a cloud provider of my choice. Yes, I can host my own agents where the bulk of the work is performed, but the actual execution of the pipeline logic happens on Microsoft's servers. And then I have to pay for parallel jobs. I'm comparing this to an on-premise (or cloud provider of choice) hosted Jenkins instance, where no payment is required, and no 3rd party is even aware that our pipelines are running. Am I missing something?
  3. From what I can tell, Azure Pipelines has no support for self hosted repositories, I either put my code on GitHub or on Azure repos, nothing else. Thus, I can't even use this Pipelines solution if I have a privately hosted GitLab instance?

Thanks for any input.

5
  • 3
    Could I suggest splitting this question up into separate ones? The question as it stands seems more like an invitation to discuss opinions. If you could separate them into individual questions, they could be better answered. Commented Oct 20, 2018 at 6:04
  • Hi Have you got any answers for any of these questions?
    – user10804
    Commented Nov 12, 2018 at 12:38
  • Azure Devops cant be hosted on premise, but TFS can which is essentially the same thing but gets its updates slightly more slowly. We use TFS 2018 on prem and its great
    – Rich
    Commented Dec 3, 2018 at 16:52
  • Is this a real question? To me it looks like FUD with no actual research. Commented Jan 15, 2019 at 13:04
  • Great question! Have you reached any answer to your questions? If so, please write it so that the community can benefit from it too.
    – rodrigogq
    Commented Jan 17, 2019 at 10:25

3 Answers 3

5

I would love to get some clarity too maybe from a more authoritative source than myself (I'm sure I'm guilty of FUD too).

I've been looking to deploy to Azure using Kubernetes. I am similarly confused but I think that is because there isn't one clear path. I can't speak for Microsoft but their attitude to cloud seems to be they are happy to become "all things to all men". If you are using Azure, Microsoft don't seem to have a strong opinion on how you get there.

Microsoft are actively trying to evolve; e.g. Linux now dominates Azure


Clearly Azure DevOps deployment pipeline does exactly what Jenkins can do - so in that sense it is a competitor. There is also that slightly off-putting upfront Azure DevOps pricing for parallel pipelines.

On the one hand, Azure DevOps appears to be a re-branding of Visual Studio Team Services. So it will be familiar to people already within the traditional Microsoft development ecosystem. At the same time Microsoft are making great efforts to embrace technologies that are not traditionally Microsoft (Go, Java, Node.js, Python, Ruby, PHP etc).

It is early days - but it is not a surprise that Azure DevOps pipelines should prefer the Microsoft Git properties of Azure Repos and GitHub. In the same way that BitBucket pipelines prefers BitBucket and GitLab pipelines prefer GitLab.


Meanwhile;

The Azure Marketplace offers a Jenkins deployment that comes with Azure deployment plugins out of the box.

Many Jenkins plugins have been developed by the Azure DevOps team.


in addition;

Microsoft have put their backing behind Kubernetes related projects Helm and Draft. Helm is a package manager for Kubernetes. You can even use Helm to deploy a Jenkins installation into Kubernetes.

--

It would be interesting to see someone weigh up the benefits, costs and effort of running your own Jenkins in Azure verses using Azure DevOps pipelines.

... and then there is Jenkins-X.

So it would seem we have many options and decisions to make.

2

In answer to part 2 (maybe), it does seem like they're pitching it as an alternative to Jenkins, although there's plenty of documentation suggesting that it can all be used together (and here). When used with Jenkins though, it does seem to be more focussed on a deployment bridge. I was hoping that I could use it as a build agent with Jenkins as an orchestrator, like I could do with Jenkins & AWS CodeBuild. I haven't seen anything to suggest I could do so yet, but maybe... Multi-cloud deployments is very intriguing though...

2
  1. Yes, because Azure Pipelines can do what Jenkins does. However, you don't have to throw the baby out with the bathwater. Microsoft continues to position their platforms such that integrations can occur with existing installations of just about anything. Many orgs have huge investments in tooling that is difficult to change. Rather than taking an all-or-nothing stance, Microsoft is embracing standards and a bring-your-own mentality, giving you ultimate choice as to how you want to implement the tools.

  2. The agents technically are your pipeline as the tasks execute on the agents targeted within the pipeline. All you are configuring within the portal are the steps the pipeline will execute. The agents download tools/extensions necessary to execute the tasks. In addition, with the new YAML pipelines, the pipelines are defined within your code repos. As far as hosting is concerned, you can host Azure DevOps Server entirely on premise, within any cloud provider, or a combination of Azure VMs and Azure SQL.

  3. Generic Git repositories are supported in Azure DevOps Services using the classic editor or both YAML and classic editor if using Azure DevOps Server (on-prem) at the moment. You can add GitLab repository integration by installing the extension.

Not the answer you're looking for? Browse other questions tagged or ask your own question.