Welcome to MSDN Blogs Sign in | Join | Help

Content Deployment Rollup has been Released

If you are using content deployment (aka prime) you will be happy to know that the rollup has been released as part of the May 2008 Hotfix package. Find out more here.

 

WSS: http://support.microsoft.com/kb/952698

MOSS: http://support.microsoft.com/kb/952704/

Quick Blurb on SharePoint Deployment Best Practices

SharePointJoel, Doron Bar Caspi, and I were interviewed by TechTarget after our *dizzying* session on Geo-distributed SharePoint Deployments at TechEd 08. I'm not sure where Joel's and Doron's audio ended up, but they included portions of my interview in their Windows Week In Review News From Microsoft TechEd 2008.

You can access the audio directly at http://windowsnews.blogs.techtarget.com/podpress_trac/web/92/0/Windows_Week_in_Review_2008_061308.mp3 

Not much meat there, but I figured this might be helpful for someone. (maybe)

SharePoint Reporting - What's Up?

Joel and I had a lot of fun doing this video for TechEd Online about the state of SharePoint reporting.

 SharePoint Reporting—What's Up? 

Key Points about SharePoint 2007 reporting.

If you want to roll your own reporting solution here are some things to keep in mind:

  • SharePoint parses the IIS logs and rolls up the information into its own logs. That information is then stored in the content database.
  • SharePoint won't report anything unless A. IIS is logging and B. Usage analysis is enabled and has enough time to process the logs.
  • Search reporting must be enabled in the SSP settings.
  • It's best not to touch the SharePoint databases directly. Modification is a huge no-no and will result in loss of support.
  • It may be OK to read from the database in certain situations. Performing one time queries during off hours should be OK. Building a reporting solution that rolls information into a separate warehouse may also be OK to if done right; however, keep in mind that queries can affect your availability, performance, and the underlying schema may change at any time without warning. MSFT in no way supports direct database reads or writes. If you are not a SQL guru who can design lightweight queries stay out of the database!
  • The content database contains some accessible information on storage, bandwidth, and discussion usage and some info on hits and visits.
  • The content database also contains some rich information on each web, but this information is stored in binary form and there's no information available on how to read it. The best way to access that information is through the published APIs. Check out the SDK for more information. http://msdn.microsoft.com/en-us/library/ms441339.aspx
  • Farm admins will find the data available through the OM very useful, but keep in mind that enumerating this information on a per site basis across a large farm will take a long time and may impact performance if done poorly.
  • You can parse the IIS logs directly if needed. Log parser 2.2 rocks! http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
  • It's not always easy to determine what users are doing from the IIS logs. Many operations are not logged in a meaningful way.

In summary, SharePoint 2007 out of the box reporting is big improvement over 2003. Portal and farm administrators may want more info and should look into third party solutions or rolling their own solution; however, when rolling your own be sure to do in a supportable way that doesn't impact farm performance.

The Canadians are Coming!

My new buddy, and PFE extrordinare from Canada, Roger Cormier is blogging now. I'm certain he will have some good stuff soon so bookmark this one.  

http://blogs.msdn.com/rcormier/

I Made the List.

I'm number 65!

 http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=31

 Wow! That's super especially considering how neglected my blog has become since joining my new team. Regardless, I look forward to posting some good stuff in support of my upcoming sessions at TechEd. (see below) See you there!

OFC373 Planning and Implementing Global Microsoft Office SharePoint Server 2007 Deployments
    Wednesday, June 11 10:15 AM - 11:30 AM, S220 E 
Speaker(s): Doron Bar-Caspi, Mike Watson
Level: 300 - Advanced
Session Type: Breakout Session

OFC374 High Availability and Disaster Recovery for Microsoft SharePoint Products and Technologies
    Wednesday, June 11 4:30 PM - 5:45 PM, S320 C 
Speaker(s): Mike Watson
Level: 300 - Advanced
Session Type: Breakout Session
 
