Architecting and Managing Virtual- ized SharePoint 2010 Farms (MIT09) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 29 September 2010

Session: Architecting and Managing Virtual- ized SharePoint 2010 Farms (MIT09)

Speaker: MICHAEL NOEL (http://www.cco.com )

  • Dynamically expandable disks a penalize performance so for PROD try to define a disk size
  • Recommendations for Database Roles
    • If possible try not to virtualize the database servers
    • Mirroring and clustering are now supported in virtualization (KB 956893)
    • Use best practices for tempDB (put it on fast disk, resize it – there is a guidance on how to configure tempDB for SharePoint)
  • Sample specifications presented for various farm types (check slides)
    • Cost effective Farm would be 1 Host with 2 quad core supporting:
      • 1 vm (10Gb, 4 proc) for SQL
      • 1 vm (10GB, 4 proc) for web applications
    • High available Farm with only two servers hosts
    • Best Practice Virtual/Physical with High availability
      • High transaction servers are physical (DB). Multiple farm support with DBs for all farms on the SQL cluster
      • 2 server hosts quad core supporting each
        • 4 vm: 2 vm for web applications for PROD environment, 1 vm for web applications for TEST environment & 1 vm for web applications for DEV environment
        • VMs are load balanced for PROD, TEST and DEV environments
    • Large virtual Farms:
      • 3 server hosts quad core supporting each:
        • 1 vm for DB
        • 1 vm for web applications
        • 1 vm for search server
        • 1 vm for central admin
        • 1 vm for service applications
    • NUMA (non uniform memory access) memory Limitations and Guidelines
      • It exists at the hardware level
      • You can end up with swaps if you allocate more memory to sessions than the NUMA boundary -> instead of increasing performances you end up with decreasing performance
      • Don’t get cheap on memory if you bought a server with many CPU’s
    • Monitoring:
      • Configure Counters and Thresholds on Hosts & on Guests Very interesting slide (check photo)
        • Monitoring processor on guests is useless…you have to measure this on the host
        • Memory…over 50% free is good
    • Support from Microsoft is conditioned by:
      • The hardware used for virtualization (Intel VT or AMD-v)
      • Hardware-enforced Data Execution Prevention (DEP) is available and enabled
      • Deployed on Microsoft Hyper-V (RTM or R2) or on a validated third party hypervisor (SVVP program –> ok for VMware ESX/ESXi)
    • Tooling: System Center Virtual Machine Manager (VMM 2008 R2)
      •  SCOM 2007 is aware of SharePoint features
      • Quick provisioning: Allows creation of SharePoint template servers which can be quickly provisioned on TEST or DEV environments
    • Licensing:
      • Very important to know that licensing rules related to virtual guest licensing are applicable to all SVVP program vendors: e.g. you can run VMWare ESX/ESXi on a 1 processor host and have only one windows datacenter license for all guests (Windows Datacenter license is per host processor: 4 processors on the hosts = 4 Windows datacenter licenses; it might nevertheless be more interesting to use the Windows Enterprise virtual licensing facilities)
Advertisements

Creating Content-Centric Sites with SharePoint 2010 Web Content Management (MNC04) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 29 September 2010

Session: Creating Content-Centric Sites with SharePoint 2010 Web Content Management (MNC04)

Speaker: ANDREW CONNELL (http://www.andrewconnell.com)

  • Planning a SharePoint 2010 WCM Site
    • Define major areas of the site
    • Define the types of content
    • Define different rendering options on the site
    • Define major actors for different sections
    • Define content review & approval process
    • Define content management plan
  • Tooling small nice application from CriticalPath Training company (check on the Members area of the web site for it: AC’s SharePoint 2010 Site Collection Keep Alive Job Utility (v1.1 – Updated June 7, 2010) for site warm-up : to be used before demos and presentations or for testing purposes.

Windows PowerShell Crash Course for SharePoint Administrators (MIT07) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Windows PowerShell Crash Course for SharePoint Administrators  (MIT07)

Speaker: DON JONES (http://concentratedtech.com/)

  • Most of DOS and UNIX well known commands work in Powershell  (PS) (including the good old functionality of using TAB to complete partially typed commands)
  • Powershell drives – adapts all forms of storage into a powershell drive get –psdrive
  • Extending the commands available in Powershell by default (400 commands by default out of the box): PSSnapin (Old way) vs. Modules (new Way
  • IMPORTANT: there is only one Powershell environment. The modules or the snapins are not different environments of Powershell but just predefined command set extensions.
  • Almost every Microsoft product will come with it’s own Powershell predefined Module (or Snapin) (e.g. event Active Directory has it’s own PS module)
  • PSSnapin to add snap-ins in PS and use various commands of a particular environment (e.g. a powershell snapin for SQL server will let you type SQL commands in powershell)
  • PS is build around the idea of piping = like DIR | more
  • Each time a command is run, there is an invisible table, which is generated into memory. Using an XML configuration file, PS knows how to choose what to show on the screen (obviously not all the information would fit on the screen and a choice has to be made)
  • ALL PS commands start with a verb: get, set, new, move, remove (-service, -process, -comand, etc)
  • For SharePoint, PS commands start with ‘sp’.  For SQL, PS commands start with ‘sql’; Exception is Exchange as it was the first product out on PS…well done Exchange guys 🙂
  • HELP on Powershell
    • ‘-full’ provides full help including usage examples for all commands.
    • “help * event *” will list all powershell commands or help files containing events
    • If there is a space in one parameter value you can use either ‘ or “ to include the value. Both work.
    • what if” parameter simulates the command and displays you the result without actually doing it
    • “-confirm” parameter ask you for a confirmation for each action needed for the command to complete
    • Unlike in UNIX, Powershell user does not have to process the output text of the command. Instead the user can ‘tell’ powershell how and what you want to look like (e.g. sorting a column..you only have to know the name of the column and PS will display for you the results sorted on that column)
    • Pipeline input parameters (fastest way to make things happen): get –service –name bits | stop-service  (this will return the service which will be fed as parameter for stop –service command)
      • Another example: import-csv  ./users.csv |new –user (given the csv has the column names maching the command parameters names)
  • Remote Control
    • Requires PSH v2
    • ‘enter –pssession – computer server-r2’ will get us on the remote server-r2 (given we have access); “exit-pssession” to get out of it
    • You can import a remote set of commands not available on the local session (what happens is not a real import of commands but rather like a shortcut to the commands – if used such an ‘imported’ column it actually runs on the remote computer
    • 1:1 or 1:N remoting:
      • Enter-PSSession –computername X
      • Exit-PSSession
      • Invoke Comand – scriptblock {commands}
      • For SharePoint make sure you have granted shell administrator rights!
  • Tooling & resources:

Creating Search-Based Solutions with SharePoint 2010 (MDV03) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Creating Search-Based Solutions with SharePoint 2010 (MDV03)

Speaker: SCOT HILLIER

  • Great slide on the Search Architecture (get the slides)
  • Content source->iFilters->.NET Assembly Connector-> Index Engine
    • The big news is that the indexer uses a .NET assembly connector to access exernal data (a new .NET assembly connector can be easily written by a developer)
    • There is now an architecture support for search federation
    • Relevancy:
      • Ranking vs Sorting
      • Authoritative Pages is a primary way to affect ranking
      • In SharePoint 2010 we can create a specific Custom Ranking Model
      • Using Custom Ranking Models
        • Define Weights & Normalizations through an XML file specifying:
          • Query independent elements (e.g. all documents ending with .docx be pushed at the top of search results)
          • Query dependent elements (e.g. all queries beginning with ‘a’)
  • Define Managed properties and explicitly activate it for use.
  • Install the ranking Model
  • Update the Core Results Web part to use this Ranking model (you have to define the ranking model ID in this web part…if no ID specified, the one of SharePoint by default).
  • SharePoint 2010 has 5 ranking models defined. The one by default is general for all searches and the rest of the models apply especially to people search. The IDs of these ranking models are not visible through the UI – you have to export them and check the GUIDs in XML.
  • When SharePoint query does not contain any text but only a managed property, the Search skips the ranking of search results  (the ranking model is not used) and the search results are simply displayed but not sorted using the ranking model. (e.g. put in the search box “Rating>0”, given that AverageRating is a manged property) As soon as a text is included in the query, the ranking model is taken into consideration before displaying the search results (e.g. search for “a* Rating>0”)
  • In SharePoint 2010 we can inherit the CoreResultsWebPart class!!! And build our own custom CoreResultsWebPart class
  • In order to help user you might wish to use separate pages by scope (tabs on top of the search box)
  • INTERESTING use case: a unique place on your SharePoint site where the user can check all tasks he’s assigned to. Instead of building a CAML complicated web part/solution, you could use the search engine and query for all “AssignedTo” properties across your farm (check code in demo).  You can use FullTextQuery Class to process SQL queries. (e.g. show all the latest documents on the portal)
  • Keyword query syntax examples:
    • Lastname:A
    • AverageRating>0
    • Training+isDocument:1
    • Client AND Server
  • A demo of using the keyword query syntax : AZIndex of employees in the directory
  • .NET Assembly connectors
    • It is the WAY we allow the index engine access an external system
    • The fact that anyone can write a .NET assembly connector (choose Business Data Connectivity Model in Visual Studio) gives the opportunity to index practically any existing external system
    • It’s the same ‘piece’ used by the BCS (Business Connectivity Services) to search and access data from external systems
    • Security: Search results trimming vs query time trimming
  • Search queries stay entirely compatible with OpenSearch standard

Designing Governance: How Information Management and Security Must Drive Your Design (MIT02) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Designing Governance: How Information Management and Security Must Drive Your Design (MIT02)

Speaker: DAN HOLME

  • Always keep in mind the scope and the goal: what you try to achieve with the solution
  • Understand the business
  • Understand SharePoint and especially its limitations
  • Identify Information Management (IM) requirements:
    • Ownership of information
    • How long the content is online and who consumes it?
    • What kind of content do you have
  • Identify SharePoint management controls and scopes
    • Requirements on authentication imply a certain choice of the Web APP.
    • Authentication providers: In SharePoint 2007 if you have two authentication providers you had to extend the web app and thou have two links for access to the same web app (disadvantage is that users could not send links between them as they were not similar) – in SharePoint 2010 you can have two authentication providers for the same web app
    • Only one-way to manage ownership and quotas: site collection. Site collections is thou directly linked to the ownership of information (who needs to have full access to content)
    • Storage, quotas, locks influence also the site collection planning (on or more content databases in regard of backup and restore time and efficiency)
    • Navigation and content types are also influencing the topology at the site collection level
    • Users are also ‘scoped’ at the Site Collection level: you might have to plan it at this level if you need to give access to users who do not have to see each other: a possible solution: create a site collection for each client?
  • Align controls and scopes with requirement
    • Recommendation: have a web app for the Intranet, another one for collaboration where people can be empowered to have self-site provisioning (http://intranet vs http://team ) and another one or more for clients (http://clients )
    • Content Promotion
      • Is extremely important: e.g. take the content from the collaboration site and publish it to the intranet once it’s finished.
      • Consider document life-time and expiration policies in order not to find yourself with another garbage place like on the old file shares;
      • Consider also exposing content from one site to another site especially using RSS or third party tools for roll-ups or content query web parts (Avepoint has a tool to share a file share as it was a document library)
    • Farm level scope:
      • GEO performance: Farm geographical location is important – it should be as close as possible to the users – performance for collaboration might be an issue
      • Isolation – dedication for a specific service might be interesting (Application services specific servers)
    • Consider Premium farms(s) for custom applications vs out of the box SharePoint farms for standard features use. Standard Farms will be a lot easier to upgrade and maintain = mitigate risks & costs
  • Overlay information architecture and administration
    • Lay Navigation (usage of top link bars and custom link lists are security trimmed), content roll/up & search on top of a manageable structure end not vice-versa!
    • Use administration tools (third parties)
  • SharePoint 2010 has now built in Resource Throttling (max 5000 items returned in a list for example) and it is scoped at the web application level
  • What users can or can not modify in their sites using SharePoint Designer it is scoped at the web app level
  • Use Powershell to create a site collection and specify a specific database (which is not possible through the UI) – for SharePoint 2007 there is a similar stsadm command.
  • TIP: in SharePoint 2010 there is a Content Organizer (allows pulling documents from a drop-off library and dispatching elsewhere) and it can be activated as a site feature.

Creating a Rich Business Application with the Managed Client Object Models in SharePoint 2010 (MDV01) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Creating a Rich Business Application with the Managed Client Object Models in SharePoint 2010  (MDV01)

Speaker: Andrew Connell (http://www.andreconnell.com/blog)

  • This session contained mostly things that apply to SharePoint 2010 but there were also remarks about SharePoint 2007
  • Important points
    • Overview of building Rich Internet Applications (RIA)
    • Options we have in SharePoint 2007
    • Options we have in SharePoint 2010
  • Riche Internet Applications (RIA)
    • As a definition, RIA engages client-side solutions, meaning AJAX, Flash, Silverlight
    • In SharePoint 2007 you might need extra setup and config
    • In SharePoint 2010 it’s out of the box + extra connection points from client applications.
    • Security trimming is present in both versions -> nothing to do for the developers
  • Option we have for RIA In SharePoint 2007:
    • ASP.NET 2.0 (. ASMX web services)
    • WCF (.SVC) technically not supported
    • Silverlights v3 which requires ASP.NET 3.5 and a lot of edits in web.config
  • Options we have for RIA in SharePoint 2010
    • Better consume & create web services (ASP.NET & WCF)
    • Client Object Model
      • A lot more interaction is possible with the site collection
      • Extends the SharePoint object model to Silverlight
      • Enables developers to work with familiar objects rather then web services
      • It’s centered on the ClientContext  – handles communication with SharePoint sites.
      • Sends commands to SharePoint (ExecuteQueryAsync(success,fail))
      • Using it requires 2 references:
        • Microsoft.SharePoint.Client.Silverlight.dll; (this includes .NET Client OM API’s
        • Microsoft.SharePoint.Client.Silverlight.Runtime.dll (does all the communication to SHAREPOINT server back and forth); (to be found in […]/14/templates/layouts/ClientBin/)
        • LINQ is only working on servers side…on client side you will need CAML query!..CAML is dead..long live CAML J
        • Works only using async communication
    • OData/WCF Data Services / RESTful services
      • Very easy to read/write data to lists and sites.
      • It does not allow changes of structure, permissions, or navigation like within the client model.
      • OData is an open protocol founded on REST principals
      • WCF Data Services is the Microsoft implementation of OData open protocol
      • Does not work out of the box!! J To make it work you need WCF Data Service Update for .NET 3.5 SP1
      • OBS: Dataaccesspolicy.xml defines who can call which service (normally found in the root of the Inet application)
    • Sandbox Solutions
      • Code deployed by non-admins via browser
      • Runs in an isolated environment

SharePoint & the Cloud: Pushing the Boundaries (KEYNOTE) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: SharePoint & the Cloud: Pushing the Boundaries (KEYNOTE)

Speaker: Steve Fox, Microsoft

  • 5.6B$ opportunities for SharePoint worldwide at this time out of which 19% of which for Europe out of which ~ 100/200M$ for NL
  • 300+ partners running at the moment SharePoint 2010 projects
  • User experience demo: build Excel file with data from an SQL db, save it on SharePoint, use data on the ‘live’ Excel file saved on SharePoint into a PowerPoint presentation – reuse of raw data!
  • Pulling data in SharePoint from other external systems and give the users the SharePoint experience while the IT Pro can control the access to these external data in the Central Admin – usage of Business Connectivity Services (BCS)
  • Visual Studio 2010 has the ability to build a SharePoint solution using SharePoint templates and deploy it on the server (the whole process)
  • SharePoint as a Platform a viable solution for Cloud Applications
  • Demo using Excel and Word services, auto-generating documents which pull data out from the SharePoint site
  • 2010 Forrester Crucial areas of dev for companies in the order of importance: application integration, workflows, UI, Social networking
  • SharePoint 2010 examples of sites : Constellation Energy, RAI
  • WCM: Pages are based on SHTML -> standard compliance!
  • Workflows built graphically in Visio then imported to SharePoint Designer and the deployed on the server: at the document level, on the Workflow page (given the workflow was activated) you can see the graphical visualization of the workflow like in Visio including the status of the workflow- graphically showing which step of the workflow are done.
  • Demo Broadcasting a PowerPoint presentation using the SharePoint Server. The user only access a known URL and the PowerPoint presentation runs in its browser.
  • SharePoint Online
    • Sandbox solutions can be an opportunity to move to the cloud
    • Gartner previsions: “by 2012, 20% of business will not own any IT assets and 80% of business will use  some cloud computing services”
  • Tooling: plenty of resources for SharePoint 2010: http://Channel9.msdn.com