Best practices para publicar un WebSite con SharePoint Server 2010
-
Upload
juan-andres-valenzuela -
Category
Technology
-
view
212 -
download
0
description
Transcript of Best practices para publicar un WebSite con SharePoint Server 2010
![Page 1: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/1.jpg)
Buenas Prácticas para publicar tu
“website” con Microsoft SharePoint
2010
Juan Andrés Valenzuela, MVP SharePoint Server@JANDRESVAL | http://jandresval.wordpress.com
![Page 2: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/2.jpg)
![Page 3: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/3.jpg)
Best Practices for Capacity Management
Capacity Planning
Architect for Scale
Pilot & Test
Deploy
Monitor & Validate
![Page 4: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/4.jpg)
Objetivos
• Control de la Carga de Contenidos
– OutPut Cache
– Object cache
– Blob Storage
• Eficiencia y Eficacia
– ASP.Net Post-Cache Substitution
• Disponibilidad del Contenido– Deployment Content
![Page 5: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/5.jpg)
The case for caching
# of Front-end Web Servers
![Page 6: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/6.jpg)
Where’s the bottleneck?
![Page 7: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/7.jpg)
Web server CPU utilization should be the bottleneck
![Page 8: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/8.jpg)
Key Scale Tools: The Caches
![Page 9: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/9.jpg)
Output cache
• How to set it up
– Site Settings Site Collection Cache Profiles
– Site Settings Site Collection Output Cache
• Cache profiles give you granularity
– Anonymous vs. authenticated
– Different caching behavior for certain page layouts
– “Vary By” parameters
![Page 10: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/10.jpg)
Recommended cache configuration
• For site visitors
– Public Internet cache profile
– Don’t enable “check for changes”
– Minimize vary by parameters
• For authors/admins (authenticated users)
– Consider not caching
![Page 11: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/11.jpg)
Tip: Making sure the output cache is working…
![Page 12: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/12.jpg)
Monitoring the output cache
• A cache miss is more expensive than rendering a page without caching
• Lots of cache trimming? Tweak duration or scale up web servers
![Page 13: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/13.jpg)
![Page 14: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/14.jpg)
A classical debate
![Page 15: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/15.jpg)
Fast and fresh
![Page 16: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/16.jpg)
ASP.Net Post-Cache Substitution
• Sometimes you want completely “dynamic” content elements on an otherwise
cached page.
![Page 17: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/17.jpg)
ASP.Net Post-Cache Substitution
• You can achieve exactly this behavior, by writing a custom control that inherits from the System.Web.UI.WebControls.Substitution class.
– The rest of the page will be output-cached, but this control will be called to render on every request.
• Key consideration: Your control will be run on EVERY request… plan carefully.
![Page 18: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/18.jpg)
SharePoint Object Cache
• What is the Object Cache?
– An in-memory cache of results to “Cross-List Queries” against your SharePoint site.
– Used to cache the results of queries that can span lists and sites within a Site Collection.• But also good for caching results of queries within a single list.
• You’re probably already using it! (And it’s “always on”)
![Page 19: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/19.jpg)
Configuring the Object Cache (Cont’d)
• Key Configuration Decisions
Parameter Name Decision General Principle
Object Cache Size How big do you want the Object Cache to be? Bigger is better (make sure you have enough RAM)
Cache Changes Do I want a purely time-based cache, or should every request check to see if cache is still valid?
Checking for changes == more workper cached request
Results Multiplier Should we cache more results than the user asked for?
Only useful in scenarios where different users have different permissions…
![Page 20: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/20.jpg)
Configuring the Object Cache (Cont’d)
• Configure the two “super” accounts used by the Object Cache via PowerShell:
$wa = Get-SPWebApplication -Identity "<WebApplication>" $wa.Properties["portalsuperuseraccount"] = "<SuperUser>" $wa.Properties["portalsuperreaderaccount"] = "<SuperReader>" $wa.Update()
Account Name Permissions it should have
SuperUser Full Control User Policy for the Web Application
SuperReader Full Read User Policy for the Web Application
![Page 21: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/21.jpg)
What happens when you don’t use the Object
Cache…
![Page 22: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/22.jpg)
What happens when you don’t use the Object
Cache…
• What went wrong?– The hero control (which was implemented as a
Sandboxed Solution) was using the non-cached SharePoint API, instead of the cached API.
– The site was launched, and as soon as it got real load, the Sandboxed Solution throttling system (correctly) stopped executing the control.
Good
Bad
![Page 23: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/23.jpg)
Using the Object Cache from client-side code
• To build a client-side solution (Silverlight/AJAX/Flash/etc.) that queries SharePoint data:
1. Write a web service that wraps the Object Cache and executes cache queries
2. Make sure your solution calls your web service.
Do NOT use the SharePoint client object model… it is un-cached.
![Page 24: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/24.jpg)
SharePoint Disk-based BLOB cache
• What is it?
– A cache that stores files on the web-front end’s disk drive.
• Why should you use it?
1. Less rendering work for SharePoint
2. Fewer bytes-over-the-wire for users visiting your site
3. Support for HTTP range requests for media files
![Page 25: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/25.jpg)
Configuring the BLOB cache
Edit the following line in web.config: <BlobCachelocation="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled=“true"/>
![Page 26: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/26.jpg)
Configuring the BLOB cache - Pasos
Enable Filestream SQL Server
![Page 27: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/27.jpg)
Configuring the BLOB cache - Pasos
Install RBS
Enable RBS
![Page 28: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/28.jpg)
Configuring the BLOB cache - Pasos
Configuring Blob Storage
![Page 29: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/29.jpg)
Content Deployment
![Page 30: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/30.jpg)
Content Deployment - Topologies
![Page 31: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/31.jpg)
Content Deployment
• Authoring Farm • Production Farm
Content DB
EMM Term Store
Content Deployment
SSPProxy
Content DB
Search Index Search Index
![Page 32: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/32.jpg)
Content Deployment - Types
![Page 33: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/33.jpg)
Content Deployment - Security
![Page 34: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/34.jpg)
Content Deployment - Consideraciones
![Page 35: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/35.jpg)
Content Deployment Best Practice #1:
SQL Server Enterprise Edition & Snapshots
Content Deployment + SQL Server Enterprise
= No export failures due to on-going authoring activity.
![Page 36: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/36.jpg)
Content Deployment Best Practice #1:
SQL 2008 Enterprise Edition & Snapshots
(Cont’d)
Central Administration
Manage Content Deployment Paths and Jobs
<Your Job>
![Page 37: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/37.jpg)
Content Deployment Best Practice #2:
Custom Solutions & Content Deployment
Custom Solutions MUST be “aware” of Content Deployment
Many custom solutions add/modify Content DB objects (and fail if they can’t add/modify the objects).
The pattern we see in many custom solutions:
1. Admin activates solution on SOURCE of Content Deployment1. Objects are added to the Content DB
2. Content Deployment will then do the following on the TARGET:1. Deploy the content objects to the target Content DB
2. Automatically activate the custom solution (FAIL)
![Page 38: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/38.jpg)
Otras Buenas Prácticas – Topologías
![Page 39: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/39.jpg)
![Page 40: Best practices para publicar un WebSite con SharePoint Server 2010](https://reader036.fdocuments.us/reader036/viewer/2022081414/54820dc0b4af9f6e0d8b46b5/html5/thumbnails/40.jpg)
Buenas Prácticas para publicar tu
“website” con Microsoft SharePoint
2010
Juan Andrés Valenzuela, MVP SharePoint Server@JANDRESVAL | http://jandresval.wordpress.com