miércoles, 22 de febrero de 2017

Agenda de Azure Boot Camp 2017 para Ciduad de Guatemala Lista

Tengo la excelente noticia que ya tenemos la agenda para el evento mundial de Azure Boot Camp para la ciudad de Guatemala. 

Les dejo con la información abajo:

UBICACION: UNIVERSIDAD FRANCISCO MARROQUINA CEDE CENTRAL (ZONA 10)
COSTO PARQUEO: Q.40.00 POR EL DIA DEL EVENTO (8 HORAS9
COSTO DEL EVENTO: GRATUITO


AGENDA DEL DÍA DEL EVENTO
Registro del evento 8:00 a 8:25 AM
Bienvenida al evento 8:25 a 8:30 (Manolo)

Azure Getting Started (Carlos Lone) 8:30 a 10:30Xamarin y Movil Services en Azure (David Ayala) 8:30 a 10:30Azure IoT (Marlon Ramos) 11:00 a 13:00

ALMUERZO SUBWAY (PATRICINADO POR MICROSOFT)

Azure Data Factory (Marco Tulio Gomez) 11:00 a 13:00Doker in Azure (Christian Melendez) 2:30 a 4:30Dev Ops Team Services and Azure Web Sites (Juan Manuel Herrera Ocheita) 2:30 a 4:30
Cierre de Evento (Rifas) 4:45 a 5:00 pm (Equipo de Expositores)

Observaciones importantes para el evento
Cupo para 120 personas en total de 2 Salones para 6O personas.   Sesiones serán simultaneas según agenda e intereses de los participantes. Deberán llevar una portatil para realizar las prácticas con Visual Studio Community o cual quier otra edición disponible.    Para descargar el software puede visitar la siguiente dirección: https://www.visualstudio.com/vs/visual-studio-2017-rc/ y una semana antes del evento crear una subscripción en Azure gratuita.  Para ello visite la siguiente dirección: https://azure.microsoft.com/es-es/free/ .   Preparate para escribir lineas de código usuario Visual Studio y para experimentar Azure. Si te gusta el codigo, la innovación, el desarrollo de soluciones, el solverntar problemas y crear aplicaciones este boot camp es para ti.

Te esperamos en la Universidad Francisco Marroquin en la ciudad de Guatemala.


https://global.azurebootcamp.net/locations/guatemala-guatemala/


Azure4Fun!,

Juan Manuel Herrera Ocheita

miércoles, 15 de febrero de 2017

Azure boot Camp 2017 en Guatemala

Estamos organizando el evento del año para desarrolladores en Guatemala Azure Boot Camp 2017 dos localidades Universidad UNIS y Universidad Francisco Marroquin.

No más presentaciones aburridas...más laboratorios, ensuciarse las manos escribiendo codigo para probar la plataforma de Desarrollo en la Nube Microsoft Azure.


Puedes inscribirte en el siguiente enlace:


Solo hay 67 asientos así que apurate a inscribirte.

Azure4Fun!,

Juan Manuel Herrera

jueves, 9 de febrero de 2017

Recursos de Xamarin


Estimados amigos lectores si están interesados en desarrollo movil ágil y multi plataforma.  Les recomiendo los recursos disponibles de Xamarin.







 Xamarin4fun!,

Juan Manuel Herrera



lunes, 6 de febrero de 2017

Cuidado con la base de datos tempDB de SQL Server 2016 para un granja de SharePoint 2016

Oh! sorpresa la base de datos temporal que utiliza para realizar sus operaciones de creación, modificación y eliminación  puede creecer hasta llenar por completo el disco donde esta ubicada.   

El disco donde estaba almacenada esta base de datos tempDb tenia 2 TB y fueron consumidos en su totalidad, así que mucho cuidado.

La base de datos TempDb en Sql Server 2016 se crean archivos separados por nucleos lógicos en el caso nuestro teniamos 4 núcleos entonces creó 4 archivos separados uno por cada núcleo;un arhivo .MDF y 3 archivos .NDF.  Y estos mostraban el tamaño de 500 GB cada uno, como se muestra abajo:


Este servidor es el BackEnd de una Granja de SharePoint 2016.  Y el reporte del usuario fue que no podía agregar una bilioteca de imágenes.  Al revisar el log de SharePoint se encotró el siguiente error:

02/02/2017 16:49:30.93               w3wp.exe (0x21AC0)                                    0x2424C               SharePoint Foundation                         Database                           880j        High      SqlError: 'Could not allocate space for object 'dbo.EventCache'.'EventCache_ListId' in database 'WSS_Content_xxx' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.'    Source: '.Net SqlClient Data Provider' Number: 1105 State: 2 Class: 17 Procedure: 'proc_LogChangeEx' LineNumber: 28 Server: 'SHAREPOINTDB'                1833d19d-e9f5-b035-1066-9145bf5ded4f

Su configuración inicial fue la siguiente:

Crecimiento Inicial Tenia 1024 Mb
AutoCrecimiento
Crecimiento en 64 MB
Limite de Crecimiento No Restringido

Solución

La solución pues tendría que ser reducir el tamaño de la base de datos por medio de un Shrink, pero para ambientes de producción no es recomendado hacerlo en caliente y en horarios laborales.  Por ello se tomaron las siguientes medidas:

Procedimiento Efectuado:

1) Solicitar Ventana de Mantenimiento de Emergencía
2) Dentro de la ventana de mantenimiento se efectuó el siguiente procedimiento:
2.1.) Se ejecutaron las siguientes líneas en t-sql con el Management Studio:

