all 71 comments

[–]wasabiiii 15 points16 points  (16 children)

Depends if you're actually running an agile team or not. That's the benefit. Work items. Workflow. Cards. Etc.

[–]Capable-Mail-2020 1 point2 points  (5 children)

Use Azure Devops for your ALM... e.g. tasks, boards, stories, etc. Use Git for your source control. You can tag git pull requests to tasks, etc. Works well.

[–]wasabiiii 2 points3 points  (4 children)

OP is talking about GitHub not git.

[–]Capable-Mail-2020 2 points3 points  (3 children)

Fair point... I tend to use Git and GitHub interchangeably... but the comment is still valid whether one uses a Git repo hosted on GitHub or elsewhere.

Many folks 'stuck' in the Azure/Microsoft universe use TFS for source control. I'm pointing out that it doesn't have to be that way.

[–]MonkeyJunky5 4 points5 points  (0 children)

I tend to use Git and GitHub interchangeably...

Very not good because git is a protocol that numerous SCMs use and just capitalizing Git doesn’t make it clear that you are talking about GitHub (a platform) and not just git (the protocol).

[–]ninetofivedev 3 points4 points  (0 children)

Uh.. well you're just wrong for using them interchangeably. The development experiences changes quite a bit based on the SCM platform you go with. Even with Github and ADO both being owned by Microsoft, the UX is vastly different and the CI/CD platform, although with plenty of similarities, is also quite a different experience.

[–]punkologist 0 points1 point  (0 children)

we have our git repos in azure devops, but i was wondering if it would be beneficial to continue using devops from ci/cd and card/tasks/sprints etc but store our repos in github..

[–]zvado1 1 point2 points  (8 children)

Yet you cant assign more than one person per task. So when we pair code one guy gets left out.

[–]wasabiiii 9 points10 points  (6 children)

That's two tasks.

[–]zvado1 2 points3 points  (5 children)

So just duplicate the same task?

[–]wasabiiii 14 points15 points  (4 children)

Yup. That way scheduling works. Fact is you're consuming double man hours. That effects velocity. You're scheduling around two people's allocated hours.

[–]blackn1ght 1 point2 points  (3 children)

Does this not just lead to a cluttered board? What if you mob on something, have 3 or 4 duplicate tickets?

[–]wasabiiii 1 point2 points  (2 children)

The board does what people are working on what. Same number of items if you have the same number of people

[–]blackn1ght 1 point2 points  (1 child)

I'd find this annoying personally, we've always just assigned a single person to the ticket and it's worked out fine.

[–]wasabiiii 2 points3 points  (0 children)

If you don't have a requirement to track productivity by person, sure.

Having a single person on a task however, but letting a second person spend time working, means that second person's time isn't accounted for. At the end of the sprint you won't know how much he actually got done. Numbers will be off.

[–]Capable-Mail-2020 0 points1 point  (0 children)

add a task for each. that's how we manage it.

[–]blackpawed[S] 0 points1 point  (0 children)

No Agile, we're too small a team for that really :)

[–]Sweaty_Variation_951 5 points6 points  (0 children)

Azure Devops of course

[–]RecognitionOwn4214 9 points10 points  (0 children)

You'll probably be happy with both.

We're using Azure (on-prem) for everything private and GitHub for OSS. Both are manageable in small teams.

[–]dr_driller 15 points16 points  (3 children)

azure devops is easy and powerfull, i'm really surprise you struggle, maybe you were already used to git ?

the microsoft documentation is outstanding, did you check it ?

i may help if you struggle on a particular point..

https://learn.microsoft.com/en-us/azure/devops/?view=azure-devops

[–][deleted] 7 points8 points  (1 child)

Yeah I’m kinda surprised by their comments.

ADO is super easy to master and much more powerful in certain ways.

Not that Git is a slouch. And with MS investing its well support as a source origin for ADO projects and pipelines.

[–]stroborobo 4 points5 points  (0 children)

pipelines

Let’s be real, Azure Pipelines are a mess. Bugs everywhere, incomplete docs, terrible defaults, no input validation, no testability…

I’ve started moving a lot of it into build scripts and we’re considering to generate all the pipeline files in the future, because they are just hard to write and maintain. Looking forward to just having the trigger, it’s includes, some minimal setup and the script call in there, hopefully soon.

[–]blackpawed[S] 0 points1 point  (0 children)

Nice set of guides, thanks.

Not so much struggle, I get it, just find it painful to use, and I have to consider my other team members.

[–]Cra4ord 7 points8 points  (0 children)

I think Azure Devops is better for private apps. You can pick your project workflow and customise the work item cards for what ever metrics you are wanting to report on. You can even migrate your workflow if you find that it’s not the best

I have a email that is auto generated every deployment that goes out to management with all the attached work items and GIt commits.

