-
Notifications
You must be signed in to change notification settings - Fork 532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSP asking for getting started advice: Anyone willing to spend some time 1:1? (PAID, if it helps!) #4509
Comments
This is very much just some random thoughts after using this tool for a few months but I'll give you a stab anyway. I much prefer to have this conversation in the open so that others may contribute/benefit.
We have removed all the GUIDs from our exports, for example, objectIDs. We then ran the DSC on a new tenant to see what works and doesn't. We're still fairly early on in this process, but its quite doable. We are taking tenants with existing configuration. We are finding its giving us an opertunity to clean up configuration inconsistencies, for example conditional access policies that are assigned direct to user GUIDs rather than groups.
We've come across this with assigned licenses to groups. This has worked in our case, the groups are not erroring because the license doesn't exist in the target tenant. There may be other issues that we haven't come across, we've spent all the time on EntraID so far.
We're not using the blueprint feature right now, and use Azure Devops to push configuration to tenants. Bear in mind when you use Azure Devops to push you probably won't get the scheduled drift report especially on agents that get recycled. In terms of authentication we use application with certificate as it seems the most widely supported authentication type across the different resources, and allows administrators to approve the API permissions we request. We have a Devops pipeline that runs under a service principal which has access to get the application certificate from a Key Vault.
We're handling the deployment using configurations per component. For example a configuration for groups, a configuration for conditional access policies etc. We have written a script to control the order of deployment, and that can be controlled by a data file which can be added to over time. I've seen mention in these issues of the DSC DependsOn functionality, which is another way of doing this. |
Awesome feedback, thanks. 👍 I agree - happy to have this conversation for the benefit of everyone. That's why I tried kicking it off here.
So it's safe to assume that resources created without an ID handed over will get new GUIDs?
Yeah - we thought of that caveat too. But we're willing to retrieve existing configs and manually/locally compare for drift. Be we don't expect much drift anyways. Our customers don't have their own admins - they have us. So chances of configs changing are very very low.
Cool, we were thinking the same.
|
In most cases where an ObjectID field is present that will be taken by the tool as an assertion to look up the resource by the ID and fail if its not present. If that field is missing then the resource is looked up by name and if required a new one will be created. As you haven't provided a specific example I can't get specific but we're trying to remove the use of any guids in the configuration wherever possible. Its worth playing round with this to identify where you will need to use guids in your specific configurations. Remember I'm also still working only on EntraID.
Our scripts currently do a configuration export and then runs the compare cmdlet which generates a delta report so we can see what has been changed on a PR. We have had some really good feedback from the community on potentially improving this, see issue #4488.
We're doing it like the Youtube tutorial. We have only a few tenants and currently do that using pipeline stages and variables. |
Adding some $0.02 from a previous life living in an MSP world and wider convos with MS around some of the points above:
If you do decide to go the DSC route would love to see some real world patterns and examples on how it can run, my MSP days are behind me but the logic for how it could be used more dynamically looks great |
Yeah, we did. M365 Lighthouse seems woefully inadequate in almost every which way imagineable. That's why we're looking at M365DSC. Some examples:
Just found that DSC/DevOps Whitepaper folks have mentioned. Easy to overlook on the site IMHO. 😉 Will take a closer look at it. Thanks!
|
@GeldHades27355 Are you okay with closing this issue? Guess you figured some things out, right? |
I found someone I paid, yeah. That being said - the learning curve is STEEP. 😁 |
We're starting an MSP business, focused on small businesses in the EU. Our clients/tenants have 3-5 users on average. You can imagine we'll have a few hundred tenants eventually.
M365DSC seems to be one of our best options right now, which seems to cover more automation than many paid products, while giving us exquisite control and flexibility.
But we have a TON of questions, which I'd hate to dump here - unless you explicitly ask me to. So is anyone in this community willing/able to get on a 1:1 with us to share some best practices and answer a ton questions we have? (yes, we RFTMed and still have questions.)
I'll keep it short and include the main ones here. Apologies if some of them appear too noob, but we gotta start somewhere. 😉
I'd be happy to give back to the project in form of documentation and how to guides, once we get everything working.
To keep it simple, go ahead and set up a call with us here: https://outlook.office365.com/owa/calendar/[email protected]/bookings/
Thanks!
The text was updated successfully, but these errors were encountered: