The new features of SharePoint 2013 are not so attractive.
Don't get me wrong. It's an excellent product. Like the post Capabilities and features in SharePoint 2013 states, there are many wonderful improvements. I have no doubt that any company who wants to build their SharePoint platform from scratch, they will choose SharePoint 2013 instead of 2010. However, for those companies already got SharePoint 2010, are they going to upgrade to 2013?
I am a SharePoint administrator and developer in a medium size company. In my opinion, there is no killer change to persuade managers to make up their mind. And, the upgrade will be quite painful(there is even no in-place upgrade)!
Then, if I am right (that most of the companies are not going to upgrade to SharePoint 2013), what should we do as SharePoint professionals?
We need to think in different perspective.
Back to 1998, most of the computer systems are built in C/S structure. I was a junior developer working on windows platform. A IT sales person recommended us to move to multi-tier architecture, and told us it was more stable, more flexible and even more efficient.
I was confused.
If we add one more layer in the middle of the system, then we need to build two more set of interface, and all the data needs to go to the middle layer first, then, after some process, be forwarded to the data layer (database server normally). There would be much more source code, how could it be "more stable, more flexible and even more efficient"?
If there is only one computer system (module) in a company, and no need to change existing features, and no need to interact with any other computer systems of other company, actually, my intuitive thoughts is right: C/S is better. But, if the business logic needs to get changed all the time, and there are five, or even more than ten different systems which need to communicate with each other, we'd better think it again.
Multi-tier architecture is not designed for single small systems. The more systems we have, the more complex the system is, the more pain we will get with C/S structure.
Now, it's 2012. For even medium size enterprise, we may have more than 30 different systems across the country. For large enterprise, I will not be surprised if there are 100+ systems across the world. Is multi-tier architecture still suitable?
That's one of the major reasons that so many people are considering moving to "cloud". For "Cloud computing", what do we need to prepare as IT professionals? Let's imagine this: there are one million different systems in your company.
Of course, we don't have so many systems to support, but that's the situation every cloud hosting company need to handle. From that point of view, it's easy to understand why SharePoint 2013 get separate app server and workflow server. All apps and workflows need web services instead of object model APIs to access other systems. All SharePoint customized are recommended to be moved to app server and workflow server, which can obviously make SharePoint more stable and easier to upgrade to future version.
The separate app server and workflow server, in my opinion, are just like the first stage of "private cloud". Internet connection is still too slow and too expensive. So, private cloud is the only choice in most of cases.
Now, what can we do to get that "private cloud" (in other words, move to SharePoint 2013)?
Here is my suggestion.
1. Build a new farm for SharePoint 2013 (this is something we have to do anyway);
2. Move those site collections which don't have any customization to the new farm;
3. For any new site collection, build them in the new farm;
4. Rebuild existing application sites in the new farm if necessary; or just leave them with the old farm (SharePoint 2010), until they are replaced by other new systems.
5. Stick to apps in the new farm when customization is needed.
To get more details of the hierarchy of SharePoint 2013, I strongly recommend this post: The background on apps for Office and SharePoint
Any thoughts? Please leave comments here.
(I haven't got chance to try apps yet. Plan to write some posts about it.)