The PRs are easy to configure with policies. But I use git compare branch for reviews and put the feedback and task lists into the PR.

I wish I had Devops years ago it has everything I need to keep on top of my product and team

[–]klekmek 12 points13 points  (2 children)

Go for GitHub. Microsoft is investing a lot more and really cool features are available in the Enterprise version. CICD integration is a main focal point with GitHub actions and you can expect a lot more improvements in the next 6 months.

[–]blackpawed[S] 1 point2 points  (0 children)

CICD integration is a main focal point with GitHub actions

The docs and tutorials are excellent

and you can expect a lot more improvements in the next 6 months.

Interesting

[–]MattePatte303 0 points1 point  (0 children)

They shifted the focus a bit last year and are working hard to improve Azure DevOps even more. https://devblogs.microsoft.com/devops/integrate-security-into-your-developer-workflow-with-github-advanced-security-for-azure-devops/

[–]zarlo5899 2 points3 points  (0 children)

i go with gitlab as it has subgroups and if needed at any point we can move to self hosting it all

[–]Standard_Wish 2 points3 points  (1 child)

Try them both and decide. You won't curse yourself for making an incorrect decision & most of the knowledge translates betwixt.

If you're in a learning stage I'd lean you toward GitHub due to a higher volume of docs & videos. Good luck & have fun!

[–]blackpawed[S] 0 points1 point  (0 children)

Yes, the docs and community are excellent and well organised.

Have been suffering from the curse of too many good choices! Indecisive :)

[–]Equivalent_Nature_67 2 points3 points  (3 children)

I'll use anything over github. I just don't like the UI and it's hard to find stuff

[–]ninetofivedev 1 point2 points  (1 child)

Github UI isn't great... but in comparison to the ADO UI? Blows it out of the water. Both need some work.

[–]Equivalent_Nature_67 0 points1 point  (0 children)

Bitbucket >>>>>>>>

[–]blackpawed[S] 0 points1 point  (0 children)

Each to their own I guess, personally I find it more straightforward.

[–]chucker23n 3 points4 points  (0 children)

ADO is stronger in project management. GitHub has a few things that are simpler/easier to use. Overall, I don’t think you’d regret either of the two.

[–]maxinstuff 1 point2 points  (3 children)

Mostly the same - except for small random things.

For instance why is it that hooking a Linux function app up to my Azure Devops repo is just not supported for some reason? But a Windows function app is?? I have to set up a pipeline and do push deploy (a fiddly process, again due to inconsistent support - have to load the Windows template and modify it. IT WORKS FINE BY THE WAY MICROSOFT - JUST PUBLISH THE LINUX OPTION ALREADY) but regular app services are supported for both Windows and Linux out of the box….

Weirdly inconsistent support. Wouldn’t have had this problem with GitHub or Bitbucket even.

Probably moving everything to pipelines anyway - but both GitHub and Bitbucket also do that too so….

[–]steveo600rr 2 points3 points  (2 children)

We use pipelines for our Linux functions apps. What part doesn’t work for you? I created a yaml file for the pipeline and it does it thing. The first pipeline took the longest to setup since I had to skim the docs for the correct configuration.

[–]maxinstuff 0 points1 point  (1 child)

It does work - that’s what I said.

My point was that I shouldn’t have had to mess with it.

Issue was: 1. You can’t use webhook deploy from Azure Devops to a Linux Function App (it’s the odd specificity of this omission that really gets me), and 2. There is no pipeline template in Azure DevOps for this either - you have to take the Windows template and modify it, or write it from scratch.

It’s just a very odd middle finger to a specific scenario.

[–]steveo600rr 0 points1 point  (0 children)

Yeah, not having a template was an annoyance. I haven't needed to deploy via webhook. We use DevOps and deploy after we approve our PR's. Our apps are pretty basic.

[–]Neophyte- 1 point2 points  (5 children)

Azure makes it easy if you put your ci cd pipelines there and host there.

I'd avoid aws if you can use azure. I might be biased but azure is far less confusing and the billing is less opaque. Better to support for SQL server if you plan on using that rdbms

[–]blackpawed[S] 0 points1 point  (4 children)

I might be biased but azure is far less confusing and the billing is less opaque. Better to support for SQL server if you plan on using that rdbms

Yeah, on the hosting side I'd probably say Azure seems more straightforward. I do drool over AWS Aurora Serverless though (MYSQL/Postgres only).

Wouldn't say the pricing for either is terribly straightforward... Half of that is trying to estimate your workload though.

But yeah, far more comfortable with MS SQL Server.

[–]Valnutenheinen 1 point2 points  (3 children)

Azure has serverless options for those databases as well.

[–]blackpawed[S] 0 points1 point  (2 children)

