About Me


  • Enterprise Solutions Architect with 11 years of experience
  • Expertise on Microsoft Technologies, ECM, Open Source, Mobility
  • Expertise on SharePoint 2010, MOSS 2007, .Net 4.0 & More
  • Solution Design, Capacity Planning, Performance Tuning, Disaster Recovery
  • Migration experience from Lotus Notes, Plum Tree to SharePoint & Microsoft Technologies

Friday, July 30, 2010

SharePoint 2010 - Technical Diagrams

I felt following information really useful in Deploying SharePoint 2010 based Solutions (Reference: Microsoft - SharePoint 2010 Documentation).

SharePoint 2010 - Technical Diagrams

You will find design / technical diagrams on the following items

1. Design Sample: Corporate Portal with Classic Authentication
2. Design Sample: Corporate Portal with Claims-based Authentication
3. SharePoint 2010 Products Deployment
4. Services in SharePoint 2010 Products
5. Cross-farm Services in SharePoint 2010 Products
6. Topologies for SharePoint Server 2010
7. Extranet Topologies for SharePoint 2010 Products
8. Hosting Environments in SharePoint 2010 Products
9. Search Technologies for SharePoint 2010 Products
10. Search Environment Planning for Microsoft SharePoint Server 2010
11. Search Architectures for Microsoft SharePoint Server 2010
12. Design Search Architectures for Microsoft SharePoint Server 2010
13. Business Connectivity Services Model
14. Content Deployment in SharePoint Server 2010
15. Microsoft SharePoint Server 2010 Upgrade Planning
16. Microsoft SharePoint Server 2010 Upgrade Approaches
17. Microsoft SharePoint Server 2010 — Test Your Upgrade Process
18. Microsoft SharePoint Server 2010 — Services Upgrade
19. Microsoft SharePoint Server 2010 — Upgrading Parent and Child Farms
20. Getting started with business intelligence in SharePoint Server 2010
21. Databases That Support SharePoint 2010 Products
22. SharePoint 2010 Products: Virtualization Process

SharePoint 2010 Capacity Planning


It's been quite long, I wrote my last blog. I hope from now on I will try to contribute and share my ideas and understandings on SharePoint.

As a SharePoint Architect or Consultant when you are designing a solution you need to understand what are SharePoint boundaries that will affect the performance of the SharePoint. I have interacted with many people they often forget about Performance and Capacity instead they focus on delivering. Let's explore the limitations of SharePoint as recommended by Microsoft.

References:


  1. SharePoint Server 2010 capacity management: Software boundaries and limits
  2. Performance and capacity test results and recommendations (SharePoint Server 2010)
Web application


