Currently we are running Sitecore 8.1 Update 3 and planning for sitecore 9 Update-1 upgrade.
We have following set up currently:
1 CM server
1 Processing server
4 CD server
3 SolR/Zookeeper
Mongo hosted on mLab ( Database as a service )
We are planning to upgrade CM server first as we know we would need /installationwizard.aspx URL to install packages.
This process will update/add few config files in /App_Config folder. Once done we'll look at files in /App_Config folder by descending date and move/overwrite all to processing and CD servers.
Is it preferred option?
Now because we are keeping code in bitbucket repository so all these new config updates should be there in bitbucket so that all team members can get latest Sitecore 9 config files.
Should we update all config files by looking at line by line in project solution? This looks like really a time consuming process.
Below link says no MongoDB in Sitecore 9 If so what will happen with MongoDB data which is running right now. Sitecore 9 xDB Support for MongoDB Does this means mLab hosting provider will be out of picture.
How does this migration happened. Do we need to set up new blank collection database on mLab hosting provider so that we can migrate data from xDB 8 to xDB 9
UPDATE 3/21/2018
As per suggestion we are planning below approach
Set up a new SQL 2016 server and migrate xDB data usingxDB Data Migration Tool 2.0.1
Use the upgrade packages to upgrade content databases( core,master,web ) as per Sitecore 9 upgrade guide.
Install a fresh instance of SC9 Update-1.
Set the connection strings to upgraded databases.
Deploy custom code from existing installation(8.1 Update-3 ) into this new instance.
Apart from this application contains some code related to MongoDB as given below. Does that mean before we deploy custom code on new SC 9 instance we need to change whole code If so how do we know SC 9 compatible code
public OrderResponse GetSubmitOrderResponse()
{
if (!Tracker.IsActive || Tracker.Current == null)
{
Tracker.StartTracking();
}
if (Tracker.Current.Contact.Attachments.ContainsKey("Order-Response"))
{
return Tracker.Current.Contact.Attachments["Order-Response"] as OrderResponse;
}
return null;
}
Looks like moving to SC9 is big effort