| As a SharePoint consulting firm, we build many SharePoint farms during the course of SharePoint migrations or rollout of our Porteo solution (our ready-to-go intranet). The topic of a testing farm often comes up quite often. Let's cover a few of the most pressing points first.
Is it a warm standby or a cold standby?
Warm means it's on and cold means it's off until needed. This has bearing on licensing from Microsoft. Cold standby servers don't need a license and we often get third-party tools licensing for only 25% of what a regular warm standby production license cost.
What is the purpose of the farm?
From our perspective the purpose of the farm dictates whether it's a disposable farm that would be snap shot and rolled back were be persistent and kept up.
- Development farms are for trying out questionable third-party add-ons were doing complex PowerShell scripts to restructure a site or metadata. By design these farms should not be persistent and they should have a roll back to a previous snapshot.
- Staging farms are for preproduction and to allow a broad consensus of non-technical users to visualize changes that are generally enhancements. They need to mimic production to some extent and they are expected to stay somewhat in sync with the production database. They can be warm standbys or cold.
A physical server with SSD's in Raid 10 Provide fastest possible Testing Lab
A $1500 Game class PC using all SSD disks in RAID 10, w/32GB RAM. It uses volume imaging for a backup of the host (which also grabs the VMs at the same time).
Class of Farm | Best Usage |
Staging Server Farm | - With separate SharePoint and SQL servers, this farm is most like the production farm
- Ideas or minor changes should be experimented here before being applied to the Production farm
- The SQL data need not be a perfect replica of prod but the VM WFE should always be.
|
Development Server Farm | - This farm is totally self-contained making it extremely easy to snapshot via Hyper-V (or VMware) and restore to previous versions
- This is an excellent place to test "questionable" 3rd party add-ons or serious structural changes to the SharePoint site, where a roll-back to a previous snapshot is expected
|
| - Live environment
Significant changes should not be made without first testing on DEV Farm
- Software Updates
- Site column updates
|
We love helping with SharePoint and it's all we do so feel free to contact us!
Mention this post and we'll send you a white paper about how to best utilize SharePoint! As SharePoint consultants we strive to empower our clients to unlock the full potential of your SharePoint environment. |
Action History /_layouts/15/images/Infowise/SmartActionPro/history16x16.png javascript:SP.SOD.registerSod('smartactionprosupport.js', '/_layouts/15/Infowise/SmartActionPro/smartactionprosupport.js');SP.SOD.execute('smartactionprosupport.js', 'iwsapShowActionHistory', null, '{SiteUrl}', '{ListId}', '', '{ItemId}', '15/'); 0x0 0x1 ContentType 0x01 1001 Run Actions /_layouts/15/images/Infowise/SmartActionPro/run16x16.png javascript:SP.SOD.registerSod('smartactionprosupport.js', '/_layouts/15/Infowise/SmartActionPro/smartactionprosupport.js');SP.SOD.execute('smartactionprosupport.js', 'iwsapShowExecuteActionDialog', null, '{SiteUrl}', '{ListId}', '{ItemId}', ''); 0x0 0x1 ContentType 0x01 1001 Compliance Details javascript:if (typeof CalloutManager !== 'undefined' && Boolean(CalloutManager) && Boolean(CalloutManager.closeAll)) CalloutManager.closeAll(); commonShowModalDialog('{SiteUrl}'+
'/_layouts/15/itemexpiration.aspx'
+'?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/hold.aspx'
+'?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/Reporting.aspx'
+'?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/expirationconfig.aspx'
+'?ID={ItemId}&List={ListId}'); return false;}}, null); 0x0 0x1 ContentType 0x01 898 Document Set Version History /_layouts/15/images/versions.gif?rev=40 javascript:SP.UI.ModalDialog.ShowPopupDialog('{SiteUrl}'+
'/_layouts/15/DocSetVersions.aspx'
+ '?List={ListId}&ID={ItemId}') 0x0 0x0 ContentType 0x0120D520 330 Send To other location /_layouts/15/images/sendOtherLoc.gif?rev=40 javascript:GoToPage('{SiteUrl}' +
'/_layouts/15/docsetsend.aspx'
+ '?List={ListId}&ID={ItemId}') 0x0 0x0 ContentType 0x0120D520 350 Add Alert /_layouts/15/images/Infowise/SmartAlertPro/alert16x16.gif javascript:iwAlertOpenDialog('{SiteUrl}/_layouts/15/Infowise/Settings/Design.aspx?SPHostUrl={SiteUrl}&List={ListId}&ID={ItemId}&Mode=Alerts&Modal=1', 'Add Alert'); 0x80 0x0 ContentType 0x01 1001
Action History /_layouts/15/images/Infowise/SmartActionPro/history16x16.png javascript:SP.SOD.registerSod('smartactionprosupport.js', '/_layouts/15/Infowise/SmartActionPro/smartactionprosupport.js');SP.SOD.execute('smartactionprosupport.js', 'iwsapShowActionHistory', null, '{SiteUrl}', '{ListId}', '', '{ItemId}', '15/'); 0x0 0x1 ContentType 0x01 1001 Run Actions /_layouts/15/images/Infowise/SmartActionPro/run16x16.png javascript:SP.SOD.registerSod('smartactionprosupport.js', '/_layouts/15/Infowise/SmartActionPro/smartactionprosupport.js');SP.SOD.execute('smartactionprosupport.js', 'iwsapShowExecuteActionDialog', null, '{SiteUrl}', '{ListId}', '{ItemId}', ''); 0x0 0x1 ContentType 0x01 1001 Compliance Details javascript:if (typeof CalloutManager !== 'undefined' && Boolean(CalloutManager) && Boolean(CalloutManager.closeAll)) CalloutManager.closeAll(); commonShowModalDialog('{SiteUrl}'+
'/_layouts/15/itemexpiration.aspx'
+'?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/hold.aspx'
+'?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/Reporting.aspx'
+'?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+
'/_layouts/15/expirationconfig.aspx'
+'?ID={ItemId}&List={ListId}'); return false;}}, null); 0x0 0x1 ContentType 0x01 898 Document Set Version History /_layouts/15/images/versions.gif?rev=40 javascript:SP.UI.ModalDialog.ShowPopupDialog('{SiteUrl}'+
'/_layouts/15/DocSetVersions.aspx'
+ '?List={ListId}&ID={ItemId}') 0x0 0x0 ContentType 0x0120D520 330 Send To other location /_layouts/15/images/sendOtherLoc.gif?rev=40 javascript:GoToPage('{SiteUrl}' +
'/_layouts/15/docsetsend.aspx'
+ '?List={ListId}&ID={ItemId}') 0x0 0x0 ContentType 0x0120D520 350 Add Alert /_layouts/15/images/Infowise/SmartAlertPro/alert16x16.gif javascript:iwAlertOpenDialog('{SiteUrl}/_layouts/15/Infowise/Settings/Design.aspx?SPHostUrl={SiteUrl}&List={ListId}&ID={ItemId}&Mode=Alerts&Modal=1', 'Add Alert'); 0x80 0x0 ContentType 0x01 1001
|
|
|