Monday, June 02, 2014

Oh O365, Where (and What) Art Thou?

A customer's CIO asked a question today about the difference between SharePoint On-Premise and SharePoint Online in O365; and more importantly "Whether  his organization's workload is ready to be moved to cloud". While I was answering these questions, the obvious question (that I was waiting for) raised it's ugly head: "Is Cloud ready for my organization?".
I have seen this exact conversation play out many a times in last few months. As organizations are introduced to the cloud, one or more of the following three questions invariably gets asked:

  1. What's the difference/value, and does it matter for me?
  2. Is my organization ready for the cloud? 
  3. Is cloud ready for my organization?          
I try to answer these questions in this post by taking SharePoint as an example. 
Lets start with some simple definitions:
  • Cloud: Generic term for SaaS, PaaS, IaaS. 
    • IaaS: 
      • Stands for "Infrastructure as a service." 
      • You are renting an infrastructure piece from a vendor.
      • Example: Virtual Machines, Hard Drives, High Performance Nodes, Bandwidth, Network Cables, etc.  
      • Vendors: Microsoft (Azure), Google, Amazon, Rackspace, etc   
    • PaaS: 
      • Stands for "Platform as a service." 
      • You are subscribing to a platform, that you use to build your own applications. This is analogous to writing code using .Net framework, except the platform is hosted by a vendor. 
      • Example: Azure, Google Apps Engine, Amazon EC2. 
    • SaaS: 
      • Stands for "Software as a service." 
      • You are renting a software access.
      • Example: Hotmail, Gmail, O365, Salesforce.com, CRM Online, etc.
  • SharePoint On Premise: Self- hosted version of SharePoint. This is the traditional mode of deploying SharePoint on your own hardware and (typically) in your own data center.  
  • SharePoint Online: Microsoft hosted version of SharePoint. Essentially, you will buy a subscription from Microsoft, that will allow you to log into the SharePoint UI. All the typical IT functions (installation, patches, backup, keeping the lights on, etc) are handled by Microsoft. 