Limit MaximumNotes 
Content database 300 per Web application Try to limit your content databases per web application to 300 (I don't think many organizations will end up having 300 content databases per web application (the most I have seen is around 50)). Make sure not to have big databases, it will be difficult to manage.

It is recommended to use Windows PowerShell to manage a web application which has Large number of content databases.

Windows Powershell 2.0 installed by default in latest operating systems (Windows 7, Windows Server 2008 R2).
Zone 5 per Web application The number of zones defined for a farm is limited to 5. Zones include Default, Intranet, Extranet, Internet, and custom. It is similar to previous version, no difference here.
Managed path 20 per Web application Managed paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list.

Exceeding 20 managed paths per Web application adds more load to the Web server for each request.


Application Pool


Limit MaximumNotes
Application pools10 per Web server Try to limit the number of application pools per web server to 10, as it is mainly driven by RAM and Server Hardware


Content database


Limit MaximumNotes 
Content database200 GB Make sure not cross 200GB limit for Content Database, even though Content database can scale up to 1 TB (only recommended for Large and Single Server Repositories).
BLOB Storage20 millisecondsAccess to RBS (Remote BLOB Storage) should not exceed 20 milli seconds limit.


Site collection limits


Limit Maximum Notes 
Site collections per content database2000Try to limit Site Collections per database to 2000. But Microsoft supports till 5000 site collections.
Web site 250,000 per site collection The maximum recommended number of sites and subsites is 250,000 sites. As per my experience, I would advice not to exceed more than 5000 sites per Site Collection (As it will be difficult to manage and Govern).
Site collection size 100 GB per site collection A site collection should not exceed 100 GB unless it is the only site collection in the database.


List and library limits


Limit Maximum Notes 
List row size 8,000 bytes per row For each list or library item in a Row can use only maximum of 8000 bytes in total in the database, that means data stored in the row should be 8000 bytes of size.
File size 2 GB Supported by SharePoint is 2 GB, but default limit is set to 50 MB.
Documents / List Items30,000,000 per library / ListDo not exceed the documents stored in library / List to more than 30,000,000 items.
Major versions400,000 If you exceed this limit, basic file operations—such as file open or save, delete, and viewing the version histor— may not succeed. 
Rows size limit 6 table rows internal to the database used for a list or library item Specifies the maximum number of table rows internal to the database that can be used for a list or library item. To accommodate wide lists with many columns, each item may be wrapped over several internal table rows, up to six rows by default. This is configurable by farm administrators through the object model only.
Bulk operations100 items per bulk operation You can only select upto maximum of 100 items for any bulk operation (like editing in Datasheet)
List view lookup 8 join operations per query Only 8 Look up or Join operations allowed per List View, example, you are looking for Person, another list or calculation it is limited only to 8, if you cross more than that operation is blocked.
List view 5,000 By default list view is limited to show maximum of 5000 items per view. If you would like to display more items than you might end up in Performance issues.
List view 20,000 This limit is only for Auditors and Administrators (Special privileged people J)
Subsite 2,000 per site view Limit number of Subsites to 2000 per site view
Coauthoring in Microsoft Word and Microsoft PowerPoint for .docx, .pptx and .ppsx files10 concurrent editors per document Recommended maximum number of concurrent editors is 10.

The boundary is 99 (with Performance issues and "File in use" error J).


Page limits


Limit Maximum Notes 
Web parts 25 Limit to 25 webparts per page.


Security limits


Limit Maximum value Notes 
Number of SharePoint groups a user can belong to 5,000 Recommended to limit a user to 5000 user groups. It is similar to Active Directory User Groups management.
Users in a site collection 2 million per site collection You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

This limit is based on manageability and ease of navigation in the user interface.

Use Power Shell to manage Users if you have large User Base per site collection.
Active Directory Principles/Users in a SharePoint group 5,000 per SharePoint group SharePoint Server 2010 enables you to add users or Active Directory groups to a SharePoint group.

Having up to 5,000 users (or Active Directory groups or users) in a SharePoint group provides acceptable performance.

The activities most affected by this limit are as follows:

  • Fetching users to validate permissions. This operation takes incrementally longer with growth in number of users in a group.
  • Rendering the membership of the view. This operation will always require time.
SharePoint groups 10,000 per site collection Above 10,000 groups, the time to execute operations is increased significantly. This is especially true of adding a user to an existing group, creating a new group, and rendering group views. 
Security principal: size of the Security Scope 5,000 per Access Control List (ACL)The size of the scope affects the data that is used for a security check calculation. This calculation occurs every time that the scope changes. There is no hard limit, but the bigger the scope, the longer the calculation takes.

Thursday, November 19, 2009

SharePoint Server 2010 - Beta..

Finally, I got SharePoint Server 2010 Beta, also downloaded Windows Server 2008 x64 edition.

I will try to configure it today and see how it works. Crossing my fingers... not to face any typical Microsoft Installation issues ;-)

Cheers!

Tuesday, November 25, 2008

Visual Studio 2010 Available...

Oh.. no.. Not again.. Microsoft releases another version of .Net Framework, now it is 4.0 (quoted as Next generation of developer tools.. Oph.. what the ...). Also, they unveiled Visual Studio 2010 edition, which looks cool.

To get hands on experience on Visual Studio 2010, you get download it from Microsoft site i.e. http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en

" Visual Studio Team System 2010 includes a new Architecture Explorer for the discovery and exploration of existing code assets and application architectures." - Microsoft

Visual Studio Team System 2010 will deliver new capabilities that embrace the needs of the users in the lifecycle – from architects to developers, from project managers to testers.

Among the great new functionality in VSTS 2010:

  • Discover and identify existing code assets and architecture with the new Architecture Explorer.
  • Design and share multiple diagram types, including use case, activity and sequence diagrams.
  • Improve testing efforts with tooling for better documentation of test scenarios and more thorough collection of test data.
  • Identify and run only the tests impacted by a code change easily with the new Test Impact View.
  • Enhanced version control capabilities including gated check-in, branch visualization and build workflow.
