Dear folks,
Thought of sharing you couple of best practices that every architect or team lead must be aware when they proposing a solution on SharePoint or when designing the SharePoint solutions. I see most of the successful project implementation ends up with a common problem on -Performance, Reliability issues.. etc.
I tried to list down some of the basic things that we should take care when we play around in SharePoint.
- Standard Naming convention across SP Farm. Use standard naming convention as per your governance process or policy for all your accounts, service application, web applications, database name, site collection names..etc. This will really help you when you want to maintain the farm and to do some changes in future easily if needed.
- Have defined physical infrastructure setup. Really mean, have a dedicated systems as when required (like for Domain Controller, Database server, Web App server, App Server, Office Web Server). Don't mess up multiple server roles in a single server itself. Also see what you can virtualize and what you cannot.
- Have defined logical setup for your farm elements (Web applications, Service Applications). Don't try to create everything under same roof or don't create everything as an isolated items in SP farm. Analyse and group all the necessary items and create a required structure. Example( All service applications can be pointed to one app pool and all the web applications can be pointed to another app pool. Don't create app pool for each web application unless it is really needed)
- Follow a proper capacity planning process (model, design, pilot, deploy, monitor & maintain), because capacity planning is not something a one time activity or single solid solution. It is more like an evolution and on going process. Also check for attributes like latency, throughput, data-scale, reliability..etc
- Be aware of capacity boundaries/limits of SP 2013, both software and hardware boundaries
- Training - its must for all the folks who uses SharePoint, its not just for the developer/administrator/monitor/security guys. We have to train the potential users of SharePoint to make better use of it. Only when users started using the site we will be able to get real metrics and measures valued properly against your capacity/performance..etc. otherwise everything is just theory, only in papers
- Avoid GUI based installation process, use powershell script to the maximum extent for all the installation and configuration of SP farm. I am quite sure you will understand the importance of using powershell instead of GUI when you want to setup a proper sharepoint farm.
- Avoid using Configuration wizard to setup service applications in SP farm. Do it manually or use powershell script to create Service applications.
- Do not use dynamic memory for Virtual VM's, its a complete performance degradation of SP farm either it is development, test or production environment.
- Follow all critical updates, cumulative updates, public updates, service packs, SharePoint Updates from Microsoft, evaluate the updates before apply in production. Make sure things are good on the updates.
- Keep close eye on your SharePoint farm, monitor it perfectly and detailed
- Optimize your Search service to greater extent, because it is one of the major performance tied up factor in SharePoint. Try to distribute the search load to couple of servers in the farm and have an optimized search topology.
The detailed list of best practices on individual topics is available here
http://social.technet.microsoft.com/wiki/contents/articles/12438.community-best-practices-for-sharepoint-2013.aspx