Why we need to manage?
1. Multiple environments -  
Dynamics 365 (CRM) online enterprise projects have multiple
 instances deployed - Dev / QA / UAT.  Clients also want to be able 
to do continuous development and deliver releases to Production in an 
agile process. Agile also adds complexity, as we have multiple teams (dev /
 integration / business) who interact together as the development 
progresses through different sprints. Hence in a typical deployment you 
will have possibly many or all of the following instances.
- Development
- QA
- UAT
- Integration
- Migration
- Performance
- Pre-production
- Production
2. Multiple user access -  
Each environment has its own team of users who may need 
access to that specific instance only. There may be few users who need 
access to multiple environments like Build Manager or System Admin. Also
 the Solution owner or Build manager maintains and deploy the correct 
customization code (solutions) for each instance. All of this requires 
proper planning and management of Dynamics 365 (online) deployments.
Here are some of the options to manage Dynamics 365 deployments - 
1. Deployment process – A deployment 
process needs to be planned out for the Project. In an Agile continuous 
development the deployments are done in “Releases”. So there could be an
 initial Release-1 which goes through Dev to Production.  
A typical 
Release-1 deployment path from Dev to Prod is shown below -
Release-1 deployment path
Once the Production environment is ‘Live’ with Release-1 
functionality, it is essential to have a second parallel path for the 
development and testing of Release-2 functionality. 
In addition a hotfix
 deployment path is also needed to fix any bugs found in Production 
environment. A Release-2 deployment can include the following instances.
Production and Release-2 development path
Any fixes done for Production are also implemented in Dev-2
 environment. As the Release-2 is ready to be deployed the same path can
 be followed for deployments for the next Release cycle. Thus providing 
ongoing Production support and continuous development.
2. Control User Access - 
Security plays an important role in preventing unauthorized
 users from accessing environments. There are many ways that 
Dynamics 365 environments can be secured and managed.
- Active Directory / Office 365 user access – Dynamics 365 online access is provided through Active Directory / Office 365. Once the user has access to Office 365, they have to be provided access to the individual instances by assigning them a valid license and a security role. If an employees leaves the organization and their Active Directory access is removed, this also disables the user from all Dynamics 365 environment.
- Security roles - This is the next step to grant user access to the Dynamics 365 instance. It is also probably the most widely used (not recommended) method of managing user access to different environments. A user with system admin security role in Dynamics 365 can assign another user a security role – This will grant access to the instance to the user.
If we only manage user access by 
adding or removing security roles it can be difficult to manage for 
large number of users. Users may get temporary access to environments 
and the access never gets removed. It is also a challenge because there 
is no way of knowing which user has access to what environments without 
logging in to each individual environment.
- Security groups – This is one feature that should be used for managing user access to Dynamics 365 environments. In office 365 users can be added to Security groups. The security groups can than be assigned to the individual instances of Dynamics 365.
Users can be divided into the following groups.
1. Dev
2. QA
3. UAT
4. Integration / Migration
The security groups can now be 
given access to the corresponding environments. A user who needs access 
to multiple environments can be added to the corresponding security 
groups.
3. Solutions Management
Solutions are used to move customization's and 
configurations from one environment to another. The build manager will 
be responsible for the solution movements and tracking. Solutions can be
 managed or unmanaged and this depends on the project requirements. 
Dynamics 365 has tools to do Solution patching and 
versioning which can be utilized. Versioning is important to keep track 
of the customization's in each environment.
In addition to import and export a solution, there are 3 new buttons as highlighted above. They are
1. Clone a Patch
2. Clone Solution
3. Apply Solution Upgrade
I hope the above assists you in managing 
multiple Dynamics 365 deployments. Please leave your feedback on how do
 you manage Dynamics 365 deployments in your project. 
Keep reading.
Mihir 
 
  
  
  
  
No comments:
Post a Comment
Please add your comments and feedback. Thanks for reading.