Jenkins vs Azure DevOps Pipelines 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


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


Longer version


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?
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? 
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.
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.