use tempdb
GO

DBCC FREEPROCCACHE -- clean cache
DBCC DROPCLEANBUFFERS -- clean buffers
DBCC FREESYSTEMCACHE ('ALL') -- clean system cache
DBCC FREESESSIONCACHE -- clean session cache
DBCC SHRINKDATABASE(tempdb, 99); -- shrink tempdb

Esto liberó 450 Gb el disco que estaba lleno y no permitio reiniciar con seguridad

2.2) Reinicio del Servidor de SQL Server
2.3) Ejecución de los siguientes comandos de t-SQL:

go

USE tempdb;
GO
DBCC SHRINKFILE (tempdev, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 1 8192 8192 472 472
DBCC SHRINKFILE (temp2, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 3 8192 8192 184 184
DBCC SHRINKFILE (temp3, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 4 8192 8192 120 120
DBCC SHRINKFILE (temp4, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 5 8192 8192 32 32

2.4) Se modificó las propiedades de cada data file para que creciera un máximo de 10 Gb o 10240 Mb.

Con ello se liberó el espacio y se garantizó que no puede llegar a ser mayor a 10 Gb cada archivo de base de datos o ndf file dando un total de 40 GB que estamos es más que suficiente para las operaciones de la granja de SharePoint 2016.



Luego se probó crear la biblioteca y se efectuó la operacíon con éxito sin problemas.



En resumen tenga cuidado cuando se configura SQL Server 2016 de limitar el tamaño de la base de datos tempdb un tamaño que según estime las operaciones que realizará la base de datos pueda manejar, defina un limite máximo para los archivos MDF y LDFs de la base de datos TempDB.

Microsoft también recomienda que tenga un tamaño igual inicial y un incremento igual es decir todas esten configuradas con el mismo tamaño de crecimiento que en este caso es de bloques de 64 MB.

Datos interesantes sobre la tempdb en SQL Server 2016 puede revisar este enlace:

https://blogs.msdn.microsoft.com/psssql/2016/03/17/sql-2016-it-just-runs-faster-automatic-tempdb-configuration/


Hasta la próxima y cuidado con la tempDB.


Juan Manuel Herrera Ocheita



lunes, 30 de enero de 2017

Nuevo contenido Actualizado de Azure

Ya esta disponible el nuevo contenido para la comunidad sobre Azure en github.   

Dentro del contenido tenemos  los siguientes temas:


  1. Advanced Analytics /Power BI
  2. Big data and Analytics
  3. Cloud Computing
  4. Data
  5. DevOps 
  6. IoT o el Internet de las cosas 
  7. Mixed Realitiy Hololens
  8. Mobile Development
  9. Open Dev Framework
Alli encontraras Presentaciones, Laboratorios, Scripts, Codigo, Demos y soluciones de VS completas.

Así que a indigar y aprovechar este contenido actualizado.




Azure4Fun!,

Juan Manuel Herrera



Curso Nivel Intermedio de Xamarin completamente en Español

No te pierdas el curso de nivel intermedio totlamente en español sobre desarrollo Movíl con Xamarin.  
Xamarin es una herramienta incluida en cualquier edición de Visual Studio gratuita para desarrollar aplicaciones móviles nativas (Android, IOs, Windows Phone) pero programadas en C#.



Inscribete aquí:


Te veo en el curso.

Xamarin4Fun!,


Juan Manuel Herrera Ocheita

domingo, 22 de enero de 2017

Reporte de Uso en SharePoint 2016 reporta ceros en visitas y usuarios únicos más no en las consultas de búsqueda

Este error ha sido muy común desde la versión SharePoint Server 2013, al parecer unificar en el servicio de búsqueda con las estadísticas de uso del portal, no ha sido una experiencia muy positiva ni para los que administramos las granjas de SharePoint ni para los usuarios que analizan la información que es brinda el reporte de consumo si la comparamos con las gráficas de SharePoint 2010 que nos daban mucho más información.

Primero veamos el diseño de la arquitectura de los componentes que intervienen en las estadísticas de SharePoint.


Este diagrama es de SharePoint 2010, pero en 2013 y 2016 no ha cambiado mucho.   Aunque es parte de el servicio de Search de SharePoint, los componentes que lo integran aún son parte del diseño que viene de la versión 2010.  Ahora en el diagrama modifque algunas etiquetas para actualizarlo más posible a la versión reciente y entendamos que componentes intervienen en las estádisticas de uso de SharePoint 2016.

La arquitectura del servicio de búsqueda de SharePoint 2016 a nivel mas amplio puede revisarse en los diagramas disponibles de arquitectura del sitio de technet.  Para apreciar mejor la imagen puedes visitar el siguiente enlace:
https://msdn.microsoft.com/en-us/library/office/jj163300.aspx. el proceso Analytics Processing Component es responsable de procesar las estadísticas tanto de uso como de consulta.


Para comprender donde puede fallar las estadísticas de uso de SharePoint 2016, necesitamos  evaluar cada componente y servicio que integra la solución para generar las estadísticas de uso.   Por ello veremos cada parte que la integra a continación:

Por Aplicación de Servicios
Por Aplicación de Servicios los componentes involucrados para que el reporte de uso funciona son

Search Service o Servicio de Búsqueda
Aplicación de Servicio de busqueda compuesto por los siguientes componentes:
Administration, Crawler, Content Processing, Analytics Processing, Query Processing, Index Partition.

WSS_UsageApplication
Servicio para capturar la salud de la granja y uso de las aplicaciones Web.

State Service Application
Servicio para almacenar temporalmente la información de las sesiones de los usuarios, requerido por servicios como InfoPath y WSS_UsageApplication

Por Bases de Datos

Search_Service_Application_AnalyticsReportingStoreDB 
Base de datos del servicio de búsqueda del componente
WSS_Logging
Base de datos derl servicio WSS_UsageApplication
SharePoint_StateService
Almacena temporalmente la sesión del usuario

Por Timer Jobs de la granja

Microsoft SharePoint Foundation Usage Data Import
Importa los archivos usage log para la base de datos WSS_Logging.
Microsoft SharePoint Foundation Usage Data  Maintenance
Ejecuta mantenimiento a la base de datos WSS_Logging
Microsoft SharePoint Foundation Usage Data Processing
Registra el uso de las aplicaciones web en los archivos de usage log 

Por archivos en el file system

Los archivos .usage almacenados en la ubicación configurada en Usage and Health data Collection.  Si no fue modificada la ubicación predeterminada puede ubicarla en la siguente ruta: %SytemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\[SharePoint Version]\Bin\Logs.

Estos archivos son trasladados a la base de datos wss_logging.

Los archivos .log almacenados en la carpeta EventStore que de forma predeterminada la ubicación es %SystemDrive%\Program Files\Microsoft Office Servers\[SharePoint Version]\Data\Office Server\Analytics_[Guid]\EventStore\[Day of the Date]

Finalmente ahora veamos que validaciones debemos de hacer cuando el reporte nos despliega cero en las visitas y usuarios únicos.

VALIDACIONES

1. Configuración de Usage and Health data Collection

Para ello debe ir al Central Administration, Monitoring, Configure usage and health data collection
Validar que este seleccionado el checkbox Enable Usage data collection 
Validar que esten seleccionados los eventos por lo menos Page Requests
Validar la ubicación del directorio donde se almacenan los archivos usage en: Usage Data Collection Settings, Log file location:
Validar que este configurado Logging DataBase la casilla Databaseserver y DatabaseName


2. Definición de Trabajos en el TimerJob de SharePoint

Validar que las definiciones de trabajo del Timer Job esten habilitadas y calendarizadas de la siguiente forma:


3. Ejecución del State Service o Servicio de Estado de Sesión


Validar que el State service este creado sino ejecutar en SharePoint 2016 Management Shell la sigientes líneas de comando:

$serviceApp = New-SPStateServiceApplication -Name "StateService App"
New-SPStateServiceDatabase -Name "SharePoint_StateService" -ServiceApplication $serviceApp
New-SPStateServiceApplicationProxy -Name "StateService App Proxy" -ServiceApplication $serviceApp -DefaultProxyGroup


4. WSS_UsageApplication Proxy este Iniciado


Si el proxy de este servicio aparece not started es necesario provisionarlo de nuevo con las siguientes líneas:


Get-SPServiceApplicationProxy
$usage = Get-SPServiceApplicationProxy -Identity [Guid de WSS_UsageApplication]
$usage.Provision()

5. Existencia de Archivos .usage

Verificar la ubicación de los archivos .usage y la fecha ultima de creación de los archivos
Monitoring, 

Para ello debe ir al Central Administration, Monitoring, Configure usage and health data collection
Validar la ubicación del directorio donde se almacenan los archivos usage en: Usage Data Collection Settings, Log file location:

Luego validar que los archivos .usage existan con fecha actual.  En caso de no estar deberá validar que este habilitado la configuración de Usage and Health data Collection (punto no.1).

6. Validar si los reportes ya generan datos un día después
Lamentablemente no hay forma de visualizar esta información sino un día después, asi que habrá que esperar.


SharePoint4Fun,

Juan Manuel Herrera Ocheita