SharePoint Best Practices : Architecture, Planning, Installation, Development Environment,Backup and Recovery, Virtualization

Every now and them we hear stories where things went wrong because no body planned a thing. The new companies implementing such technology have very less know how in terms of details and best practices, and that's where opportunist or say amateurish developers try to score easy brownies. For them it's a easy and fast way to lay hands on SharePoint development and learn as they go but that comes as a cost to the company which in turn puts the blame on the technology.

Michael Nemtsev on sharepointmagazine.net has come up with a 6 series best practises guide on how to extract the best out of SharePoint. Here are the snippets and link to posts

Part 1 - Architecture and Logical Planning
"Many factors may affect farm design, performance, scalability and redundancy - from hardware devices in organization network, to network topology. As a result, leveraging and finding compromises among those factors helps to build consistent, reliable and flexible environment."
Introduction
Organizations adopting SharePoint face a variety of tasks - from planning, strategy, infrastructure and architecture design, UI Design, migration, and to development. All these tasks imply flexible infrastructural baseline before actual work starts. However, in reality we face the outdated environment and misconfigured farms that are not ready to implement new requirements. In such cases, baseline architecture becomes foundation stone of all SharePoint projects.
Why would we care about infrastructure and not about something else, for example development? Fixing infrastructure errors is very expensive task and leads into significant changes across SharePoint farm.Development errors are not so expensive and can be fixed relatively quickly

Architectural Planning
Plan your farm and network communications before starting actual installation. The first thing to start is designing SharePoint architecture across corporate network. This includes understanding network structure, examining network devices and choosing the right SharePoint topology to fit the existing infrastructure and new requirements.

Network response time is one of the important factors that can affect SharePoint farm design. Ideally, you need to measure the latency between SharePoint servers and users in order to reorganize servers according the smallest response time.

Network latency is the key point to determine which of the proposed scenarios to implement in the current SharePoint deployment. (Latency is the time required for a packet to travel from one point on a network to another).

Analyse the existing infrastructure and plan a SharePoint topology for redundancy.There are several different topologies - from three to six servers in farm, which can be used as a baseline. Which one to choose depends on the level of redundancy and available hardware. Not all clients can afford topology with six or ten servers in farm due to budget limitation or data centre capabilities. Finding the compromise between numbers of servers, type of hosting and servers’ roles become critical task, because this choice will affect performance and extensibility of the SharePoint farm for several years ahead.

Logical Planning

Plan number of site collections and sub sites in advance - content, location, security. Start with the single site collections and several sub sites rather then creating several site collections, and try to avoid new site collection if there are no requirements for this. The reason of such structure is that each new site collection works as a new application, with isolated scope to features, templates and search. Maintaining such structure is much easier than several site collections.

Do not end up with one big content database, because data optimisation will cause troubles in this case. For the small and development environments, single content database might be a preferable choice. However, for the large farms create several content databases and organize site collections among them. Having several content databases with sites helps to address the following:

  • Keep content database size <100>
  • Data usage optimization.
  • Simplify farm backup and restoration.
  • Flexibility for Disaster Recovery (DR) strategies.

Part 2 - Installation & Configuration
The recommended Windows environment that offers the best performance for SharePoint is to have 64-bit servers. Such an environment provides significantly larger address space than 32-bit one; more room for SharePoint assemblies, CLR/Native APIs, Network Stack, IIS/ASP.NET and other components hosted in their respective tiers.