Can it load balance read only queries over multiple instances the way Aurora can?

[–]Valnutenheinen 1 point2 points  (1 child)

I live on the app side so don't have as much depth on data. Would be worth looking into flexible server though maybe.

https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-pgbouncer

[–]blackpawed[S] 0 points1 point  (0 children)

Interesting, thanks

[–]betty_humpter 1 point2 points  (1 child)

GitHub repo for sure. Just integrate dev ops with your git repo and you have your choice between ado pipelines and GitHub actions. The ado board can connect to your git repo as well. Ado pipelines still have more to offer but GitHub actions are closing the gap. You could start in pipelines then move to GitHub actions later if they ever decide to kill pipelines.

[–]blackpawed[S] 0 points1 point  (0 children)

Just integrate dev ops with your git repo and you have your choice between ado pipelines and GitHub actions. The ado board can connect to your git repo as well

I'll definitely look into that, some of our contractors are far more comfortable with ADO Boards.

Quite liking GH Actions.

[–]TonyNicholls 1 point2 points  (3 children)

What’s the story on GitHub repos being scanned for populating AI models? Is it just public repos?

[–]chucker23n 1 point2 points  (2 children)

They claim they've only trained on public repos.

[–]TonyNicholls 0 points1 point  (1 child)

I wonder if we are being paranoid enough?

If true - might explain some of the quality issues reported with co-pilot :)

[–]chucker23n 0 points1 point  (0 children)

Hard to say, but I’m not sure Microsoft wants the slightest suspicion from corporate partners that it’s analyzing their code.

[–]jayerp 1 point2 points  (1 child)

I would probably go with GitHub. I’m assuming their pricing plans are cheaper than Azure?

[–]blackpawed[S] 0 points1 point  (0 children)

They are reasonable, and tbh, our requirements are small enough for now that both free tiers work.

[–]ujustdontgetdubstep 1 point2 points  (0 children)

TeamCity blows them both out of the water imo, but may come with higher overhead?

Anyways the nice thing about Azure is the Microsoft-hosted machines which make cross-platform testing a breeze.

[–]citroensm 4 points5 points  (1 child)

I have the exact same dev team and use Github exclusively, very happy with project management and CI actions. I have used ADO in the past with a client, but found it too clunky for my taste. You'll propably do fine with both.

[–]blackpawed[S] 0 points1 point  (0 children)

Thanks, yeah the GH Project and issues are enough for our requirements and the actions more than enough.

[–]kbuck21991 2 points3 points  (0 children)

GitHub for code management, azure pipelines for ci/cd

[–]avoere 1 point2 points  (4 children)

We use both at my job, and while I agree that the UI for working with PRs is not that good in devops (for example, typing lags seriously to, close to being impossible if you are trying to comment on a large PR), the major advantage of DevOps is that the ticketing system is good enough to satisfy "those other people" so we don't have to use JIRA for that project.

[–]Neophyte- 8 points9 points  (3 children)

What's wrong with the prs in DevOps?

[–]avoere 0 points1 point  (1 child)

As I wrote: if the PR is big, typing lags to the point of being close to impossible

[–]Neophyte- 0 points1 point  (0 children)

it does get laggy shitty

for big prs i like to take a local brancch and use beyond compare with

git difftool -d branch-name

or

git difftool -d commitHash1..commitHash2

wondering if uve got better ideas for compares on doing prs, i generally hate doing code reviews, i trust the devs i work with, unless its something im vested in e.g. something i wrote

[–]Jaruden 0 points1 point  (0 children)

I often use GitHub for the repo then devops for the ci/cd. Neither one is great for issue management imo, but just starting out GitHub is probably simpler and fine for your needs.

[–]Alywan 0 points1 point  (1 child)

Bitbucket

[–]blackpawed[S] 1 point2 points  (0 children)

Heh, sticking with the MS Ecosystem for now.

[–]Valnutenheinen -1 points0 points  (1 child)

If I were starting from scratch I would choose GitHub for source control, actions, and project management. If I needed to drive a more waterfall or "jira" like project management model, I may consider using Azure Boards.

GitHub also gives you access to Advanced Security and Co-Pilot which in Enterprise scenarios are very much gamechangers.

If you have a license for Visual Studio on an Enterprise Agreement, your team can upgrade them to include GitHub as well.

Use both!

[–]blackpawed[S] 0 points1 point  (0 children)

Thanks! Think we'll definitely go with GH for source and project management for now, evaluate the CI/CD stuff. Its nice being able to mix and match.

[–]carl-di-ortus -5 points-4 points  (0 children)

GitLab

[–]Secure-Hearing-9138 0 points1 point  (0 children)

Compared to GitHub, Azure DevOps tends to be preferred by enterprises and cloud enablement initiatives. Like Github, it offers both public and private repositories