Note: SharePoint Online is one of the SaaS offerings from Microsoft. You also have the option to rent VM (Virtual Machines) from Windows Azure (Microsoft's IaaS and PaaS offering) or any other vendor; and install your own SharePoint. The capability of such an install will be similar to the On-Premise installation. For the simplicity of this post, I will stick to the comparison between SharePoint On-Premise and O365.  
On-Premise Vs O365!! 
I present the difference based on multiple factors. Organizations may want to give more weightage/priority to some factors compared to others based on their unique needs:

  • Procurement and Setup Cost:
    • On-Premise: You incur the cost to get the space, buy hardware, license software, etc. 
    • SP Online: You buy an Office 365 (or SharePoint Online) plan from Microsoft.
  • Maintenance Cost:
    • On-Premise: You hire an IT team to keep the lights on and apply patches, etc. 
    • SP Online: Microsoft handles all maintenance headaches. 
  • Business Continuity:
    • On-Premise: You need to plan for backup, disaster recovery, etc.  
    • SP Online: Handled by design. MS makes multiple copies of every data by default supported by well defined SLAs.   
  • Customization Needs:
    • On-Premise: It's your software and hardware. You have full control over how you want to customize it (server side as well as client side)    
    • SP Online: Severe limitation for  server side customization (it's a multi-tenant environment after all). Full support for client side customization. You can use the new (and cool) Office Apps model with REST based API for App Store. 
  • Information Security:
    • On-Premise:  You are responsible.  
    • SP Online: Microsoft follows (and is certified) various industry standards for security. They take this very seriously!!   
  • Compliance:
    • On-Premise: You are responsible.
    • SP Online: Microsoft ensures compliance with certain industry standards and is verified by third party auditors.  
  • Size of data (and need to scale up and/or down ): 
    • On-Premise: You need to build the extra capacity to scale up and down by buying expensive storage devices. 
    • SP Online: Easier to scale up/down. Available storage (and limitations) is based upon the plan that you purchase.      
   Of course, you also have the option to build a hybrid environment that capitalizes on best of both worlds, but I have excluded it out of this analysis for the sake of simplicity. 
  
Hope this helps!! 

Cheers. 
Piyush

Friday, January 24, 2014

SharePoint 2013 Issue - Webpart Tools Pane (and Edit Webpart) doesn't appear

I ran into this issue today when I upgraded one of my machines to Windows 8.1. As part of the upgrade, my Internet explorer also got upgraded to Version 11.

Issue: 
The issue is that the Tools Pane doesn't show up when you try to edit/configure a webpart on page. Instead of the usual menu (or checkbox) that brings up the Tools Pane, my browser just shows up an image similar to expand/collapse icon, shown when you access SharePoint from a unsupported browser or sometimes mobile client. On clicking the icon, I am able to either expand or collapse a webpart, but not able to edit/configure it.

 Solution:    
  The simple solution to access the SharePoint site in a backward compatibility mode, already built into Internet Explorer 11 (I am assuming that you don't want to go back to an older version of IE).
  To enable this mode, follow these steps in IE while accessing your site:
     - Press ALT+ T (this will bring up the browser's Tools menu)
     - Press the menu item "Compatibility View Settings"
     - This will open up a dialog box with the url of your site already pre-populated. If not, go ahead and type the root url of your SharePoint site.
     - Press "Close", and refresh the page.
     - Browser should now display the same page in the backward compatibility modem, and you will be able to configure/edit a webpart.



Disclaimer:
   There could be a more elegant solution to this issue that will enable a broader browser support for SharePoint 2013. For example, by writing CSS/JS to ensure that Edit Pane always shows up irrespective of the browser (similar to this article - http://kyleschaeffer.com/sharepoint/sharepoint-2013-web-part-tool-pane/  .  
Given that my SharePoint site doesn't need to be officially supported on IE 11, and it's just a matter of time before Microsoft will officially start supporting SharePoint on IE 11, I found this quickfix to resolve this issue. Feel free to point to a better solution, if you come across one.  
   

Addendum:
  I also noticed that some of the SharePoint pages also would not go into Edit mode when using IE 11. This issue also got resolved by configuring my browser to always access this particular site in compatibility mode.

Cheers!!

Sunday, December 30, 2012

SharePoint 2013 Licensing Overview

For people who have been around SharePoint for a long time, one of the dreaded area to have an conversation with your upper management has been about SharePoint Licensing. I can say that IT managers will have few pleasant surprises in store when they try to get their heads around SharePoint 2013 Licensing model.

For starters, here are few key changes in SharePoint 2013 licensing model that will bring smiles on IT Managers faces:
   - No need to buy SharePoint Internet Licenses: You heard it right. The license to host SharePoint for anonymous users and public facing websites that used to cost 40-50k per server is not needed anymore. So, basically if you have the core Server license you can host a public facing website without needing to pay anything extra.  

  - No need to buy CALs for external users: One of the big confusion with extranet scenarios has been whether you need to buy separate CALs for your external users such as vendors, contractors, suppliers, etc who are not typically your employees but may need to access little bit of information or  forms on your SharePoint extranet. Here's the exact words defining who external users are from one of the deck I found from Microsoft on this topic.
       External users means users that are not either your or your affiliates’ employees, or your or your affiliates’ onsite contractors or onsite agents.   

  - Search Consolidation into Core SharePoint License: One of the big change is with respect to Search capabilities. All the search capabilities have been merged into the core SharePoint Server Licenses (Enterprise and Standard), and you don't need to buy a separate FAST license. This, i believe,  has also helped in streamlining the end user's experience with respect to search and data discovery.

I wanted to cover these three main changes with respect to SharePoint 2013 on-premise licensing in this post, but there are other changes being introduced with respect to features and SKUs in SharePoint 2013 on-premise as well as O365 licensing.

Here's an image of the key components in SharePoint 2013 on-premise as well O365 followed by another diagram illustrating the key changes from 2010.


Figure: SharePoint 2013 Licensing Options

      Please note the absence of other add-on licenses such as Internet Site, Search Server, FAST Server, etc.                                        


Figure: SharePoint 2013 Licensing - Key Changes
My goal for this post is to provide an overview of the key changes that I see in SharePoint licensing model, and help people who are trying to get a high level overview of the same. It's purely based on my personal understanding and does not reflect Microsoft's intended vision or my employer's view.  As always, any decision with respect to Licensing should be validated with your Microsoft representative, and is heavily dependent upon your unique requirements. You are responsible for any decision that you make based on above information.   

Let me know if you have any feedback and/or find a flaw with my understanding.
Cheers!!

Monday, December 03, 2012

SharePoint 2010: Classic Mode Vs Claims Based Authentication

One of the setting that you need to pick when creating a web application in SharePoint 2010 is the Authentication type. The two options that you have are:
   1. Claims Based Authentication
   2. Classic Mode Authentication

Authentication in SP 2010 - Classic Mode Vs Claims Based

Classic Mode: This is no different from the traditional AD based authentication. One contraint with classic mode is that you cannot implement "Forms Based Authetication" later on, if you want to.
Although you can convert "classic mode" to "claims based" but will have to use shell script. There is no UI available in  Central Admin to do it.

Claims Based: Claims based authenticaition gives you option to autheticate users using AD as well as Form based authentication for the same web application. It's based on Windows Identity Foundation, and can enable several advanced authentication scenarios as described in this article:
http://msdn.microsoft.com/en-us/library/hh394901(v=office.14).aspx

Claims based authentication would be the preferred approach for most users. Classic Mode may be selected if mandated by corporate policy or for backward compatibility. Microsoft is also showing more commitment towards broader adoption of Claims based authentication across various product lines (Azure, CRM, etc), and therefore is a better choice for any new development.


 Update (November 2013) :  I was looking at SharePoint 2013 (Preview Version)  and it seems there is no option for users to select Classic Mode Authentication when creating a new Web Application. Although this can change by the product release, it definitely is an indication of the direction that Microsoft is going, which is to encourage Claims based Authentication. 
 

Friday, September 07, 2012

Windows RT Vs WinRT vs Windows 8 !!

One of the things that I was confused about in the last few hours, and I am confident that many more people are going to be confused about in next few months is the difference between "Windows RT" and WinRT. Here is the simple version:

Windows RT:
     1. It's an OS.
     2. It's a variation of the Windows 8 OS that Microsoft has specifically designed for devices running ARM devices.
     3. (In case you are wondering) ARM is an architecture used by many processor companies to design their chips, including Qualcomm, nVidia, Texas Instruments and several others.

What that means is that when you go to the Settings -> PC Info screen of a tablet device running an ARM processor, it will show you "Windows RT" and NOT "Windows 8". So, it's a full fledged OS that is branded and sold separately by Microsoft to tablet OEMs (aka manufacturers) who are using ARM processors in their tablet devices. Infact, it used to be called as "Windows on ARM" earlier but was later on re-branded as Windows RT.

WinRT:
     1. It's a runtime.
     2. Conceptually, it's not very differemt from .net, java or any other runtime in the sense that it's main goal is to create a cross-platform application architecture on Windows 8 that supports multiple languages (C++, C#, JavaScript, etc). 

Difference between "Windows RT" and "Windows 8":
     Now that we know that Windows RT is an OS, I am sure that some of you are wondering how is it different from Windows 8. Here it is!!
     1. Not much different from user experience point of view as both support Metro UI.
     2. Windows RT is not sold directly to consumers, and is meant only to be sold to device manufacturers (aka OEMs).
     3. The goal behind Windows RT is to give end users consistent experience across tablets being offered by various manufacturers (including Microsoft's own device called as Surface).   
     4. Windows RT will come pre-pakaged with MS Office, whereas Windows 8 users will have to buy (and install) Office separately.
     5. There are similar differences in terms of applications shipped out of the box in Windows RT and Winodws 8, as well as the kinds of applications you can develop/install/uninstall on them. Windows RT seems to be more locked-down version of the two.
     6. You also cannot use Win32 and COM APIs on Windows RT, so you are pretty much restricted to using WinRT APIs. Although, over  next few days I am going to be closely working on a project that requires access to underlying System Information on a Windows RT "ARM" device. It seems that there may be a way to access a subset of Win 32 API on a Windows RT device. If it works, I will post my experience in a subsequent post.  


Cheers!! I hope it helped! !

 

Friday, December 02, 2011

Metro UI and Windows 8!!

I spent couple of hours this week in trying to understand what is Metro UI. While Microsoft is definitely betting big time on Metro UI, with it being incorporated in Windows Phone 7, Zune and most recently in Windows 8, there doesn't seem to be much information availabe on what it is, how a developer can benefit from it, and what set of tools, technologies and best practices are available for a developer to use it in real-life applications.

Here's my attempt to provide some clarity on the topic:

- Metro UI is a set of UI best practices:
     What this means is that Microsoft is expecting all future development on Windows platform to follow these best practices when it comes to implementing UI.

- Inspiration:
     It's widely accepted that Metro UI is partly inspired by signs commonly found at public transport systems, for instance on the King County Metro Transit, a public transit system that serves the Seattle area.

- History:
     While there are signs of similar UI paradigm being tried and tested by Microsoft on several products in the past such as WIndows Media Center, XBox, Microsoft Live, etc, it was Windows Phone 7 that is credited for brining MetroUI in front and center of the Microsoft UI strategy.

- How to learn it:
    The overall concept behind Metro UI is technology agnostic, that is, you can decide to implement MetroUI for your applciation in any of the UI language that you are familiar with (ASP.Net, AJAX, Silverlight, etc) . Reality is that the majority of Metro UI development has come from Windows Phone 7 (now Mango) which is done in Silverlight. Although there is very less clarity at this point in time on "Silverlight Vs HTML 5" issue,I think most of the new development will happen in HTML5 targeting Windows 8 as well as other form factors such as tablet and mobile. 

   One of the best way to learn Metro UI woudl be to build a WIndows Phone Application (using Silverlight) or Windows 8 application (using HTML 5). Following are few links that can help with the ramp up:

Windows 8 Dev Preview: http://msdn.microsoft.com/en-us/windows/home/br229518

Metro Design Principles and Tutorials: http://www.microsoft.com/design/toolbox/tutorials/windows-phone-7/metro/

HTML 5 Tutorial: http://www.mywindowsclub.com/resources/5011-HTML-Tutorials.aspx

Windows 8 New Features: http://www.mywindowsclub.com/resources/4653-Windows-new-features.aspx
       
Future of Silverlight: http://www.mywindowsclub.com/resources/4733-Windows-embracing-HTML-what-future.aspx 

Cheers,
Piyush

Wednesday, October 05, 2011

Settled in Houston, TX + How to Shut down Windows 8?

Last few weeks have been very hectic. I moved to Houston from Redmond, we/iLink opened a new office here. Finally, dust is starting to settle down and I cannot wait to dive deeper into Crescent, Denali and Windows 8.

Most of the Windows 8 functionality from the developer preview is working on my laptop (Lenovo X61 Thinkpad). Windows 8 is looking nice. Microsoft has changed many common functions. For example, it took me couple of minutes to figure out how to shut down the laptop. For people out there who have just installed Windows 8 and are struggling with the same problem, here is how you do it:

1. Take your mouse at the bottom-left corner of the screen
2. Wait until the “Charms” menu appears with Search, Share, Devices and Settings option
3. Click on Settings, and a bar appears on the right side of the screen.
4. Select Power option
5. Select Shut Down


Let me know if you are able to find a better way or shortcut to get to the power menu.

I am also not able to get touch working on this laptop. Since there is no touch driver available for Windows 8 on Lenovo site (understandably), I have tried installing Windows Vista and Windows 7 versions but to no use. Let me know if any of you have run into similar issues and have any suggestions.

Feels good to be back.

Cheers!!