Currently, I am exploring all the new features.. Soon will add more my reviews and other new stuff...

Wednesday, April 9, 2008

Sharepoint 2007 Alerts are not working

Finally I managed to resolve this problem in my case.

Issue:
We have implemented a MOSS solution which contains a few custom lists. We have also configured alerts and customized them to suit the customer’s requirements.

Alerts were working fine but about suddenly they stopped working for one particular list. Alerts are working for all other lists/document libraries/etc. without any issues. If we check the content DB of MOSS, we can see the alerts are getting created successfully. But the emails are not being sent. We get confirmation emails that a new alert has been created, so message flow seems solid.

So, I then took a backup (by creating a List template with content), and recreated a new list with the same data and configuration. Alerts are working fine in the new list which has the same configuration and data. But with this approach we will lose Created/Modified and Author/Editor details.

Solution:

So, to resolve this issue I restarted the SPTimerV3 service (windows SharePoint timer), restarted IIS in all the servers. Thought this will resolve alerts issue. But no luck. Also, rebooted the machine (I know it doesn't make any sense but we wanted to try it) “

So, did google search and tried all the options provided in the following articles.... Also, contacted Microsoft support to help us out on this. But they are not sure about the problem.

http://weblogs.asp.net/mellota/archive/2007/10/11/sharepoint-2007-task-notification-alert-emails-not-working.aspx

http://www.moss2007.be/blogs/vandest/archive/2007/11/23/sharepoint-immediate-alert-notifications-stopped-working.aspx
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2150023&SiteID=1
http://suguk.org/forums/thread/6756.aspx
http://www.sharepointblogs.com/mindykelly/archive/2007/08/01/alerts-not-working-in-moss.aspx

As none of the option above help me to resolve the problem. So, thought of deleting the list and recreating list by losing out Created/Modified and Author/Editor details. But to my luck, I wanted to try removing all the alerts in the portal and test.

So, I created an application which will allow to take backup/restore all the alerts in the portal. After taking backup of all the alerts in the portal. I deleted all the alerts and then created one sample alert and tested, to my luck Alerts started working without any issue.

So, I restored all the alerts back without any issue. Now Alerts are being sent from the "troubled" list. Looks to you bit silly. But it is true... if you are working on MOSS 2007, be prepared for these kind of issues.

I hope this post will help someone, as I spent many frustrating days to resolve this issue.

Saturday, March 29, 2008

Web 2.0 Design Patterns

In his book, A Pattern Language, Christopher Alexander prescribes a format for the concise description of the solution to architectural problems. He writes: "Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."
  1. The Long Tail
    Small sites make up the bulk of the internet's content; narrow niches make up the bulk of internet's the possible applications. Therefore: Leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head.
  2. Data is the Next Intel Inside
    Applications are increasingly data-driven. Therefore: For competitive advantage, seek to own a unique, hard-to-recreate source of data.
  3. Users Add Value
    The key to competitive advantage in internet applications is the extent to which users add their own data to that which you provide. Therefore: Don't restrict your "architecture of participation" to software development. Involve your users both implicitly and explicitly in adding value to your application.
  4. Network Effects by Default
    Only a small percentage of users will go to the trouble of adding value to your application. Therefore: Set inclusive defaults for aggregating user data as a side-effect of their use of the application.
  5. Some Rights Reserved. Intellectual property protection limits re-use and prevents experimentation. Therefore: When benefits come from collective adoption, not private restriction, make sure that barriers to adoption are low. Follow existing standards, and use licenses with as few restrictions as possible. Design for "hackability" and "remixability."
  6. The Perpetual Beta
    When devices and programs are connected to the internet, applications are no longer software artifacts, they are ongoing services. Therefore: Don't package up new features into monolithic releases, but instead add them on a regular basis as part of the normal user experience. Engage your users as real-time testers, and instrument the service so that you know how people use the new features.
  7. Cooperate, Don't Control
    Web 2.0 applications are built of a network of cooperating data services. Therefore: Offer web services interfaces and content syndication, and re-use the data services of others. Support lightweight programming models that allow for loosely-coupled systems.
  8. Software Above the Level of a Single Device
    The PC is no longer the only access device for internet applications, and applications that are limited to a single device are less valuable than those that are connected. Therefore: Design your application from the get-go to integrate services across handheld devices, PCs, and internet servers.
Reference: http://www.oreilly.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html