After many days of research, I have determined it all boiled down to missing a step. Mistakes happen.
Post Deployment Steps
Once the deployment is complete, there are a few steps that you should take.
Rebuild All Indexes from Control Panel
Build Link Databases
Rebuild the Link Databases from Control Panel
Download the AzureToolkit from Sitecore.
Powershell 4.x or newer ($PSVersionTable.PSVersion to check your current version)
Download and install MSDeploy.
SQL Server (The express version is enough)
Microsoft SQL Server Data-Tier Application Framework (DacFX) for SQL server 2012 or later.
1 - Import the methods you will need from ...
Accessing Sitecore XP logs and diagnostics information on Azure Web Apps differs from the on-premise approach. This article explains how to collect basic Sitecore diagnostics information, such as logs and configuration data, for a Sitecore XP solution deployed to Azure Web Apps.
To access enhanced logging data of a Sitecore XP instance deployed to Azure Web ...
Update: Currently WAF is supported in diagnostic mode only for v8.2 and 9.0
In version 9.1 WAF is supported for the CD servers.
More information can be found here: https://doc.sitecore.com/developers/91/sitecore-experience-manager/en/using-azure-application-gateway-to-secure-your-content-delivery-server.html
Below are the list of OWASP rules that are ...
By default Sitecore doesn't use the Roslyn compiler nuget package Microsoft.CodeDom.Providers.DotNetCompilerPlatform, and instead will use the version of Roslyn installed on the system.
I've seen a very noticeably improved compilation performance improvement when using the latest version of that package.
Install the latest version of the ...
Azure Redis cache is the default session provider Sitecore 9.0 will use in Azure Paas. Out of the box, Azure Redis Cache will be configured and used by Sitecore.
Sitecore uses this session provider as a means of managing out of process (ie. distributed) session state to share contact data across browser sessions and devices. This is required to support ...
No, you cannot download the certificate after the deployment.
On the Summary page of the wizard you can read in red:
Important Notice: This certificate will not be available for download
at any other time during or after the deployment. Please download now
if a copy is required.
So you can only download the certificate on the Summary page.
Yes, you definitely still need to perform regular database maintenance. Especially on Sitecore DBs like Analytics that have a lot of activity and develop index fragmentation quickly. At least, if you want to maintain performance of your site.
I should mention, that whitepaper was written a long time ago, and Azure gets updates every month. A number of the ...
This issue happens because it is impossible to add self created certificate to the trusted list of Authorities in Azure as it is global thing.
But for developers environment, we should be able to use self signed certificates instead of purchasing real ones.
For certificates purchased from trusted vendors will not be an issue.
You just need to add a ...
You ask if anyone can point you to what's going on. This is a COMMON symptom for all Sitecore sites running in Azure PaaS Web App Services.
The issue stems from the fact that the underlying load balancer that sits between the App Service and the public internet has an internal probe that checks to see if the application is running and ...
Both Richard's and Pete's answers led me on a path to solve this. Pete's answer actually gave most of the solution, but I'll summarise my complete findings here.
On the use of Deployment Slots
Before I go on, I'll just touch on this point, as suggested by both. And while this can and will work around this problem, it doesn't actually solve the ...
The Azure Module has been deprecated from Sitecore 8.2. We will be updating the module for 8.1 to support; new Azure SQL and SDK and most important change to Redis Cache Session State Provider (as the In-Role Cache service being shut down end of November).
The new Sitecore Cloud offering will be launched with Sitecore 8.2 update 1. Using ARM (Azure ...
'New-SCWebDeployPackage' cmdlet will be available after importing assembly Sitecore.Cloud.Cmdlets.dll
By default, loading an assembly from a network path in PowerShell console is disabled, It can be enabled by creating two PowerShell configuration files:
Helix is just an software architecture pattern, it has nothing to do with how should be deployed. Your statement
Since by default Azure Web Apps needs VS to do the deployment
is not true. My adivce would be to create separate web deployment packages and deploy them using msdeploy, from your Release management solution, not directly from Visual Studio.
How it works
Have a look at the App_Config/Sitecore/Azure/Sitecore.Cloud.ApplicationInsights.config which gets deployed to all CM/CD/PRC/REP roles.
You will see that all the built-in log4net appenders get patched to append via the Application Insights LevelTraceAppender.
You may also notice that sitecore still logs to the file system on Azure PaaS, which ...
There are two ways to get Sitecore on Azure deployed in Azure PaaS.
Using custom built ARM Templates (See blogs suggested by Dmytro in Question comments)
Installing from Azure Marketplace (the focus of this answer)
Installing Sitecore 8.2 Update-1 Azure PaaS from Marketplace
The easiest and fastest method for getting Sitecore 8.2 Update-1 up and running ...
The Analytics DB is used as a reporting database for xDB. MongoDB is the collection database and periodically this is aggregated and stored in the Analytics db (also called the reporting db).
If you have xDB and Tracking disabled, then you will not need the Analytics DB. IF you are using xDB and want to be able to view all the reports etc... then you will ...
The very unfortunate answer to this question is that you can't (at least not as of the writing of this answer).
Per this blog post, dated June 2018:
You cannot, at this moment, create a custom culture on an Azure App
Service. Cultures are part of the standard operating system and
require changes to the registry to modify or add them. An Azure App
The easiest way to do this is to install a Solr server Virtual Machine. In my case i spun up a simple DS2 V2 Windows 2016 VM. Configured Solr 6.6.2 using SIFless install.Once you get this working for "localhost:8983/solr", you will need to open some ports on the VM firewall to allow connections to that port from an ip address range in your azure VNet (i.e. ...
Issue was solved by decreasing batch size, for more info you can have a look onto:
This value can be set in Sitecore.ContentSearch.Azure.DefaultIndexConfiguration.config which is living under App_Config/Include. Node name ...
Okay - so we've got to the bottom of this and it looks like it was just a misconfiguration issue when using SOLR cloud.
I'm posting this here for reference:
Rebuilding the index for SOLR cloud is detailed here
With the most important things being:
On the CM box the following should be setup:
<index id="sitecore_web_index" type=
I am not aware any IOPS guidelines, but there is a Sitecore Experience Platform 8.2 Performance White Paper where they have made many test and the Premium Storage Account is only mentioned for MongoDB.
In general, your Primary MongoDB takes the biggest hit and needs the fastest drives. Other than that, Sitecore solutions have largely been found to be CPU ...
Unlike the Sitecore XP1 and XM1 packages, the XP0 package contains a zip inside the zip.
You need to unpack that zip to your hard drive first (so it directly has the Content folder, and other files directly inside it), then upload it to your BlobStorage. Use the link of that blob in your ARM template parameters, and the install should work fine.
The issue is that the classic Sitecore publish works with one item at a time, once you add network latency to that single operation and then multiply by number of targets and languages you can see why it takes so long in some configurations.
Im sorry this doesn't help directly with you answer.
My colleague wrote a blog post on classic Sitecore publishes ...
As you mentioned Replication is required for some Sitecore databases, but SQL Azure (PaaS) does not support SQL read-write geo-replication currently just read-only(https://docs.microsoft.com/en-us/azure/sql-database/sql-database-designing-cloud-solutions-for-disaster-recovery), so the only option is to have all CD locations connect to the central Core ...
So, I managed to figure out what I was doing wrong. Finally.
There were 2 big issues with my code:
The naming of an item is seriously important and has a few different purposes, especially in the case of child resources.
It is impossible to update a resource in the same template due to the unique naming restriction.
For point 1, it is also important to ...
The folders (d:\local\MediaCache and d:\local\temp) are there, but Kudu tools appear to look at a different instance of 'D:\local', and they do not see the files and directories created by Sitecore. It looks like Kudu tools are running in a different but linked sandbox.
You could use the attached example code (showmediacachefolder.aspx) to examine D:\local ...
I was able to solve this.
Navigate to your Sitecore Azure Toolkit path in Powershell and run the following after unblocking all the files.
And now we can use the commands to create the WDP for the Sitecore Module like Data Exchange Framework by running this ...
To round up this topic, we ended up using the Razor Generator plugin of visual studio.
And added the assemblies to the precompilation section in sitecore config. (This is the same method sitecore uses to speed up experience editor.)
An answer has also been given through the Sitecore Community Slack channel.
Credit to sumithpd (Sr. Product Manager - Experience Platform at Sitecore)
The mentioned class has been removed from the assembly, but it is still referenced in the configuration.
It doesn’t affect any functionality since the class was obsolete for some time, and the log errors can ...