Tuesday, March 31, 2015

SharePoint 2013 - Best Practices

Dear folks,

Thought of sharing you couple of best practices that every architect or team lead must be aware when they proposing a solution on SharePoint or when designing the SharePoint solutions. I see most of the successful project implementation ends up with a common problem on -Performance, Reliability issues.. etc.

I tried to list down some of the basic things that we should take care when we play around in SharePoint.

  1. Standard Naming convention across SP Farm. Use standard naming convention as per your governance process or policy for all your accounts, service application, web applications, database name, site collection names..etc. This will really help you when you want to maintain the farm and to do some changes in future easily if needed.
  2. Have defined physical infrastructure setup. Really mean, have a dedicated systems as when required (like for Domain Controller, Database server, Web App server, App Server, Office Web Server). Don't mess up multiple server roles in a single server itself. Also see what you can virtualize and what you cannot.
  3. Have defined logical setup for your farm elements (Web applications, Service Applications). Don't try to create everything under same roof or don't create everything as an isolated items in SP farm. Analyse and group all the necessary items and create a required structure. Example( All service applications can be pointed to one app pool and all the web applications can be pointed to another app pool. Don't create app pool for each web application unless it is really needed)
  4. Follow a proper capacity planning process (model, design, pilot, deploy, monitor & maintain), because capacity planning is not something a one time activity or single solid solution. It is more like an evolution and on going process. Also check for attributes like latency, throughput, data-scale, reliability..etc
  5. Be aware of capacity boundaries/limits of SP 2013, both software and hardware boundaries
  6. Training - its must for all the folks who uses SharePoint, its not just for the developer/administrator/monitor/security guys. We have to train the potential users of SharePoint to make better use of it. Only when users started using the site we will be able to get real metrics and measures valued properly against your capacity/performance..etc. otherwise everything is just theory, only in papers
  7. Avoid GUI based installation process, use powershell script to the maximum extent for all the installation and configuration of SP farm. I am quite sure you will understand the importance of using powershell instead of GUI when you want to setup a proper sharepoint farm.
  8. Avoid using Configuration wizard to setup service applications in SP farm. Do it manually or use powershell script to create Service applications.
  9. Do not use dynamic memory for Virtual VM's, its a complete performance degradation of SP farm either it is development, test or production environment. 
  10. Follow all critical updates, cumulative updates, public updates, service packs, SharePoint Updates from Microsoft, evaluate the updates before apply in production. Make sure things are good on the updates.
  11. Keep close eye on your SharePoint farm, monitor it perfectly and detailed
  12. Optimize your Search service to greater extent, because it is one of the major performance tied up factor in SharePoint. Try to distribute the search load to couple of servers in the farm and have an optimized search topology.

The detailed list of best practices on individual topics is available here
http://social.technet.microsoft.com/wiki/contents/articles/12438.community-best-practices-for-sharepoint-2013.aspx

Tuesday, March 24, 2015

Developer Courses in MVA Site

100+ developer course available in Microsoft Virtual Academy Portal.
Guys its really a wonderful collection


TopicTitle
CloudAzure SQL Database for Business-Critical Cloud Applications
CloudGetting Started with Microsoft Azure Machine Learning
CloudMicrosoft Azure Fundamentals: Platform Overview
CloudMicrosoft Azure Fundamentals: Websites
CloudMicrosoft Azure Fundamentals: Storage and Data
CloudAzure Mobile Services and API Management
CloudQuick Start Challenge: Redis on Windows
CloudDeveloping Microsoft Azure Solutions
CloudA Lap Around Azure Websites
CloudCloud DevCamp
CloudPolyglot Persistence: Choosing the Right Storage
DataSecurity, Optimizer and Column Store Index Enhancements
DataData Platform Immersion
DataBig Data & Business Analytics Immersion
DataQuick Start Challenge: Sharing data-XAML and openFrameworks
DataUpgrading to Microsoft SQL Server 2014
DataImplementing Tabular Data Models
DataDesigning BI Solutions with Microsoft SQL Server
DataImplementing Data Models & Reports with Microsoft SQL Server
DataYou've Got Documents! A MongoDB Jump Start
DataBig Data with the Microsoft Analytics Platform System
DataDesigning Database Solutions for SQL Server
DataDeveloping Microsoft SQL Server Databases
DevOpsGetting Started with PowerShell
DevOpsAdvanced Tools & Scripting with PowerShell
DevOpsDev/Test Scenarios in the DevOps World
DevOpsAssessing and Improving Your DevOps Capabilities
Games & GraphicsDeveloping 2D & 3D Games with Unity for Windows Jump Start
Games & GraphicsPorting Unity Games to Windows Store and Windows Phone Jump Start
Games & GraphicsDeveloping Games with Construct 2
Games & GraphicsCreating Games with Project Spark
Games & GraphicsDeveloping 2D Games with HTML5
Games & GraphicsQuick Start Challenge: Project Spark
Games & GraphicsQuick Start Challenge: Cocos2D-x for Windows Store Apps
Games & GraphicsIntroduction to WebGL 3D with HTML5 and Babylon.js
Games & GraphicsGame Production Basics
Games & GraphicsBuild a Game with Cocos2d-x for Windows Devices
Games & GraphicsCreating Your First Marmalade Game
Games & GraphicsCreating Your First 2D Game with GameMaker
Games & GraphicsQuick Start Challenge: Kinect v2 sensor and openFrameworks
Games & GraphicsC++/DirectX Game Development: Skyboxes and Porting DX11 to 11.2
Games & GraphicsC++/DirectX Game Development: Fun with Sounds and Shaders
Games & GraphicsC++/DirectX Game Development: Blending and Models
Games & GraphicsC++/DirectX Game Development: Animations and Advanced Game AI
Games & GraphicsDeveloping Advanced 2D Games with HTML5
Games & GraphicsDeveloping Games with Marmalade and C++ for Windows and Windows Phone
Games & GraphicsDesigning Your XAML UI with Blend Jump Start
Games & GraphicsQuick Start Challenge: Graphics Debugging
LanguagesTwenty C# Questions Answered
LanguagesC++: A General Purpose Language and Library Jump Start
LanguagesOpen Source Questions Answered
LanguagesIntroduction to Programming with Python
LanguagesQuick Start Challenge: Python and Mongo Lab
LanguagesPHP for Azure
LanguagesCodExist: The Birth of Bot
LanguagesHour of Code with Touch Develop
MobileIntroduction to Mobile App Development
MobileMobile Web Application Development
MobileCreating Windows Phone and Windows Store Games with MonoGame
MobileCross Platform Development with Xamarin and Visual Studio
MobileCross-Platform Development with Visual Studio
OfficeIntroduction to Office 365 Development
OfficeDeep Dive into the Office 365 App Model
OfficeDeep Dive: Integrate Office 365 APIs in Mobile Device Apps
OfficeDeep Dive: Integrate Office 365 APIs in Your Web Apps
OfficeSAP Gateway for Microsoft Office 365
OfficeTransform SharePoint Customizations to SharePoint App Model
OfficeShipping Your Office App to the Office Store
OfficeDeep Dive: Building Blocks and Services of SharePoint
ToolsImagine Cup: Building Your Studio Startup
ToolsQuick Start Challenge: Microsoft Advertising SDK
ToolsProgramming Robotic Systems with Visual Studio
ToolsFundamentals of Visual Studio Online
WebBuilding Apps with node.js Jump Start
WebMEAN Stack Jump Start
WebIntroduction to ASP.NET MVC Jump Start
WebBuilding Responsive UI with Bootstrap Jump Start
WebThe Modern Web Platform Jump Start
WebPreparing for Exam MTA 98-375 HTML5 App Dev Fundamentals
WebLighting Up Real-Time Web Communications with SignalR
WebSingle Page Applications with jQuery and AngularJS
WebQuick Start Challenge: HTML5 Portability Challenge
WebIntroduction to jQuery
WebCustomizing ASP.NET Authentication with Identity
WebAdding Style with CSS Jump Start
WebHow to Debug a Web site with IE F12 Tools
WebWhat's New in ASP.NET 5
WebIntroduction to Creating Websites using Python and Flask
WebIntroduction to AngularJS
WebImplementing Entity Framework with MVC
WebWeb API Design Jump Start
WebPractical Performance Tips and Tricks to Make Your HTML/JavaScript Fast
WindowsProgramming Kinect for Windows v2 Jump Start
WindowsDeveloping Universal Windows Apps with HTML and JavaScript Jump Start
WindowsDeveloping Universal Windows Apps (C#/XAML)
WindowsQuick Start Challenge: Universal App
WindowsQuick Start Challenge: Touch Support using openFrameworks
WindowsLast Stop: Getting Your Windows App to Market
WindowsUniversal Windows App Development with Cortana
WindowsCloud Enable a Windows Presentation Foundation LOB App


Courtesy - MVA, Tim Sneath