OFC357 How to Plan for SharePoint Storage Management for Multi-Terabyte Deployment
    Friday, June 13 4:30 PM - 5:45 PM, S220 E 
Speaker(s): Doron Bar-Caspi, Todd Klindt, Mike Watson
Level: 300 - Advanced
Session Type: Breakout Session

 

 

It's Deep, Real Deep!

I was just reading Todd Carter's blog and man am I impressed. He's got some really good stuff on here. I highly recommend bookmarking this one.

 http://blogs.msdn.com/toddca

 

Web Stress Test White Paper Published

Steve Smith, the MVP extraordinaire from the UK and part owner of Combined Knowledge along with Penny Coventry, MVP extraordinaire from PPP Consulting just released a white paper showing how to configure a load test end to end using VSTS 2008. This is great because long ago I promised to do this on my blog but never got around to it so Steve and Penny took a burden off my shoulders. ;-)

I haven't completely reviewed the paper, but the pieces Steve showed me yesterday were great. I'll add that you should take a look at the WSS and MOSS load test examples posted on codeplex as part of the SPDataPop tool project. These examples will save you a lot of time and they are built to leverage CSV files for variables such as web application urls, team site urls, user credentials, and search terms. These load tests are very similar to the ones the SharePoint PG test team uses for stress testing of new releases.

So why care about stress testing your SharePoint environment in the first place? Microsoft will probably never be able to provide concrete capacity guidance for your unique SharePoint situation. There are far too many variables to control. You should stress test every environment you manage before deployment to uncover capacity and configuration issues before they bite you. Neither would it be a bad idea to periodically test each environment after deployment since capacity issues can develop over time due to poor maintenance practices and worsening environment conditions. (network, AD, storage, etc)

SharePoint = Job Security

Just in case you didn't get the memo SharePoint is the fastest selling server product in the history of Microsoft according to BillG. (doesn't that also make it the fastest selling server product, period?)

In a blog conversation I had with the honorable Cliff Reeves he noted a very interesting site: http://www.itjobswatch.co.uk/jobs/uk/sharepoint%20server%202007.do It's all UK focused, but the data surely reflects a global trend. SharePoint is hot and people who know SharePoint are hotter. A quick search of any of the major US based job sites would tell you SharePoint is high demand and the pay is very good. I'm confident this microcosm of hotness will fair well in a possibly existing or pending economic downturn.

 In my dealings with customers and partners one thing is clear. There's not enough SharePoint people to go around. Especially here at Microsoft. Sometimes warm-bodies are good enough especially if they can mumble share and point together in a sentence. The bottom line, if you are in a unappreciated technical field and looking for a more rewarding career consider SharePoint. If you are looking to ramp up on SharePoint quickly there are some good partner and Microsoft training resources. You can find a list of Microsoft training resources here and you can search for SharePoint and Training and get a pretty good list of partner opportunities. If you are completely new to SharePoint I would highly recommend you get some information worker focused training under your belt before diving into administration or development. This will go a long a way towards ensuring a well-rounded SharePoint skill-set.

Jason Cahill is In

It's rare for anyone from the actual SharePoint product group to blog so it's noteworthy when they do. Jason Cahill just started blogging this month and already has a great collection of informative and practical posts that I recommend you read.

 http://sharepoint.microsoft.com/blogs/JCahill

 

DPM Search Backup White Paper.

The DPM team released a whitepaper detailing how to backup MOSS search.

http://www.microsoft.com/downloads/details.aspx?FamilyID=0150d17d-9f28-4ef6-8dc8-8fbb5fed5cfc&DisplayLang=en

This is another feather in the DPM hat.

SharePoint Training

Just learned of this great resource. The SharePoint Learning Resources Site.

 It's a little clunky, but I didn't know MSFT had so much training available for SharePoint.

File Shares and SharePoint. Still a Hot Topic.

