Microsoft has some pretty good information posted about the hardware and software requirements necessary for SharePoint 2010. I still get asked for real world, or ‘best practices’, recommendations all the time. Like everyone else, I want to get the best performance for the best price. It’s difficult to strike the balance between ‘good enough’ and ‘optimized’.
A large majority of the SharePoint projects that I work on end up being small-ish SharePoint farms (between 2 and 8 servers). Due to the licensing required for Windows, SQL Servers, and SharePoint servers, most organizations do try to get by with as few servers as possible, yet still want the best possible performance. The most common configuration that I see in the SharePoint world involves a single dedicated SharePoint server and a single dedicated SQL Server. From there, organizations usually first add another SharePoint server, then a 3rd SharePoint server, then a second SQL Server, and then the sky is literally the limit.
Yes, virtualization is fully supported by Microsoft. Virtualization is not at all new but is one of the biggest IT advancements, maybe ever. I’m pretty sure that IBM was one of the earliest pioneers of this ‘pseudo machine’ concept in the mid 1960’s. How’s that for a ‘new technology’ that is nearly 50 years old? Virtualization for SharePoint isn’t new either, but it is still gaining a comparatively slower adoption than other systems. Once you do decide that virtualization is the way for you, the next logical question should be ‘What virtualization platforms are supported for SharePoint 2010?’
Of course, Microsoft’s own virtualization platform is supported (Hyper-V). Most people don’t realize that Microsoft will also provide support if you are running an approved virtualized environment. The current vendors that have approved virtualized environments for running Windows 2008 Server R2 are (in no particular order):
Of course, you can also run Oracle VirtualBox (which is FREE), though this is not an officially supported virtualization vendor registered with Microsoft’s Windows Server Virtualization Validation Program (SVVP).
I get asked for SharePoint server recommendations nearly every day. Like nearly all ‘best practices’, there is no single answer for perfect server recommendations. The answer always seems to be, “It depends.” What is your budget? How many users? What type of users? What type of activity are the users doing? What type(s) of SharePoint sites are you running? Web Content Management sites? Team Sites? BI tools? If you look online for SharePoint 2010 farm configurations, you will see incredible descriptions of server clusters, farms, SAN configurations, hundreds of GBs of memory, incredible RAID configurations, clusters of servers for every imaginable service and other configuration scenarios that most nonprofits could never afford. If you want some great fun with environment configuration recommendations, download the HP Sizer for Microsoft SharePoint 2010. I recently ran a scenario through the HP Sizer and got a recommendation for a 32 server environment with full details.
Most of the nonprofits I work with don’t have the resources available for 32 new servers to run SharePoint. Is there anything you can do on a shoestring budget to maximize performance with your SharePoint environment? Absolutely! You can run SharePoint on a single server. It doesn’t matter which version of SharePoint, either. You can run SharePoint 2010 Standard, SharePoint 2010 Enterprise, SharePoint Foundation, Windows SharePoint Services, and MOSS 2007 all on a single server. Will it be the absolute best performing SharePoint environment ever? Probably not. But you can run an effective and efficient solution on a single server.
If you are running SharePoint on a single server, there are some things that you should take into account.
As you can see, there are tons of things you can do to optimize performance for a single server environment. All of these steps should be considered with multi-server environments as well.
To paraphrase (and completely rewrite an old saying), your environment is only as fast as the most restrictive bottleneck.
I am a huge fan of free software. I think that there are tons of great free software packages available: WordPress, Ubuntu, Microsoft SharePoint Foundation, Microsoft SQL Server 2008 R2 Express, Picasa, TeraCopy and many more. When most people hear FREE software, they hear Open Source. However, not all free software is open source. One of the absolute greatest free software packages available for you to use today is Microsoft Search Server 2010 Express. Any association, nonprofit, charity, school or company can use this software to significantly improve their search capabilities. Internally searching the S:\ drive or externally on you existing public facing website – Microsoft Search Server 2010 brings a lot of great capabilities to the table – for free.
This is just a series of screen caps of the vanilla install environment. Keep in mind the requirements for Search Server 2010 Express are similar to those of Search Server 2010 and SharePoint 2010: 64-bit edition of Windows Server 2008 Standard, Enterprise, Data Center, or Web Server with Service Pack 2 (SP2) or 64-bit Windows Server 2008 R2 (various flavors).
I’ve installed this on 64-bit Windows Server 2008 R2.
There are various links in the splash screen, but basically under Install, you can let the wizard install all of the prerequisites needed (including IIS). If you want, you can manually download and install all prereqs to ensure they are installed exactly how you want, see http://technet.microsoft.com/en-us/library/bb905370.aspx.
Even if you install the prereqs manually, it’s still a pretty good idea to run the wizard to validate your environment. The wizard will check that everything is right as rain before installing.
After accepting the Ts & Cs, the prereq wizard will run through…
Complete! The prerequisites are now installed (or validated) and you can run the actual Search Server 2010 Express install.
There are two modes for installing Search Server 2010 Express:
I’ve selected Stand-alone which should go through and configure absolutely everything I need to have Search Server 2010 Express running.
The actual install goes fairly quickly. The installation provides an opportunity to run the Configuration Wizard immediately or not.
With Search Server 2010 Express in Stand-alone mode, the configuration wizard is pretty straightforward.
Simple dialog making sure you know that some services may be restarted.
After clicking Yes, sit back and relax for a bit. I have a pretty fast virtual environment and the configuration screens take about ten minutes.
After the configuration wizard finishes, you should automatically be taken to the Central Administration screen with a few steps listing how to begin configuration of your specific search implementation.
You should also notice that you now have some new Administrative shortcuts installed, namely a folder with shortcuts to the SharePoint 2010 Central Administration, SharePoint 2010 Products Configuration Wizard, and the SharePoint 2010 Management Shell and a second folder called Microsoft SQL Server 2008. What? SharePoint 2010? SQL Server 2008? But I thought I installed Search Server 2010 Express. Several Microsoft products utilize SharePoint as the interface for the applications. SharePoint uses SQL Server. SharePoint Foundation is free and provides a great user interface experience, security components, an application development framework, a deployment framework, and so much more. SQL Server 2008 Express is free and is, well, SQL Server – arguably one of the strongest database management platforms on the market. Once any developer learns to leverage the SharePoint framework, the time and effort required to write a web based application can be significantly shortened. After all, that’s what frameworks and APIs provide – the ability to leverage existing ‘stuff’ and not having to write everything from scratch every time.
Get more info directly from Microsoft.
Marketing site: http://www.microsoft.com/enterprisesearch/searchserverexpress/en/us/default.aspx
Download site: http://www.microsoft.com/enterprisesearch/searchserverexpress/en/us/download.aspx
TechNet site: http://technet.microsoft.com/en-us/enterprisesearch/ee263912.aspx#tab=1
Step 1. Backup. You should already have EVERYTHING backed up, but chances are you don’t. Or you don’t trust what you do have. Or you haven’t tested your backups. So, backup your domain controllers PRIOR to any major changes.
Step 2. Generate the current FOREST description XML file called domainlist.xml. This XML file contains a textual description of your domain. At the command prompt, enter: RENDOM /LIST
Step 3. Edit domainlist.xml. You can make a backup copy of the file first, but basically open the file up directly and edit it. You only need to change the domain name portions. My file sample is below. Change only the items that I have in BOLD.
<?xml version ="1.0"?>
<!– PartitionType:Application –>
<!– PartitionType:Application –>
<!– ForestRoot –>
Step 4. Upload the instructions. Using RENDOM to generate and upload the instruction list is as simple as: RENDOM /UPLOAD
Step 5. Verify readiness by using: RENDOM / PREPARE
Step 6. Let it rip with: RENDOM /EXECUTE
Step 7. Restart your domain controller and test, test, test, test, and then test some more…