When the Best is Too Much
You've heard the buzz about SharePoint. You've started doing your research. You're looking at best practices, configuration guides, and all sorts of good stuff. You're loving everything you read. You're head is swimming with facts and figures when suddenly you run across an article that makes your heart stop.
You might see an industry analyst group is reporting that it costs hundreds of thousands of dollars and a phalanx of dedicated developers, administrators, and other IT pros to do an "average" complete SharePoint implementation. Suddenly your high hopes are dashed. There's no way you can get that into your budget. Heck, you might even be the only person in your company that knows what the initials "IT" stand for.
Does this mean that SharePoint is out of reach? Of course not!
What is "Good Enough"?
While it is certainly possible to take SharePoint to a huge extreme, you don't need to do that in order to gain many of the benefits of SharePoint. In fact, many people forget that there are actually free versions of SharePoint available. Windows SharePoint Services (WSS) and Microsoft Search Server 2008 Express (MSSX) are both available as free downloads, and offer an amazing amount of functionality right off the bat.
Windows SharePoint Services gives you:
- Team collaboration
- Document Sharing
- Discussion Boards
- Custom List Management
- Calendars and meeting management
- Contact lists
- Simple Project management
- Basic user profiles and customization
- Blogs
- Wikis
- Integration with Microsoft Office (e.g. Outlook and calendars)
- Announcements
- Email integration
- Site Search
- Customization and data integration with SharePoint Designer (now also free)
- A huge array of existing add ins (Fab 40 application templates, Community Kit, etc...)
- A great platform for development
Search Server Express gives you all of that, plus extended Enterprise-class search capability:
- SharePoint sites
- File shares
- non-SharePoint web sites
- Exchange public folders
- Notes/domino databases
All of this is available with a simple installation on a Windows server. Heck, you don't even need to purchase a full SQL Server if you don't want to (though I do strongly recommend it). You can use the included Windows Integrated Database (with WSS) or SQL Express (with MSSX).
What About Hardware?
As I said before, it is quite possible to do a complete SharePoint installation on a single box. Naturally, you probably won't want to load it up on a netbook-class machine if you are going to base your business on it. But beyond that, almost any decent server can handle a small user base. This website, for example, is SharePoint (MSSX) based, and runs on a single processor, dual-core, server, with 3GB RAM.
In most cases, unless you have hundreds or thousands of concurrent users, the main reason you split functions onto separate boxes is resilience, not performance. You are trying to avoid a single point of failure, or perhaps bottlenecks where a peak in one process' activity may block access to other functions. Yet even there, the free versions of SharePoint have your back.
All versions of SharePoint support multiple web front-ends (WFE) connected to a back-end SQL Server database. MSSX also supports having the WFEs separated from the Application server. However, MSSX only supports a single application server, which must hold both the Index crawler and Query roles. (Note, if you do decide to go the farm route, you need to use a full SQL Server back-end.)
The Not-Quite-Best Practices
Naturally, keeping a SharePoint environment's costs to a minimum means you are also going to end up compromising on what most in the industry consider "best" practices. Not splitting functions out onto multiple servers, as described above, is just one of the compromises. Some of the others involve the setup process itself.
For example, if you are not going to purchase a full version of SQL Server, you need to understand the limits of the free editions of SQL Server that are included with the free editions of SharePoint. SQL Express (included with MSSX, but usable with WSS) has a 4GB per database hard-cap.
The other free SQL is the Windows Integrated Database, which is included with WSS. This is the only free version of SQL Server that doesn't limit your site's content growth. However, the only way to get WSS to use this is to perform a "basic" installation. In fact, even if you have another edition of SQL installed, a basic installation will configure WSS to use the WID. (Note: Basic installation with MSSX or any other version of SharePoint besides WSS will install SQL Express instead.)
There are limits of a basic install, though. One is that you CANNOT later add more servers to create a farm. You would need to essentially build a new SharePoint environment and migrate your content into it. The other is that the basic install doesn't give you any control over the accounts used to create the services that run SharePoint behind the scenes.
Yet many businesses have lived without that level of resilience for years with other systems. A single file server or mail server is not uncommon. So, if that is satisfactory in your environment, a single server SharePoint installation is no worse - go for it! Just be careful, as with your other systems, to ensure you have good and tested backups. (Reality check - Yes, I know. You don't have good, tested, backups for your other systems either... The point is, SharePoint doesn't change the rules. You just need to follow whatever rules are appropriate to your environment.)
In Conclusion
In this article, I've talked about how you really can implement SharePoint without a huge outlay in time or money. When you compare the "out of box" effort to get a powerful and functioning SharePoint environment up and running, I think you will find it is at least competitive with the "alternative" offerings you might have seen. In fact, you may even be surprised to find that the default functionality often far surpasses them. As with any system, though, the more you put into it "up front" the more value you and your users will get out of it in the end.