I'm sometimes reminded that there is still a lot of debate over how to position file shares and SharePoint in an organization. There are still many people drinking the file share Kool-Aid and that's fine. I blogged about this a little over a year ago and it generated more than 5000 views and 8 comments/trackbacks which is about 8 more than usual. Apparently, Joel has to talk about this a lot as he posted about this again recently. (I would link you there, but his new blog is down again. Somebody please fix this! Joel's blog is too important to be down. I joked with him when he was putting together his new site that he needed a hot standby failover solution.)

 Anyways, after I posted my latest entry on geo-redundancy in SharePoint I've been enjoying some great debate through comments with TBA. I thought that conversation would be interesting for the rest of you. Here's it is:

# re: More Clarification Needed? Geographic Separation of SharePoint Farm Components.

What strikes me is that due to these limitations, SharePoint cannot be easily configured to replace DFS for file storage ! SharePoint is marketed as the "file server of the future" yet it lacks the DFS's feature of maintaining local copies of files in environments that span continents/remote locations.

If I am to store all my files in SharePoint I have to store them all in one primary data center. Obviously users from different continents are better off having the data locally.... I would think this will be the major upgrade to the next SharePoint...

Monday, April 07, 2008 12:41 PM by TBA

 

# re: More Clarification Needed? Geographic Separation of SharePoint Farm Components.

SharePoint and file shares co-exist, not replace one another. Each have their own merits. SharePoint makes traditional file share data usable. DFS is one of the few technologies that allow multi-master replication. You are right that users prefer data to be local for performance reasons. However, http traffic is much better than CIFS over the WAN and SharePoint supports numerous acceleration vendors to make consolidated deployments seem local.

http://blogs.msdn.com/mikewat/archive/2006/12/09/file-shares-vs-sharepoint.aspx

Monday, April 07, 2008 12:52 PM by Michael Watson

 

# re: More Clarification Needed? Geographic Separation of SharePoint Farm Components.

You say "SharePoint makes traditional share data usable". Ok, I have 250 Gigs of project "Delta" files located on a file share that is DFS replicated for fault-toleration and localization. I have people using that data from all-over the world. Due to SharePoint’s architectural limitation ( lack of file replication support ) I can't migrate out of DFS.

Right, I have created a team-space in SharePoint called "Delta" - great - the team members now can use discussions / calendars / etc. However  the 250 Gigs of related-files are still in DFS and people cannot use Sharepoint't s doc management features due to this. The only way around this would be to ask people move files between SharePoint ans DFS which is silly and is up to them really - leaving you out of control.

So how  exactly is SharePoint making my data usable , again ?

Tuesday, April 08, 2008 4:46 AM by TBA

 

# re: More Clarification Needed? Geographic Separation of SharePoint Farm Components.

Thanks for the great debate. It brings the blog to life.

Your file share data in SharePoint becomes "usable" because of the rich metadata definition, context, and most importantly, search. File Share data exists in its raw form without much context. It becomes an island, unknown outside of its most ardent users. It will most likely be duplicated by others since they are unaware it exists.

To improve upon the file share experience while still enjoying its benefits, you could link to the existing data in DFS from SharePoint or simply index the content for search. However, most organizations will prefer to simply migrate the collaboration-ready data to SharePoint. Since data usually has a preferred location it should be moved to the nearest regional SharePoint farm. This ensures the primary users of that data enjoy great performance while still providing access to users outside of the region. If the scenarios truly require it, consider using network acceleration technologies for remote collaborators or one of the SharePoint data replication solutions. We have a lot of great partners in this space and the solutions are probably much cheaper than most realize.

The bottom-line is SharePoint is part of a robust information architecture that improves upon the traditional file share experience with rich metadata, better context, and consolidated and scoped search. While there are certain scenarios were file shares are still the a great solution I'm confident that an organization will be best served by moving the majority of its collaboration to SharePoint.

Tuesday, April 08, 2008 1:43 PM by Michael Watson

More Clarification Needed? Geographic Separation of SharePoint Farm Components.

I continue to hear questions and debate over how to build local or regional immunity into a single SharePoint farm. Enterprising SharePoint folks want to make sure that their SharePoint service remains online even if Dr. Evil fires the “laser” at their primary datacenter. While you probably don’t have to worry about Dr. Evil and his laser you should definitely plan for scenarios where part or all of your primary SharePoint deployment is destroyed. Fortunately, SharePoint supports some great solutions to help you out. Let’s boil those solutions down to the basics.

 

First of all, have you seen the newest SharePoint database mirroring whitepaper? While it’s a little light on the end to end scenarios it is very relevant to this conversation. Another great resource is the TechNet article on Optimizing MOSS Deployments for WAN environments. The supported scenarios are as follows:

 

Single SharePoint farm straddling two very close datacenters

Two SharePoint farms in two separate datacenters of (nearly) any distance.

 

Let’s start with the former. In this scenario a single SharePoint farm consisting of two or more web and application servers (query, excel, central administration, etc) are deployed across two datacenters located within a very short distance. Each application role should be represented in both locations and a load balancing mechanism should be used to direct users to the proper web server on either side (or perhaps both). Finally, every SharePoint database needs to be replicated between two SQL servers on both sides using synchronous replication solution such as Highly Available SQL mirroring. You can also use a hardware replication solution but ensure the vendor can guarantee that the entire dataset (config, ssp, admin, search, and content) are consistent.

 

So what constitutes a very *short* distance? Having 1 millisecond or less of latency (key constraint) and enough *Available* bandwidth to provide LAN like performance. I would consider that 1Gbps or better though the official guidance leaves that a little less defined. If you read my post on Mirroring and Bandwidth you can see why I recommend 1Gbps or better. Bandwidth is cheap so I hope that isn’t a barrier for most folks. However, the latency thing is tricky. How do you get less than 1ms in latency? Simple physics suggest that at the speed of light it should take about 1ms for your electrons to travel 93 miles and back as measured by a simple ping.exe test (RTT). The problem however is that at short distances the speed of light isn’t really the bottleneck. There’s a lot of overhead associated with networking especially when it comes to making decisions about routing. Those routing decision clock cycles eat up precious time. Multiply by the number of routers between your two deployments and you can start to understand the problem. Practically, 1ms in latency is probably less than 10 miles apart and only under the best conditions. (read less routed)

 

So what does this mean exactly? Good question. It means that while this solution is much better than a single datacenter deployment it’s not perfectly immune. I generally refer to this as the local immunity solution. There are a lot of disaster scenarios that could affect both datacenters when they are located that close. The most obvious ones are prolonged regional power outages, earthquakes, and floods. If you don’t have to worry about those problems then this is the solution for you. What’s great about the straddled farm scenario is that one farm = as little operational overhead as possible. When you make a change to the farm configuration, add a solution, change the service account, etc, these changes are replicated automatically for you across the entire farm thanks to SharePoint’s hot administration model. There is one glaring hole however.

 

As you are probably aware the index server role is not a redundant one. That means you have to choose a datacenter to stick the index server in. If anything happens to that datacenter the index recovery fun begins. There are ways to mitigate the index redundancy issue, but that is a post for another day. The good news is that the query role should continue to serve queries for existing indexed content so as long as there are functioning query server(s) in the active datacenter.

 

Now, I know what you are saying. Mike, my hardware vendor has a comprehensive storage replication solution and will guarantee transactional consistency to insane distances. (1000 miles + ) I’m not using database mirroring. Why can’t I spread the rest of the farm components further apart? To answer that we have to pull the curtain on the wizard. The easy answer and the typical MSFT response is “you’ll shoot your eye out kid.” It may seem harmless to spread a web or application server across large distances. (hell, I once joined a web server to a farm that was located across the world) but there is a lot going on behind the scenes that will cause numerous problems. I can’t go into all these issues in depth (I’m a busy guy), but trust me. If anybody ever truly wanted this to work it was me. The allure of a single farm stretched across the globe is nearly irresistible. One stop administration and intercontinental redundancy. That’s insane goodness. I will give you sneak peek into the problems. Timer jobs, query propagation, query’s internal load balancing, and Excel’s internal load balancing.

 

So if you need a better redundancy solution than the one above allows….say your primary datacenter is on the US west coast and you got to worry about those pesky earthquakes,  those rolling blackouts, or those nasty smug clouds, what do you do? (just kidding SF, I love the environment and your beautiful city) The solution is to deploy two separate farms of equal capacity and capability to two datacenters separated by very large distances. Most typically at least 1000 miles apart. With two separate farms you are not constrained by the effects of bandwidth and latency on SharePoint’s functionality behind the scenes. In this model you use a database replication mechanism such as log shipping, mirroring,  a backup replication solution such as DPM, or your storage vendor’s own hardware replication solution. These replication solutions ensure that the content databases are consistent and available in the remote datacenter and can be attached to the farm within the RTO period while also meeting the RPO. There are a lot of cool ways to do this, but I’ll save that for another day as the concept is pretty much the same across each solution.

 

With your “secondary” farm intact and the content databases available in the remote datacenter failing over between datacenters can be as simple as bringing the databases online (log shipping and mirroring) and attaching to the farm. You can either provide the users with an alternate url to access the content immediately upon recovery or use the original url after a DNS change points users to the right place. This is a very flexible solution and one I like, but there are a number of little caveats that make this less attractive than the straddle a farm scenario.

 

The first problem is the secondary farm does not have an SSP or has a different SSP than the one in your primary farm. You can either configure the secondary SSP to search the primary farm (only in smaller environments) or restore the primary farm’s SSP to the secondary farm assuming you have configured SSP backups to be replicated to the primary farm. The final option with search is to simply forego it altogether and rebuild the index after failover which may be OK with organizations where search isn’t critical. More on the specifics of this in a different post.

 

The second problem and probably the biggest is the operations quotient. The simple fact is that maintaining two farms is much harder than maintaining one. It’s hard enough sometimes just keeping track of changes occurring to one environment, but having to replicate those changes to secondary environment requires operational discipline that few companies enjoy. (not even MSFT) Couple that with the complexity of deciding when and how to failover between datacenters and you can see why this is a complex issue. I’m hoping an enterprising vendor will fill this niche with a nice solution. I’m offering my consulting services to any and all vendors who are interested. The good news is that you can count on SharePoint to be “dial tone” as long as the content is available and the bits that the content relies on (SP patches and customizations) are available. The rest of those farm settings generally don’t impact the availability of the service or the data and those settings can probably be consistently replicated from the memory of the supporting administrators or rediscovered on the fly. (Example: “oh, we forgot to configure the people picker searchadforests settings. That’s an easy fix.”)

 

While this isn’t comprehensive list of all the options available it does cover the two major HA buckets and describes the main pros and cons of each. Please let me know with your comments and emails what specific issues you are concerned with and I’ll post specific information about it.

 

I apologize for any typos or other literary offenses. I typed this in a hurry. Look forward to some cool posts on how DPM can solve your redundancy problems. Until next time.

Done with Training for Now.

I'm back in the office now after being out for a couple of weeks in a SQL Ranger rotation. The training was great, but I was pulled out 2 weeks early to focus on our newest product for MOSS supportability. More on that later. I'll try to get the blog updated ASAP. There's a lot of stuff I want to talk about.

 BTW... Did you see Joel's new blog post on Kerberos? http://www.sharepointjoel.com/archive/2008/03/18/kerberos-authentication-and-sharepoint-key-resources.aspx

 Too much content to digest in one sitting.

Posted by Michael Watson | 1 Comments
Filed under:
More Posts Next page »
 
Page view tracker