SlideShare uma empresa Scribd logo
1 de 62
Colaboran:
#MadPoint
#SharePoint
#Office 365 #cloud
#develop
#apps
#farm
#IT
#people
#ECM
#Power BI#business #workflows
#search
#communities
#content
#insights
#Office
#people
#Welcome
#Delve
#mail
#add-ins
#communicate #social
#team
#sites
#Groups
#video
#Exchange
#Sway
#OneDrive
#Skype
#MadPoint
www.madpoint.net
www.linkedin.com/groups?gid=4554702
@MadPoint
github.com/madpoint
#MadPoint
Miguel Tabera Pacheco
MVP | Office Servers & Services
SharePoint Lead at Plain Concepts
http://docs.com/migueltabera
@migueltabera
#MadPoint
Diseña tu propio Office 365 con
Azure IaaS y PaaS
Pinceladas de arquitectura
#MadPoint
Introducción
¿Es posible?
#MadPoint
Introducción: Office 365 y sus servicios
#MadPoint
SharePoint as a Service
• Al tratarse de un servicio, SharePoint
Online tiene carencias frente a SharePoint
Server:
• Control de la granja y aplicaciones
• Desarrollo de soluciones servidor
• Control IT, errores, problemas…
• Falta de algunos servicios (Word Automation,
Machine Translation, PerformancePoint…)
• ¿Y si usamos las herramientas de Azure
para diseñar un entorno SharePoint con
toda la potencia de la versión on-
premise?
• ¿Pero con la sencillez y facilidades de la
versión online?
#MadPoint
Diseño de nuestro propio Office 365
• Usaremos Azure IaaS para diseñar
la granja.
• Automatizaremos tareas gracias a
PowerShell, web Jobs y Logic Apps.
• Usaremos Azure web apps para
diseñar un panel de
administración.
• Idearemos APIs de administración.
• En la presentación nos
centraremos en SharePoint.
¡¡¡Pues ahora voy
a hacer mi propio
Office 365!!!
#MadPoint
Nuestros
objetivos
#MadPoint
Nuestros objetivos e ideas para conseguirlos
• Conseguir un entorno en la nube similar a SharePoint Online.
• Podemos utilizar máquinas virtuales para crear servidores de
AD y DNS, SQL Server y una granja de SharePoint.
• Evitar que los administradores tengan que acceder a los servidores
para cualquier acción (crear colecciones de sitios, configurar servicios,
administrar metadatos, lanzar rastreos de búsqueda…).
• Podemos diseñar una web de administración en un Azure Web App.
• Podemos diseñar una API PowerShell de administración.
• Podemos diseñar una API REST de administración.
#MadPoint
Nuestros objetivos e ideas para conseguirlos
• Automatizar todo lo posible
• Apoyémonos en la comunidad.
• Hay muchas galerías de scripts PowerShell que nos ayudan a automatizar.
• No “ensuciar” los servidores de SharePoint
• Si diseñamos portales de administración, APIs, jos etc, nos apoyaremos en
Azure para mantener los servidores de SharePoint intactos.
• Nos podemos aprovechar en parte del modelo de apps.
• Proporcionar funcionalidades avanzadas.
• Existen grandes productos para SharePoint on-premise como Nintex, Beezy,
AvePoint… que pueden ayudarnos a ofrecer una experiencia mejorada de
nuestra plataforma.
#MadPoint
Herramientas
con las que
contamos
#MadPoint
Azure
#MadPoint
Servicios de Azure
• Máquinas virtuales y redes virtuales.
• Para crear la granja de SharePoint.
• Azure Storage
• Almacenaremos copias de servidores para levantar nuevos frontales web.
• Almacenamiento de archivos pesados (ej. vídeos).
• Azure Web Apps
• Para diseñar un panel de administración y ubicar SharePoint apps.
• Web Jobs o Logic Apps
• Para realizar procesos periódicos en el entorno.
• Azure Media Services + CDN
• Para montar nuestro portal de vídeo.
• Application Insights
• Para monitorizar y medir uso y rendimiento.
#MadPoint
Las tres API cliente de SharePoint
Client-side object model (CSOM)
Para aplicaciones web o móviles que usen C#.
Para scripting PowerShell remoto.
JavaScript object model (JSOM)
Para aplicaciones web no Microsoft y apps JavaScript de Windows.
Útil para desarrollar apps de SharePoint para otras plataformas
(Android, iOS…)
REST
API independiente de la plataforma basada en estándares como
OAuth y OData.
#MadPoint
Las tres API cliente de SharePoint
• Reference for SharePoint 2013 APIs (Server, CSOM, JavaScript)
• http://msdn.microsoft.com/en-us/library/jj193038.aspx
• How to: Complete basic operations using SharePoint 2013 client library
code
• http://msdn.microsoft.com/en-us/library/fp179912.aspx
• How to: Complete basic operations using JavaScript library code in SP 2013
• http://msdn.microsoft.com/en-us/library/jj163201.aspx
• How to: Complete basic operations using SharePoint 2013 REST endpoints
• http://msdn.microsoft.com/en-us/library/jj164022.aspx
#MadPoint
PowerShell
• Herramienta ideal para crear operaciones de administración.
• Puede usar las API cliente para conectar remotamente a SharePoint.
• Puede ser muy útil para la creación automática de la granja.
• Usaremos proyectos de la comunidad como AutoSPInstaller.
• Lo usaremos también para automatizar despliegues.
#MadPoint
Paso 1. Diseño
de la granja
usando PaaS
#MadPoint
Opciones de diseño de la granja SP
• Plantilla de granja de SharePoint en Azure.
• Pocos datos de configuración.
• Creación rápida. En menos de 1 hora.
• Control de los nombres de servidor, nivel de precio, redes, storage.
• No se tiene todo el control sobre la configuración, usuarios y servicios.
• Creación manual de los servidores.
• Se tiene todo el control sobre el entorno y su configuración.
• Para IT PRO con conocimientos avanzados de SharePoint.
• Se pueden usar herramientas de instalación de terceros o de comunidad.
• AutoSPInstaller
#MadPoint
La plantilla de granja de SharePoint
• Configuración básica
#MadPoint
La plantilla de granja de SharePoint
• Configuración con alta disponibilidad
#MadPoint
La plantilla de granja de SharePoint
#MadPoint
Creación manual de los servidores
VHD VHD VHD VHD VHD VHD VHD VHD VHD
VirtualNetwork
#MadPoint
Creación manual de los servidores
• La combinación
que queramos
#MadPoint
AutoSPInstaller
• Scripts PowerShell automatizados que permiten instalar y configurar la granja de
SharePoint al completo.
• Se guarda en una carpeta los binarios de SharePoint, Language Packs, Service Packs
y Cumulative Updates y se configura un XML con todos los datos de la granja. Los
scripts configurarán todos los servidores.
• 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
#MadPoint
Ampliar la granja
• Dejar guardado en el storage un VHD con todo instalado (binarios,
actualizaciones, language packs…).
• Si se quiere añadir un frontal web o un servidor de aplicación:
• Duplicar disco del storage.
• Crear una máquina en la red virtual a partir de ese disco.
• Ejecutar el asistente de SharePoint para unir a la granja y configurar roles a
mano
• O ejecutar los script de AutoSPInstaller con los roles prefijados.
• Podemos integrarlo en el panel de administración que vamos a
diseñar.
• Desde el panel podemos crear una máquina con la API de Azure.
• Y podemos forzar que se ejecute AutoSPInstaller o el asistente de
SharePoint.
#MadPoint
Paso 2. Diseño
de un portal
de
administración
#MadPoint
Portal de administración
• Nuestro objetivo principal:
• SharePoint “as a service”.
• Evitar que los administradores tengan que entrar a los servidores.
• Proporcionar un panel de administración con las herramientas necesarias
para realizar las operaciones más comunes.
• No permitir acceso a configuración avanzada de la granja. No nos sirve con
dar acceso externo a la Administración Central de SharePoint.
• Debe seguir los
principios del Centro
de Administración
de SharePoint
Online
#MadPoint
Portal de administración
• Nuestro objetivo principal:
• SharePoint “as a service”.
• Evitar que los administradores tengan que entrar a los servidores.
• Proporcionar un panel de administración con las herramientas necesarias
para realizar las operaciones más comunes.
• No permitir acceso a configuración avanzada de la granja. No nos sirve con
dar acceso externo a la Administración Central de SharePoint.
• Debe seguir los
principios del Centro
de Administración
de SharePoint
Online
#MadPoint
Diseño técnico
• La aplicación web contiene:
• Aplicación ASP.NET con el panel de administración
• Azure Web Jobs para realizar operaciones periódicas desatendidas sin
necesidad de hacer SharePoint Timer Jobs dentro de la granja
#MadPoint
Ejemplo de panel de administración
#MadPoint
Paso 3.
Creación de
APIs
PowerShell
#MadPoint
API PowerShell para administración
• SharePoint Server ofrece una
completísima API de PowerShell
para administración.
• Pero nuestro objetivo es no hacer
operaciones en servidor.
• Apoyándonos en la API CSOM y,
aprovechando que en PowerShell
se pueden usar objetos .NET,
vamos a construir nuestras
funciones de administración.
• Serán muy re-aprovechables en
SharePoint Online.
#MadPoint
Dos usos principales
• Administración
• Creación de sitios, seguridad, configuración…
• Despliegue de contenido
• Creación de columnas, tipos de contenido, listas, flujos de trabajo, páginas…
#MadPoint
Login y conexión
function Load-SPClientDlls()
{
Add-Type -Path ".Microsoft.SharePoint.Client.dll"
Add-Type -Path ".Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path ".Microsoft.SharePoint.Client.WorkflowServices.dll"
Add-Type -Path ".Microsoft.SharePoint.Client.Publishing.dll"
}
function Connect-SPClientContext([string]$user, [string]$site) {
Load-SPClientDlls
$password = Read-Host -Prompt "Enter password: " -AsSecureString
# Initialize a new ClientContext object passing $siteUrl
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($site)
# We need to add the credentials
$credentials = New-Object System.Net.NetworkCredential($user, $password) CheckError(-3)
$ctx.Credentials = $credentials
# At this point, we can use our ClientContext object to create, delete, and retrieve a list of sites.
return $ctx
}
#MadPoint
Algunos ejemplos: seguridad
function Create-Group([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$groupName)
{
$groupCreatioInfo = New-Object Microsoft.SharePoint.Client.GroupCreationInformation
$groupCreatioInfo.Title = $groupName
$group = $ctx.Web.SiteGroups.Add($groupCreatioInfo)
$ctx.Load($group)
$ctx.ExecuteQuery()
return $group
}
function Break-ListPermissions([Microsoft.SharePoint.Client.ClientContext]$ctx,
[string]$listName, [bool]$copyRoleAssignments, [bool]$clearSubscopes)
{
$list = Get-List -ctx $ctx -name $listName
$list.BreakRoleInheritance($copyRoleAssignments, $clearSubscopes)
$ctx.ExecuteQuery()
}
#MadPoint
Algunos ejemplos: sitios
function Create-SubSite([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$url,
[string]$title, [string]$template)
{
$webCreationInformation = New-Object Microsoft.SharePoint.Client.WebCreationInformation
$webCreationInformation.Url = $url
$webCreationInformation.Title = $title
$webCreationInformation.WebTemplate = $template
$newWeb = $ctx.Web.Webs.Add($webCreationInformation)
$ctx.Load($newWeb)
$ctx.ExecuteQuery()
}
function Remove-Site([Microsoft.SharePoint.Client.ClientContext]$ctx)
{
$web = $ctx.Web
$ctx.Load($web)
$ctx.ExecuteQuery()
$web.DeleteObject()
$ctx.ExecuteQuery()
}
#MadPoint
Algunos ejemplos: contenido
function Create-SiteColumn([Microsoft.SharePoint.Client.ClientContext]$ctx, $FieldType, $Name, $Description, $DisplayName, $StaticName, $Group, $Hidden,
$Required, $Sealed, $ShowInDisplayForm, $ShowInEditForm, $ShowInListSettings, $ShowInNewForm)
{
$rootWeb = $ctx.Site.RootWeb
$fieldXML = '<Field Type="'+$FieldType+'"
Name="'+$Name+'"
Description="'+$Description+'"
DisplayName="'+$DisplayName+'"
StaticName="'+$StaticName+'"
Group="'+$Group+'"
Hidden="'+$Hidden+'"
Required="'+$Required+'"
Sealed="'+$Sealed+'"
ShowInDisplayForm="'+$ShowInDisplayForm+'"
ShowInEditForm="'+$ShowInEditForm+'"
ShowInListSettings="'+$ShowInListSettings+'"
ShowInNewForm="'+$ShowInNewForm+'" '+
'</Field>'
$field = $rootWeb.Fields.AddFieldAsXml($fieldXML, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldToDefaultView)
$ctx.Web.Update()
$ctx.Load($field)
$ctx.ExecuteQuery()
}
#MadPoint
Algunos ejemplos: contenido
function Add-FieldColumnToContentType([Microsoft.SharePoint.Client.ClientContext]$ctx, [Microsoft.SharePoint.Client.Field]$Field,
[Microsoft.SharePoint.Client.ContentType]$ContentType)
{
$fieldLinkCreationInformation = New-Object Microsoft.SharePoint.Client.FieldLinkCreationInformation
$fieldLinkCreationInformation.Field = $Field
$info = $ContentType.FieldLinks.Add($fieldLinkCreationInformation)
$ContentType.Update($true)
$ctx.ExecuteQuery()
}
function Get-List([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$name)
{
$web = $ctx.Web
$ctx.Load($web)
$ctx.Load($web.Lists)
$ctx.ExecuteQuery()
$list = $web.Lists.GetByTitle($name)
$ctx.Load($list)
$ctx.ExecuteQuery()
}
#MadPoint
Paso 4.
Next-Gen
Portals
#MadPoint
¿Qué son los Next-Gen Portals?
• Portales de nueva generación que Microsoft ha añadido
recientemente a Office 365.
• Utilizan funcionalidades de SharePoint como publishing, seguridad,
search…
• Los principales ejemplos son Delve, Office Video e InfoPedia (aún no
disponible).
• Veremos técnicas para integrarlos en nuestro entorno usando
SharePoint.
Office Video InfoPedia
#MadPoint
Diseñando nuestro propio Office Video
• Aprovecharemos las siguientes tecnologías:
• Azure Media Services
• Listas de SharePoint
• SharePoint apps
• SharePoint Search Display Templates
• Azure App Insights (para log de errores)
#MadPoint
Azure Media Services
#MadPoint
Diseño técnico • La app se instala en el sitio de
SharePoint. Utiliza un website
de Azure.
• El usuario carga el vídeo a través
de la app.
• El website carga el vídeo en
Media Services.
• Un job queda pendiente del
estado de la codificación.
Cuando termina, avisa a la web
app y le da los resultados.
• El website almacena
información del vídeo,
codificación y metadatos en una
lista de vídeos en SharePoint.
• El portal tiene funcionalidades
para ver y reproducir los vídeos
que están en Media Services
usando display templates de
SharePoint.
Upload
video
app
Lista
vídeos
#MadPoint
Ejemplo gráfico
#MadPoint
Ejemplo gráfico
#MadPoint
Ejemplo gráfico
#MadPoint
Ejemplo gráfico
#MadPoint
Siguiente nivel
• ¿Y si quisiera hacer una api para
proporcionar los vídeos a un sistema
de reproducción externo?
• Por ejemplo, un teléfono, una Xbox…
#MadPoint
Diseño técnico • Puedo crear una API con
ASP.NET Web API dentro
del web site de la app.
• Al estar dentro del web
site de la app, ya puedo
trabajar con SharePoint
sin problemas de
seguridad y obtener la
url de streaming y
metadatos de la lista de
vídeos.
• La API obtendría datos
directamente de
SharePoint
Upload
video
app
Lista
vídeos
API
#MadPoint
Siguiente nivel
• ¿Y si preveo mucha carga y no estoy
seguro cómo responderá mi granja de
SharePoint?
• Podemos hacer que la Web API
ataque a un sistema externo que
sincronice con SharePoint.
#MadPoint
Diseño técnico
• A través de un web
job, podemos
sincronizar los datos
del sitio de
SharePoint con
Azure Search.
• La API obtendrá los
datos de Azure
Search, pudiéndose
aprovechar de las
reglas de ordenado,
filtrado, etc.
Upload
video
app
Lista
vídeos
API
#MadPoint
Paso 5.
Medición de
uso y
rendimiento
#MadPoint
Medición de uso y rendimiento
• Utilizaremos Azure Application
Insights
• Proporciona un código JavaScript que
podemos insertar en nuestros
portales de SharePoint.
• Nos permitirá ver información de uso
y rendimiento de nuestro SharePoint
“as a service”.
#MadPoint
Application Insights en SharePoint
#MadPoint
Application Insights en SharePoint
• Copiamos el código en
nuestra página maestra
(o lo desplegamos como
una solución de granja)
#MadPoint
Application Insights en SharePoint
• Si se desea monitorizar
una única página, puede
insertarse en una
webpart de JavaScript
#MadPoint
Application Insights en SharePoint
• Proporciona de un
vistazo información de
usuarios, sesiones y
visitas a las páginas.
#MadPoint
Application Insights en SharePoint
• Diagnosis Search
proporciona muchos
datos de las páginas
vistas:
#MadPoint
Sigue
construyendo…
#MadPoint
Y más adelante…
• La presentación pretendía dar visión sobre cómo, jugando con
muchas herramientas de Azure, puede conseguirse diseñar un
SharePoint como servicio.
• Siguiendo esta línea, puede ampliarse la funcionalidad o incluso
proporcionar más servicios para conseguir un Office 365 completo:
• Exchange Server
• Lync Server Skype for Business Server
• APIs REST para la plataforma
• Delve
• Integración con Yammer
• …
Thank you!
#MadPoint
Colaboran:

Mais conteúdo relacionado

Destaque

SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.Miguel Tabera
 
eblivion presentación corporativa
eblivion presentación corporativaeblivion presentación corporativa
eblivion presentación corporativaEva Ordoñez Perez
 
Novedades SharePoint 2016. Nuevos retos en Entonos Hibridos
Novedades SharePoint 2016. Nuevos retos en Entonos HibridosNovedades SharePoint 2016. Nuevos retos en Entonos Hibridos
Novedades SharePoint 2016. Nuevos retos en Entonos HibridosGonzalo Marcos
 
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Miguel Tabera
 
Movilidad en Office 365
Movilidad en Office 365Movilidad en Office 365
Movilidad en Office 365Miguel Tabera
 
SharePoint Server 2016 novedades
SharePoint Server 2016 novedadesSharePoint Server 2016 novedades
SharePoint Server 2016 novedadesEva Ordoñez Perez
 

Destaque (7)

SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
 
eblivion presentación corporativa
eblivion presentación corporativaeblivion presentación corporativa
eblivion presentación corporativa
 
SharePoint 2013 general
SharePoint 2013 generalSharePoint 2013 general
SharePoint 2013 general
 
Novedades SharePoint 2016. Nuevos retos en Entonos Hibridos
Novedades SharePoint 2016. Nuevos retos en Entonos HibridosNovedades SharePoint 2016. Nuevos retos en Entonos Hibridos
Novedades SharePoint 2016. Nuevos retos en Entonos Hibridos
 
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
 
Movilidad en Office 365
Movilidad en Office 365Movilidad en Office 365
Movilidad en Office 365
 
SharePoint Server 2016 novedades
SharePoint Server 2016 novedadesSharePoint Server 2016 novedades
SharePoint Server 2016 novedades
 

Semelhante a Diseña tu propio Office 365 con Azure IaaS y PaaS

Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013Miguel Tabera
 
Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointHaaron Gonzalez
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overviewVladimir Medina
 
Agiliza tus procesos de negocio con Microsoft Power Platform
Agiliza tus procesos de negocio con Microsoft Power PlatformAgiliza tus procesos de negocio con Microsoft Power Platform
Agiliza tus procesos de negocio con Microsoft Power PlatformDQSconsulting
 
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Nico Fernandez
 
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una formaJuan Carlos Gonzalez
 
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMiguel Tabera
 
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...Neiy Darry Rodriguez
 
Power BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfPower BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfAntonio Soto
 
Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Miguel Tabera
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointDaniel Laco
 
Configurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business IntelligenceConfigurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business IntelligenceJoseph Lopez
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owaEva Ordoñez Perez
 
SharePoint 2013 como centro de sus datos de negocio
SharePoint 2013 como centro de sus datos de negocioSharePoint 2013 como centro de sus datos de negocio
SharePoint 2013 como centro de sus datos de negocioJuan Carlos Gonzalez
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 

Semelhante a Diseña tu propio Office 365 con Azure IaaS y PaaS (20)

Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013
 
Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePoint
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
 
Agiliza tus procesos de negocio con Microsoft Power Platform
Agiliza tus procesos de negocio con Microsoft Power PlatformAgiliza tus procesos de negocio con Microsoft Power Platform
Agiliza tus procesos de negocio con Microsoft Power Platform
 
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
 
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
 
Share point
Share pointShare point
Share point
 
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
 
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...
Los 8 errores que nunca se deben cometer instalando sharepoint2013 por Neiy B...
 
Power BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfPower BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconf
 
Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepoint
 
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
 
Como hacer de todo con PowerShell
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShell
 
Configurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business IntelligenceConfigurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business Intelligence
 
Salesforce III developer day bbva innovation center Madrid by @almazanjl
Salesforce III developer day bbva innovation center Madrid by @almazanjlSalesforce III developer day bbva innovation center Madrid by @almazanjl
Salesforce III developer day bbva innovation center Madrid by @almazanjl
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
SharePoint 2013 como centro de sus datos de negocio
SharePoint 2013 como centro de sus datos de negocioSharePoint 2013 como centro de sus datos de negocio
SharePoint 2013 como centro de sus datos de negocio
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 

Mais de Miguel Tabera

Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Miguel Tabera
 
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...Miguel Tabera
 
Power apps to the next level
Power apps to the next levelPower apps to the next level
Power apps to the next levelMiguel Tabera
 
Microsoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMicrosoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMiguel Tabera
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Miguel Tabera
 
Windows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesWindows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesMiguel Tabera
 
InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?Miguel Tabera
 

Mais de Miguel Tabera (8)

Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)
 
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
 
Power apps to the next level
Power apps to the next levelPower apps to the next level
Power apps to the next level
 
Microsoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMicrosoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximo
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
 
RBS in SharePoint
RBS in SharePointRBS in SharePoint
RBS in SharePoint
 
Windows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesWindows Phone SharePoint Application Templates
Windows Phone SharePoint Application Templates
 
InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?
 

Último

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Diseña tu propio Office 365 con Azure IaaS y PaaS

  • 1. Colaboran: #MadPoint #SharePoint #Office 365 #cloud #develop #apps #farm #IT #people #ECM #Power BI#business #workflows #search #communities #content #insights #Office #people #Welcome #Delve #mail #add-ins #communicate #social #team #sites #Groups #video #Exchange #Sway #OneDrive #Skype
  • 3. #MadPoint Miguel Tabera Pacheco MVP | Office Servers & Services SharePoint Lead at Plain Concepts http://docs.com/migueltabera @migueltabera
  • 4. #MadPoint Diseña tu propio Office 365 con Azure IaaS y PaaS Pinceladas de arquitectura
  • 7. #MadPoint SharePoint as a Service • Al tratarse de un servicio, SharePoint Online tiene carencias frente a SharePoint Server: • Control de la granja y aplicaciones • Desarrollo de soluciones servidor • Control IT, errores, problemas… • Falta de algunos servicios (Word Automation, Machine Translation, PerformancePoint…) • ¿Y si usamos las herramientas de Azure para diseñar un entorno SharePoint con toda la potencia de la versión on- premise? • ¿Pero con la sencillez y facilidades de la versión online?
  • 8. #MadPoint Diseño de nuestro propio Office 365 • Usaremos Azure IaaS para diseñar la granja. • Automatizaremos tareas gracias a PowerShell, web Jobs y Logic Apps. • Usaremos Azure web apps para diseñar un panel de administración. • Idearemos APIs de administración. • En la presentación nos centraremos en SharePoint. ¡¡¡Pues ahora voy a hacer mi propio Office 365!!!
  • 10. #MadPoint Nuestros objetivos e ideas para conseguirlos • Conseguir un entorno en la nube similar a SharePoint Online. • Podemos utilizar máquinas virtuales para crear servidores de AD y DNS, SQL Server y una granja de SharePoint. • Evitar que los administradores tengan que acceder a los servidores para cualquier acción (crear colecciones de sitios, configurar servicios, administrar metadatos, lanzar rastreos de búsqueda…). • Podemos diseñar una web de administración en un Azure Web App. • Podemos diseñar una API PowerShell de administración. • Podemos diseñar una API REST de administración.
  • 11. #MadPoint Nuestros objetivos e ideas para conseguirlos • Automatizar todo lo posible • Apoyémonos en la comunidad. • Hay muchas galerías de scripts PowerShell que nos ayudan a automatizar. • No “ensuciar” los servidores de SharePoint • Si diseñamos portales de administración, APIs, jos etc, nos apoyaremos en Azure para mantener los servidores de SharePoint intactos. • Nos podemos aprovechar en parte del modelo de apps. • Proporcionar funcionalidades avanzadas. • Existen grandes productos para SharePoint on-premise como Nintex, Beezy, AvePoint… que pueden ayudarnos a ofrecer una experiencia mejorada de nuestra plataforma.
  • 14. #MadPoint Servicios de Azure • Máquinas virtuales y redes virtuales. • Para crear la granja de SharePoint. • Azure Storage • Almacenaremos copias de servidores para levantar nuevos frontales web. • Almacenamiento de archivos pesados (ej. vídeos). • Azure Web Apps • Para diseñar un panel de administración y ubicar SharePoint apps. • Web Jobs o Logic Apps • Para realizar procesos periódicos en el entorno. • Azure Media Services + CDN • Para montar nuestro portal de vídeo. • Application Insights • Para monitorizar y medir uso y rendimiento.
  • 15. #MadPoint Las tres API cliente de SharePoint Client-side object model (CSOM) Para aplicaciones web o móviles que usen C#. Para scripting PowerShell remoto. JavaScript object model (JSOM) Para aplicaciones web no Microsoft y apps JavaScript de Windows. Útil para desarrollar apps de SharePoint para otras plataformas (Android, iOS…) REST API independiente de la plataforma basada en estándares como OAuth y OData.
  • 16. #MadPoint Las tres API cliente de SharePoint • Reference for SharePoint 2013 APIs (Server, CSOM, JavaScript) • http://msdn.microsoft.com/en-us/library/jj193038.aspx • How to: Complete basic operations using SharePoint 2013 client library code • http://msdn.microsoft.com/en-us/library/fp179912.aspx • How to: Complete basic operations using JavaScript library code in SP 2013 • http://msdn.microsoft.com/en-us/library/jj163201.aspx • How to: Complete basic operations using SharePoint 2013 REST endpoints • http://msdn.microsoft.com/en-us/library/jj164022.aspx
  • 17. #MadPoint PowerShell • Herramienta ideal para crear operaciones de administración. • Puede usar las API cliente para conectar remotamente a SharePoint. • Puede ser muy útil para la creación automática de la granja. • Usaremos proyectos de la comunidad como AutoSPInstaller. • Lo usaremos también para automatizar despliegues.
  • 18. #MadPoint Paso 1. Diseño de la granja usando PaaS
  • 19. #MadPoint Opciones de diseño de la granja SP • Plantilla de granja de SharePoint en Azure. • Pocos datos de configuración. • Creación rápida. En menos de 1 hora. • Control de los nombres de servidor, nivel de precio, redes, storage. • No se tiene todo el control sobre la configuración, usuarios y servicios. • Creación manual de los servidores. • Se tiene todo el control sobre el entorno y su configuración. • Para IT PRO con conocimientos avanzados de SharePoint. • Se pueden usar herramientas de instalación de terceros o de comunidad. • AutoSPInstaller
  • 20. #MadPoint La plantilla de granja de SharePoint • Configuración básica
  • 21. #MadPoint La plantilla de granja de SharePoint • Configuración con alta disponibilidad
  • 22. #MadPoint La plantilla de granja de SharePoint
  • 23. #MadPoint Creación manual de los servidores VHD VHD VHD VHD VHD VHD VHD VHD VHD VirtualNetwork
  • 24. #MadPoint Creación manual de los servidores • La combinación que queramos
  • 25. #MadPoint AutoSPInstaller • Scripts PowerShell automatizados que permiten instalar y configurar la granja de SharePoint al completo. • Se guarda en una carpeta los binarios de SharePoint, Language Packs, Service Packs y Cumulative Updates y se configura un XML con todos los datos de la granja. Los scripts configurarán todos los servidores. • 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
  • 26. #MadPoint Ampliar la granja • Dejar guardado en el storage un VHD con todo instalado (binarios, actualizaciones, language packs…). • Si se quiere añadir un frontal web o un servidor de aplicación: • Duplicar disco del storage. • Crear una máquina en la red virtual a partir de ese disco. • Ejecutar el asistente de SharePoint para unir a la granja y configurar roles a mano • O ejecutar los script de AutoSPInstaller con los roles prefijados. • Podemos integrarlo en el panel de administración que vamos a diseñar. • Desde el panel podemos crear una máquina con la API de Azure. • Y podemos forzar que se ejecute AutoSPInstaller o el asistente de SharePoint.
  • 27. #MadPoint Paso 2. Diseño de un portal de administración
  • 28. #MadPoint Portal de administración • Nuestro objetivo principal: • SharePoint “as a service”. • Evitar que los administradores tengan que entrar a los servidores. • Proporcionar un panel de administración con las herramientas necesarias para realizar las operaciones más comunes. • No permitir acceso a configuración avanzada de la granja. No nos sirve con dar acceso externo a la Administración Central de SharePoint. • Debe seguir los principios del Centro de Administración de SharePoint Online
  • 29. #MadPoint Portal de administración • Nuestro objetivo principal: • SharePoint “as a service”. • Evitar que los administradores tengan que entrar a los servidores. • Proporcionar un panel de administración con las herramientas necesarias para realizar las operaciones más comunes. • No permitir acceso a configuración avanzada de la granja. No nos sirve con dar acceso externo a la Administración Central de SharePoint. • Debe seguir los principios del Centro de Administración de SharePoint Online
  • 30. #MadPoint Diseño técnico • La aplicación web contiene: • Aplicación ASP.NET con el panel de administración • Azure Web Jobs para realizar operaciones periódicas desatendidas sin necesidad de hacer SharePoint Timer Jobs dentro de la granja
  • 31. #MadPoint Ejemplo de panel de administración
  • 33. #MadPoint API PowerShell para administración • SharePoint Server ofrece una completísima API de PowerShell para administración. • Pero nuestro objetivo es no hacer operaciones en servidor. • Apoyándonos en la API CSOM y, aprovechando que en PowerShell se pueden usar objetos .NET, vamos a construir nuestras funciones de administración. • Serán muy re-aprovechables en SharePoint Online.
  • 34. #MadPoint Dos usos principales • Administración • Creación de sitios, seguridad, configuración… • Despliegue de contenido • Creación de columnas, tipos de contenido, listas, flujos de trabajo, páginas…
  • 35. #MadPoint Login y conexión function Load-SPClientDlls() { Add-Type -Path ".Microsoft.SharePoint.Client.dll" Add-Type -Path ".Microsoft.SharePoint.Client.Runtime.dll" Add-Type -Path ".Microsoft.SharePoint.Client.WorkflowServices.dll" Add-Type -Path ".Microsoft.SharePoint.Client.Publishing.dll" } function Connect-SPClientContext([string]$user, [string]$site) { Load-SPClientDlls $password = Read-Host -Prompt "Enter password: " -AsSecureString # Initialize a new ClientContext object passing $siteUrl $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($site) # We need to add the credentials $credentials = New-Object System.Net.NetworkCredential($user, $password) CheckError(-3) $ctx.Credentials = $credentials # At this point, we can use our ClientContext object to create, delete, and retrieve a list of sites. return $ctx }
  • 36. #MadPoint Algunos ejemplos: seguridad function Create-Group([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$groupName) { $groupCreatioInfo = New-Object Microsoft.SharePoint.Client.GroupCreationInformation $groupCreatioInfo.Title = $groupName $group = $ctx.Web.SiteGroups.Add($groupCreatioInfo) $ctx.Load($group) $ctx.ExecuteQuery() return $group } function Break-ListPermissions([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$listName, [bool]$copyRoleAssignments, [bool]$clearSubscopes) { $list = Get-List -ctx $ctx -name $listName $list.BreakRoleInheritance($copyRoleAssignments, $clearSubscopes) $ctx.ExecuteQuery() }
  • 37. #MadPoint Algunos ejemplos: sitios function Create-SubSite([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$url, [string]$title, [string]$template) { $webCreationInformation = New-Object Microsoft.SharePoint.Client.WebCreationInformation $webCreationInformation.Url = $url $webCreationInformation.Title = $title $webCreationInformation.WebTemplate = $template $newWeb = $ctx.Web.Webs.Add($webCreationInformation) $ctx.Load($newWeb) $ctx.ExecuteQuery() } function Remove-Site([Microsoft.SharePoint.Client.ClientContext]$ctx) { $web = $ctx.Web $ctx.Load($web) $ctx.ExecuteQuery() $web.DeleteObject() $ctx.ExecuteQuery() }
  • 38. #MadPoint Algunos ejemplos: contenido function Create-SiteColumn([Microsoft.SharePoint.Client.ClientContext]$ctx, $FieldType, $Name, $Description, $DisplayName, $StaticName, $Group, $Hidden, $Required, $Sealed, $ShowInDisplayForm, $ShowInEditForm, $ShowInListSettings, $ShowInNewForm) { $rootWeb = $ctx.Site.RootWeb $fieldXML = '<Field Type="'+$FieldType+'" Name="'+$Name+'" Description="'+$Description+'" DisplayName="'+$DisplayName+'" StaticName="'+$StaticName+'" Group="'+$Group+'" Hidden="'+$Hidden+'" Required="'+$Required+'" Sealed="'+$Sealed+'" ShowInDisplayForm="'+$ShowInDisplayForm+'" ShowInEditForm="'+$ShowInEditForm+'" ShowInListSettings="'+$ShowInListSettings+'" ShowInNewForm="'+$ShowInNewForm+'" '+ '</Field>' $field = $rootWeb.Fields.AddFieldAsXml($fieldXML, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldToDefaultView) $ctx.Web.Update() $ctx.Load($field) $ctx.ExecuteQuery() }
  • 39. #MadPoint Algunos ejemplos: contenido function Add-FieldColumnToContentType([Microsoft.SharePoint.Client.ClientContext]$ctx, [Microsoft.SharePoint.Client.Field]$Field, [Microsoft.SharePoint.Client.ContentType]$ContentType) { $fieldLinkCreationInformation = New-Object Microsoft.SharePoint.Client.FieldLinkCreationInformation $fieldLinkCreationInformation.Field = $Field $info = $ContentType.FieldLinks.Add($fieldLinkCreationInformation) $ContentType.Update($true) $ctx.ExecuteQuery() } function Get-List([Microsoft.SharePoint.Client.ClientContext]$ctx, [string]$name) { $web = $ctx.Web $ctx.Load($web) $ctx.Load($web.Lists) $ctx.ExecuteQuery() $list = $web.Lists.GetByTitle($name) $ctx.Load($list) $ctx.ExecuteQuery() }
  • 41. #MadPoint ¿Qué son los Next-Gen Portals? • Portales de nueva generación que Microsoft ha añadido recientemente a Office 365. • Utilizan funcionalidades de SharePoint como publishing, seguridad, search… • Los principales ejemplos son Delve, Office Video e InfoPedia (aún no disponible). • Veremos técnicas para integrarlos en nuestro entorno usando SharePoint. Office Video InfoPedia
  • 42. #MadPoint Diseñando nuestro propio Office Video • Aprovecharemos las siguientes tecnologías: • Azure Media Services • Listas de SharePoint • SharePoint apps • SharePoint Search Display Templates • Azure App Insights (para log de errores)
  • 44. #MadPoint Diseño técnico • La app se instala en el sitio de SharePoint. Utiliza un website de Azure. • El usuario carga el vídeo a través de la app. • El website carga el vídeo en Media Services. • Un job queda pendiente del estado de la codificación. Cuando termina, avisa a la web app y le da los resultados. • El website almacena información del vídeo, codificación y metadatos en una lista de vídeos en SharePoint. • El portal tiene funcionalidades para ver y reproducir los vídeos que están en Media Services usando display templates de SharePoint. Upload video app Lista vídeos
  • 49. #MadPoint Siguiente nivel • ¿Y si quisiera hacer una api para proporcionar los vídeos a un sistema de reproducción externo? • Por ejemplo, un teléfono, una Xbox…
  • 50. #MadPoint Diseño técnico • Puedo crear una API con ASP.NET Web API dentro del web site de la app. • Al estar dentro del web site de la app, ya puedo trabajar con SharePoint sin problemas de seguridad y obtener la url de streaming y metadatos de la lista de vídeos. • La API obtendría datos directamente de SharePoint Upload video app Lista vídeos API
  • 51. #MadPoint Siguiente nivel • ¿Y si preveo mucha carga y no estoy seguro cómo responderá mi granja de SharePoint? • Podemos hacer que la Web API ataque a un sistema externo que sincronice con SharePoint.
  • 52. #MadPoint Diseño técnico • A través de un web job, podemos sincronizar los datos del sitio de SharePoint con Azure Search. • La API obtendrá los datos de Azure Search, pudiéndose aprovechar de las reglas de ordenado, filtrado, etc. Upload video app Lista vídeos API
  • 54. #MadPoint Medición de uso y rendimiento • Utilizaremos Azure Application Insights • Proporciona un código JavaScript que podemos insertar en nuestros portales de SharePoint. • Nos permitirá ver información de uso y rendimiento de nuestro SharePoint “as a service”.
  • 56. #MadPoint Application Insights en SharePoint • Copiamos el código en nuestra página maestra (o lo desplegamos como una solución de granja)
  • 57. #MadPoint Application Insights en SharePoint • Si se desea monitorizar una única página, puede insertarse en una webpart de JavaScript
  • 58. #MadPoint Application Insights en SharePoint • Proporciona de un vistazo información de usuarios, sesiones y visitas a las páginas.
  • 59. #MadPoint Application Insights en SharePoint • Diagnosis Search proporciona muchos datos de las páginas vistas:
  • 61. #MadPoint Y más adelante… • La presentación pretendía dar visión sobre cómo, jugando con muchas herramientas de Azure, puede conseguirse diseñar un SharePoint como servicio. • Siguiendo esta línea, puede ampliarse la funcionalidad o incluso proporcionar más servicios para conseguir un Office 365 completo: • Exchange Server • Lync Server Skype for Business Server • APIs REST para la plataforma • Delve • Integración con Yammer • …

Notas do Editor

  1. Here are the configuration details: Azure Subscription: Specified during the initial configuration. Azure Domain Names (also known as cloud services): Separate Domain Names are automatically created for each virtual machine. Storage account: Specified during the initial configuration. Virtual network Type: Cloud-only Address space: 192.168.16.0/26 Virtual machines HostNamePrefix-DC (AD DS domain controller) HostNamePrefix-SQL (SQL Server 2014 server) HostNamePrefix-SP (SharePoint 2013 server) Domain controller Virtual machine image: Windows Server 2012 R2. Host name prefix: Specified during the initial configuration. Size: A1 (default) Domain name: contoso.com (default) Domain administrator account name: Specified during the initial configuration. Domain administrator account password: Specified during the initial configuration. SQL Server Virtual machine image: SQL Server 2014 RTM Enterprise on Windows Server 2012 R2. Host name prefix: Specified during the initial configuration. Size: A5 (default) Database access account name: Specified during the initial configuration. Database access account password: Specified during the initial configuration. SQL Server service account name: Specified during the initial configuration. SQL Server service account password: Specified during the initial configuration. SharePoint server Virtual machine image: SharePoint Server 2013 Trial. Host name prefix: Specified during the initial configuration. Size: A2 (default) SharePoint farm account name: Specified during the initial configuration. SharePoint farm account password: Specified during the initial configuration. SharePoint farm passphrase: Specified during the initial configuration.
  2. Azure Subscription: Specified during the initial configuration. Azure Domain Names (also known as cloud services): Separate Domain Names are created according to the figure above. Storage account: Specified during the initial configuration. Virtual network Type: Cloud-only Address space: 192.168.16.0/26 Virtual machines HostNamePrefix-DC1 (AD DS domain controller) HostNamePrefix-DC2 (AD DS domain controller) HostNamePrefix-SQL1 (SQL Server 2014 server) HostNamePrefix-SQL2 (SQL Server 2014 server) HostNamePrefix-SQL0 (Windows Server 2012 R2 server) HostNamePrefix-WEB1 (SharePoint 2013 server) HostNamePrefix-WEB2 (SharePoint 2013 server) HostNamePrefix-APP1 (SharePoint 2013 server) HostNamePrefix-APP2 (SharePoint 2013 server) Domain controllers Virtual machine image: Windows Server 2012 R2. Host name prefix: Specified during the initial configuration. Size: A1 (default) Domain name: contoso.com (default) Domain administrator account name: Specified during the initial configuration. Domain administrator account password: Specified during the initial configuration. SQL Servers Virtual machine image: SQL Server 2014 RTM Enterprise on Windows Server 2012 R2. Host name prefix: Specified during the initial configuration. Size: A5 (default) Database access account name: Specified during the initial configuration. Database access account password: Specified during the initial configuration. SQL Server service account name: Specified during the initial configuration. SQL Server service account password: Specified during the initial configuration. SharePoint servers Virtual machine image: SharePoint Server 2013 Trial. Host name prefix: Specified during the initial configuration. Size: A2 (default) SharePoint farm account name: Specified during the initial configuration. SharePoint farm account password: Specified during the initial configuration. SharePoint farm passphrase: Specified during the initial configuration.