Mi presentación en la 1ª Iberian SharePoint Conference, que tuvo lugar el día 10 de octubre de 2013 en Madrid. En la presentación hablo de las mejores prácticas a la hora de diseñar una infraestructura de SharePoint y de consejos útiles para la instalación y configuración de las granjas de servidores. También se detallan los errores más comunes al configurar SharePoint y cómo evitarlos.
5. SharePoint a veces desespera…
• Los desarrolladores y administradores de IT
debemos luchar día a día con diversos y extraños
problemas.
• ¿Qué hacemos en un ataque de nervios y
desesperación?
• ¡Maldito SharePoint!
• ¡Culpa de SharePoint!
• ¡SharePoint es una basura!
• Es el Hacendado de los gestores documentales
• SharePoint me mata
• Lo normal es culpar a SharePoint, pero…
• ¿Tenemos siempre la razón? ¿Hay que culpar a
SharePoint de todos nuestros problemas? ¿No
tendremos nosotros algo de culpa?
6. …pero muchas veces no es el culpable
• Gran parte de los errores de SharePoint se deben a una mala
instalación/configuración o a un mal desarrollo.
• Trataremos errores muy comunes a la hora de instalar y configurar
SharePoint.
• También veremos cómo se debe planear una buena arquitectura.
7. Cometemos errores al instalar SharePoint
• En aproximadamente 30 minutos podemos instalar y configurar
un entorno SharePoint
• SharePoint nos proporciona una serie de asistentes rápidos para realizar
estas tareas
• Con poco conocimiento podemos configurar nuestra granja para fines
de desarrollo
• ¡Pero atención! Cuando instalemos una granja en producción
debemos ser extremadamente cuidadosos
• No nos bastará con unos sencillos asistentes
• Hay que tener en cuenta muchas cosas (cuentas, servidores, caché,
aplicaciones, url, asistentes…)
• Es necesario conocer muy a fondo la plataforma
8. Los 10 errores
más comunes
en la
instalación de
SharePoint
Inspirado en “Top 10 SharePoint 2010 Configuration Mistakes and How to Fix Them” por Todd O. Klindt
9. Error #1: Instalar todo con una cuenta
• El sistema se vuelve vulnerable
• Quien sepa la contraseña podrá hacerlo todo
• La Administración Central de SharePoint nos informará
continuamente de problemas
• Podemos perder soporte
• Cuentas necesarias para instalar/configurar:
• http://www.sinsharepointnohayparaiso.com/Blog/Entrada/56/Cuentas-
administrativas-para-instalar-configurar-SharePoint-2010
• Mínimo: sqlservice, spsetup, spfarm, sppool
10. Error #2: Usar el asistente de configuración
de la granja
• Este asistente crea todas las aplicaciones de servicio y de contenido
• Tras usarlo, todo funciona aparentemente, pero hay problemas:
• Los nombres de las bases de datos tienen GUIDs y es incómodo manejarlas e
identificarlas
• Se crea una aplicación web para empezar a usar y un MySite dentro, en vez de
separarlos en dos aplicaciones distintas
• Determinadas apps de servicio no tienen los permisos/seguridad configurados
correctamente
• Usuarios poco experimentados suelen marcar todas las app de servicio,
cuando puede no ser necesario crearlas
• En entornos con varios servidores, no es posible separar correctamente las
app de servicio
11. Error #3: Requisitos de hardware incorrectos
• Se debe cumplir el mínimo de TechNet:
• http://technet.microsoft.com/es-es/library/cc262485.aspx
• Si SharePoint tiene poca RAM:
• Apaga funcionalidades
• Cachea menos en los application pool
• Reinicia con más frecuencia los application pool
• SharePoint no necesita mucho espacio de disco duro, pero Windows sí
• Recomendación: aislar la instalación de SharePoint, index de búsqueda y LOGs
en discos secundario
12. Error #4 Mal funcionamiento o configuración
de SQL Server
• Si SQL Server va lento, entonces SharePoint va lento
• Asegurarse que se cumplen los requisitos de hardware
• Si se virtualiza SQL Server, asegurarse que se configura para un óptimo
rendimiento
• Recomendación: instalar con un SQL Server Alias. Así no tendremos
problemas con futuros cambios
• Tras crear la aplicación, SharePoint ya no comunica a IIS cambios que se hagan
en ella
Error #5 Usar una URL incorrecta al crear una
aplicación web
13. Error #6: Ejecutar aplicaciones web y aplicaciones de
servicio en distintos pool de aplicaciones
• Las aplicaciones se ejecutan dentro de un app pool, que es un proceso
(W3WP.exe) que se ejecuta en el servidor
• Es recomendable agrupar varias aplicaciones en un app pool (principalmente
las de servicio)
• Cuando SharePoint crea las bases de datos, toma algunas decisiones no
recomendadas:
• Autogrow de bases de datos a 1 MB. Esto provoca bajo rendimiento (con casi cada carga
de info la base de datos crece) y que haya diminutos trozos de 1 MB que forman parte
del archivo de la base de datos a lo largo de todo el disco
• Recovery Model configurado en “full”. Si no se maneja bien, los archivos .ldf llenarán el
disco duro
Error #7: Dejar la configuración por defecto de base
de datos que hace SharePoint
14. Error #8: No habilitar el cacheo de BLOB
• El cacheo de BLOB se utiliza para guardar temporalmente en disco objetos binarios
(como imágenes y videos) que se utilizan frecuentemente para mejorar el
rendimiento de la granja.
• Los archivos que se desean guardar en este cache son eliminados de la Base de Datos
y guardados en el sistema de archivos local de cada servidor frontal
• Por defecto deshabilitado
• Para configurar:
• http://www.gavd.net/servers/sharepointv4/spsv4_item.aspx?top=inf&itm=1468
• No es un error, pero se recomienda
• Podremos buscar en PDF y ver el icono en las librerías
• http://www.sinsharepointnohayparaiso.com/Blog/Entrada/40/SharePoint-2010-
Configurar-iFilter-de-Adobe-PDF-9-0-(64-bit)
Error #9: No instalar un PDF iFilter
15. Error #10 No hacer que los servidores de
SharePoint apunten a sí mismos
• Si hacemos que un servidor apunte a sí mismo:
• A la hora de hacer un rastreo en las búsquedas, no molestamos a los DNS, ni a otros
frontales, ni provocamos tráfico en la red, con lo que mejoramos el rendimiento
• Si nos reportan que SharePoint no funciona y desde dentro del servidor funciona,
podemos intuir que son problemas fuera
17. Cómo estructurar la granja
No existe una implementación única
Microsoft propone un proceso cíclico
de planeación de capacidad y de
escalabilidad para ayudarnos a
estructurar nuestras granjas
La granja debe evolucionar y escalarse
con el paso del tiempo
modelar
probar, optimizar
diseñar
supervisar y mantener
implementar
18.
19. ¿Cómo diseñar una granja?
Servidor frontal
web
Servidor de
base de datos
El mínimo de servidores en producción son un servidor
frontal y un servidor de base de datos
Granja SharePoint
20. ¿Cómo diseñar una granja?
Servidor frontal
web
Servidor de
base de datos
Si el frontal web tiene mucha carga de datos, acceso, concurrencia… es posible agregar otro
es un proceso tan sencillo como instalar SharePoint en un nuevo servidor y ejecutar un
asistente para unirlo a la granja
Granja SharePoint
Servidor frontal
web
21. ¿Cómo diseñar una granja?
Servidor
frontal web
Servidor de
base de datos
Se puede añadir a una granja la cantidad de frontales que se desee
Granja SharePoint
Servidor
frontal web
Servidor
frontal web
22. ¿Cómo diseñar una granja?
Servidor frontal
web
Servidor de
base de datos
Estos frontales pueden configurarse en NLB (network load balancing) para estar
balanceados y repartirse la carga de una misma aplicación SharePoint
Granja SharePoint
Servidor frontal
web
NLB
También nos proporciona alta disponibilidad
23. ¿Cómo diseñar una granja?
Servidor frontal
web
Servidor de
base de datos
NLB proporciona alta disponibilidad en los frontales, para conseguirla en base de datos
configuraremos un clúster SQL Server
Granja SharePoint
Servidor frontal
web
NLB
Servidor de
base de datos
SQL Server cluster
24. ¿Cómo diseñar una granja?
Servidor frontal
web
Servidor de
base de datos
Si se detectan servicios (excel services, web analytics, búsquedas…) que requieren una gran
carga de procesamiento, es posible separarlos en servidores de aplicaciones
Granja SharePoint
Servicio de
indexación
Añadir un servidor de
aplicaciones a la
granja es tan sencillo
como añadir un nuevo
frontal web y
configurar el servicio
en la Administración
Central
25. ¿Cómo diseñar una granja?
Para acceder desde internet es necesario basarnos en una topología de granja sharepoint
que lo permita
La más común es la topología de firewall perimetral
Servidor
frontal web
Servidor de
base de datos
Servidor
frontal web
Microsoft ForeFront
UAG
INTERNET
Granja SharePointRed perimetral (DMZ)Internet
Pero existen muchas otras. Puede consultar el resto de topologías de
granja en http://technet.microsoft.com/es-es/library/cc263513.aspx
26. ¿Cómo calcular el tamaño de la granja?
• Granja de servidor único
• Para fines de evaluación.
• Todo (frontales web, servidores de
aplicaciones, bases de datos) se
instala en un único servidor
27. ¿Cómo calcular el tamaño de la granja?
• Granja de servidores pequeña
(o granja de dos niveles)
• Para implementaciones limitadas,
con un mínimo de aplicaciones de
servicio en uso (o muchas con
poca carga) y un volumen
relativamente pequeño de datos
(10 o más GB).
28. ¿Cómo calcular el tamaño de la granja?
• Granja de servidores mediana
(o granja de tres niveles)
• Topología de tres niveles, la
arquitectura más común.
• Decenas de miles de usuarios.
• De 10 a 50 solicitudes por
segundo.
• 1 ó 2 TB de datos.
29. ¿Cómo calcular el tamaño de la granja?
• Granja de servidores
grande
• Varias granjas de
servidores.
• Granjas dedicadas para
distintos servicios.
• Cientos de miles de
usuarios.
• Cientos de solicitudes
por segundo.
• 10 o más TB de datos.
30. ¿Cómo calcular la capacidad de la granja?
• Calcular capacidad de la granja
• Guías de TechNet
• http://technet.microsoft.com/en-us/library/ff608068.aspx
• Resources for Sizing and Capacity Planning for SharePoint 2013
• http://blogs.msdn.com/b/sanjaynarang/archive/2013/04/06/sizing-and-capacity-
planning-for-sharepoint-2013-resources.aspx
• Comparación con otras implantaciones
• Proyectos pasados
• Ejemplos de TechNet
• Calculadoras automáticas
• HP SharePoint Sizer
• Microsoft SharePoint Capacity Planning Tool (sólo para SharePoint 2007)
32. Cuentas de usuario
• spsetup: Cuenta de instalación, configurador de SharePoint y PowerShell
• spfarm: cuenta de acceso a base de datos, administrador de la granja, pool de
administración central, servicio de timers, se impersona como “Cuenta del Sistema”
(SHAREPOINTsystem)
• sppool1, sppool2, spool3…: cuentas para los application pool de las distintas aplicaciones
SharePoint
• spservices: cuenta para los application pool de las aplicaciones de servicio
• spmysite: administrador de Mi Sitio (My Site) y cuenta del pool de Mi Sitio.
• spsearch: cuenta para el servicio de búsqueda
• spcrawl: cuenta para el rastreo de contenido en las búsquedas
• spprofile: cuenta para sincronizar perfiles de usuario
• spexcel, spvisio, spperfpoint: cuentas para el servicio sin-atención de los servicios de
Excel, Visio y PerformancePoint.
• spcacheadm, spcacherd: cuentas para la caché de objetos de SharePoint
• http://www.sinsharepointnohayparaiso.com/Blog/Entrada/56/Cuentas-administrativas-
para-instalar-configurar-SharePoint-2010
33. Otras recomendaciones
• Servidores de base de datos:
• A ser posible, conectar a base de datos mediante un Alias SQL.
• Si se dispone de servidores suficientes, configurar clúster en base de datos para
conseguir alta disponibilidad.
• Separar bases de datos en distintos discos duros. Recomendación:
• Disco 1: Sistema Operativo
• Disco 2: Binarios, instalación
• Disco 3: bases de datos de contenido y servicios (mdf)
• Disco 4: log transaccionales de bases de datos de contenido y servicios (ldf)
• Disco 5: bases de datos de búsqueda y rastreo (mdf)
• Disco 6: log transaccionales de bases de datos de búsqueda y rastreo (ldf)
• El Autogrow de bases de datos está por defecto a 1 MB, mejor incrementarlo.
• Intentar no cambiar permisos en las bases de datos de SharePoint a mano, a no ser
que sea absolutamente necesario.
34. Otras recomendaciones
• Servidores de SharePoint:
• Crear aplicaciones de servicio a mano para controlar los nombres de las bases de
datos, pools de aplicaciones, configuraciones y cuentas.
• A ser posible, conectar a base de datos mediante un Alias SQL.
• Configurar límites de ficheros de log, separar en otros discos duros.
• Instalar iFilters esenciales, p.ej. PDF.
• Al acabar la instalación, spfarm debe dejar de ser administrador local.
• Si se dispone de servidores suficientes, configurar balanceos NLB en los frontales y
clúster en base de datos.
• Si se desea, configurar una granja de Office Web Apps y conectarla a la granja de
SharePoint.
• Configurar correctamente los servicios que se ejecutan en cada servidor, es un error
común hacer servidores de aplicaciones con el servicio de frontal web. Evitar esto.
• No instalar Cumulative Updates si no tienes que solucionar un problema concreto,
mejor esperar al Service Pack.
35. AutoSPInstaller
• Scripts PowerShell automatizados que permiten instalar y configurar la granja de
SharePoint al completo.
• Algunas características importantes:
• Desactiva servicios de Windows que no sean necesarios
• Instala SharePoint, prerrequisitos, actualizaciones esenciales del servidor, Language Packs,
CU, Service Packs, Office Web Apps, ForeFront, PDF iFilter…
• Permite una instalación desatendida de toda la granja, incluso reiniciando las máquinas.
• Permite configurar Alias SQL, poner nombres a todas las bases de datos.
• Configura cuentas, permisos, logins, contraseñas, passphrases, servicio de almacenamiento
seguro…
• Crea todas las aplicaciones de servicio ya configuradas.
• Crea aplicaciones de SharePoint, Mi Sitio, Search Center…
• Configura los IIS del servidor y ficheros de host
• Configura los diferentes roles de búsqueda (admin, crawl, index…)
• Proyecto de Codeplex: https://autospinstaller.codeplex.com
• AutoSPSourceBuilder descarga binarios de SharePoint, Service Packs, CU y Language Packs
organizados tal y como AutoSPInstaller necesita: http://autospsourcebuilder.codeplex.com