Good Resources for SharePoint 2013 on Azure

I came across the following resources that are found useful for planning SharePoint 2013 on Microsoft Azure. I thought of collating and making a post around this.

IOPS

Performance Considerations for SQL Server in Azure Virtual Machines

Performance Guidance for SQL Server in Windows Azure Virtual Machines

High Availability:

High Availability and Disaster Recovery for SQL Server in Windows Azure Virtual Machines

Approach with Custom Log shipping:

Deploying highly available SharePoint Internet Sites on Windows Azure Virtual Machines

Geo-DR for SQL Server on Windows Azure Infrastructure Services using Log Shipping

SharePoint 2013 on Windows Azure Infrastructure

SharePoint 2013 on Windows Azure Infrastructure Services

IOPS:

Performance Considerations for SQL Server in Azure Virtual Machines

Performance Guidance for SQL Server in Windows Azure Virtual Machines

High Availability

High Availability and Disaster Recovery for SQL Server in Windows Azure Virtual Machines

Approach with Custom Log shipping:

Deploying highly available SharePoint Internet Sites on Windows Azure Virtual Machines

Geo-DR for SQL Server on Windows Azure Infrastructure Services using Log Shipping

SharePoint 2013 on Windows Azure Infrastructure

SharePoint 2013 on Windows Azure Infrastructure Services

Authentication

Windows Azure Active Directory with SharePoint 2013

Internet Sites in Windows Azure using SharePoint Server 2013

Azure Compute and Storage Price Reductions

Windows Azure Active Directory with SharePoint 2013

Internet Sites in Windows Azure using SharePoint Server 2013

Azure Compute and Storage Price Reductions

 Subscribe to my blog

Some useful Windows 8 Short Cut keys

Windows key: Switch between the Modern Desktop Start screen and the last accessed application.
Windows key + C: To Access the charms bar.
Windows key + Tab: To Access the Modern Desktop Taskbar.
Windows key + I: To Access the Settings charm.
Windows key + H: To Access the Share charm.
Windows key + K: To Access the Devices charm.
Windows key + Q: To Access the Apps Search screen.
Windows key + F: To Access the Files Search screen.
Windows key + W: To Access the Settings Search screen.
Windows key + P: To Access the Second Screen bar.
Windows key + Z: Brings up the App Bar when we have a Modern Desktop App running.
Windows key + X: To Access the Windows Tools Menu.
Windows key + O: Lock screen orientation.
Windows key +. : To Move the screen split to the right.
Windows key + Shift +. : To Move the screen split to the left.
Windows key + V: To View all active Toasts/Notifications.
Windows key + Shift + V: To View all active Toasts/Notifications in reverse order.
Windows key + PrtScn: To Take a screenshot of the screen and automatically save it in the Pictures folder as Screenshot.
Windows key + Enter: To Launch Narrator.
Windows key + E: To Open Computer.
Windows key + R: To Open Run dialog box.
Windows key + U: To Open Ease of Access Center.
Windows key + Ctrl + F: To Open Find Computers dialog box.
Windows key + Pause/Break: To Open the System page.
Windows key + 1 to 10: To Launch a program pinned on the Taskbar in the position indicated by the number.
Windows key + Shift + 1 to 10: To Launch a new instance of a program pinned on the Taskbar in the position indicated by the number.
Windows key + Ctrl + 1 to 10: To Access the last active instance of a program pinned on the Taskbar in the position indicated by the number.
Windows key + Alt + 1 to 10: To Access the Jump List of a program pinned on the Taskbar in the position indicated by the number.
Windows key + B: To Select the first item in the Notification Area and then use the arrow keys to cycle through the items Press Enter to open the selected item.
Windows key + Ctrl + B: To Access the program that is displaying a message in the Notification Area.
Windows key + T: To Cycle through the items on the Taskbar.
Windows key + M: To Minimize all windows.
Windows key + Shift + M: To restore all minimized windows.
Windows key + D: To Show/Hide Desktop (minimize/restore all windows)
Windows key + L: To Lock computer.
Windows key + Up Arrow: To maximize current window.
Windows key + Down Arrow: To Minimize/restore current window
Windows key + Home: To Minimize all but the current window
Windows key + Left Arrow: Tile window on the left side of the screen
Windows key + Right Arrow: Tile window on the right side of the screen
Windows key + Shift + Up Arrow: To Extend current window from the top to the bottom of the screen
Windows key + Shift + Left/Right Arrow: To Move the current window from one monitor to the next

Ctrl + Esc: Switch between Modern Desktop Start screen and the last accessed application
Alt: To Display a hidden Menu Bar.
Alt + D: To Select the Address Bar.
Alt + P: To Display the Preview Pane in Windows Explorer
Alt + Tab: To Cycle forward through open windows
Alt + Shift + Tab: To Cycle backward through open windows
Alt + F: Close the current window Open the Shut Down Windows dialog box from the Desktop
Alt + Spacebar: Access the Shortcut menu for current window
Alt + Esc: Cycle between open programs in the order that they were opened
Alt + F4: Close Application
Alt + Enter: Open the Properties dialog box of the selected item
Alt + PrtScn: Take a screen shot of the active Window and place it in the clipboard
Alt + Up Arrow: To Move up one folder level in Windows Explorer (Like the Up Arrow in XP)
Alt + Left Arrow: To Display the previous folder
Alt + Right Arrow: To Display the next folder
Shift + F6: Cycle backward through elements in a window or dialog box
Shift + F10: Access the context menu for the selected item
Shift + Tab: Cycle backward through elements in a window or dialog box
Shift + Click: Select a consecutive group of items
Shift + Click on a Taskbar button: Launch a new instance of a program
Shift + Right-click on a Taskbar button: Access the context menu for the selected item

 Subscribe to my blog

Deploying SharePoint 2013 on Microsoft Azure using IAAS–part 2

This post is the continuation to my previous post  – Deploying SharePoint 2013 on Microsoft Azure using IASS–part 1. The focus of the part2 of this series to cover the steps required to configure Domain Controllers (both Primary and Backup) in detail.

Configuration of Domain Controllers

Log on to the SP2013-DC1 VM (created in the Part1 of the article).

Server Manager àDashboard à Add Roles and Features.

Select Installation Type (set the default value of Role-based or feature-based installation).

Select Destination Server and Select a Server from the Server pool and click next.

clip_image002

Select Server Roles àActive Directory Domain Services and click Next

clip_image004

clip_image006

Now the Active Directory Domain Services are successfully installed in this Server SP 2013-DC1 and SP2013-DC2. We have already performed the step of initializing the Empty Disks. The next logical step is to perform activity of Promoting the SP2013-DC1 VM as the Domain Controller for the SharePoint 2013 farm that we are going to build.

Promotion of Virtual Machine to Domain Controller of the SP Farm

In this step, we would be performing the list of steps that are required to promote the Virtual Machine SP2013-DC1 as the Domain Controller of the SP Farm.

Server Manager à Manage link (on upper right hand corner) à Promote this server to a domain controller.

clip_image008

Deployment Configuration à Add a Forest

Set any arbitrary name for Root Domain name and Click next.

clip_image010

Set the Directory Services Restore Mode password as ‘Password123’.

clip_image012

We will get an error like ‘a delegation for the DNS cannot be found” and this can be ignored.

Additional Options à You will see the NetBios name reflected as the root domain name given in the previous step.

clip_image014

The next step is to set the path for Database folder, log files folder and SYSVOL folder.

clip_image016

Review all the selected options and Click next. We’ll see successful message for pre-requisites.

clip_image018

Click Install.

We’ll see a success message ‘The server was successfully configured as Domain Controller’. We need to create the set of Users (Service Accounts mentioned in the section 1b) in the Domain.

Server Manager à Tools à Active Directory Users and Computers.

Action à New à User.

clip_image020

Set the password as ‘password-1’ and make it as password never expire.

clip_image022

Repeat the above 2 steps for creating other service accounts like sp_farm_db, sp_install and sqlservice.

Provide domain admin rights for sp_install user.

clip_image023

Grant more rights to sp_install user.

On the domain name à Right click à Properties à Security à Advanced à

Advanced Security settings for domain à Select allow for Read all properties and Create computer objects.

This completes the setup of primary domain controller. We’ll set up the back-up domain controller in the next section.

Setup of back-up domain controller

In this section, we’ll see the necessary steps to configure back-up domain controller. The whole idea is that we’ll not be promoting the back-up DC (SP2013-DC2) as the domain controller for the farm, rather we will be adding the domain controller to the domain (techguru.com) running on primary domain controller VM (SP2013-DC1).

Click ‘Promote this server to Domain Controller’ and select ‘Add a domain controller to an existing domain’. Select credential techgurusp_install and the password for performing this operation.

clip_image025

clip_image027

clip_image029

clip_image031

clip_image033

Now we have successfully installed the domain controller. In the next post, we’ll cover the steps to configure SQL Server 2012 on Microsoft Azure for the SharePoint 2013.

 Subscribe to my blog

Book Review – SharePoint 2013 Planet of the Apps 2.0

I had a chance to read the book titled ‘SharePoint 2013 Planet of the Apps 2.0’ by Sahil Malik, SharePoint MVP and renowned technology expert. I bought the paperback edition of the book from FlipKart.com few weeks back. The whole idea of buying a book on SharePoint 2013 App model was to have a single reference (one stop shop) for me to ramp up myself on SharePoint 2013 App Model. I’d say that this book has not let me down after purchasing it. Though the book is thin, it’s a well written book by Sahil Malik. The writing style is more of a class-room trainer narration style, which I like very much and keeps reader awake without getting bored. It also helped me to read the book within a day. The technical information presented in this book is very accurate (as per the pre-release SP 2013 timeframe). Personally, I like the following topics in the book, because of the way it is narrated and explained.

  • App Only Permission Policies
  • On the fly Permissions
  • Azure ACS and SharePoint Authentication Dance
  • S2S and SharePoint Authentication Dance
  • Cross Domain Security – Client Side Only


     

Deploying SharePoint 2013 on Microsoft Azure using IAAS–part 1

The objective of this article is to articulate the setup of SharePoint 2013 farm on Microsoft Azure platform using Infrastructure as a Service (IASS). Basically I  pretty much followed the steps mentioned in the MSDN article. I’m using Microsoft Azure trial subscription for the entire setup of SharePoint on Azure.

Configuration of Windows Azure Infrastructure components

The first step in setting up the SP 2013 Farm is to start provisioning the following three basic Network components and a Storage Account in the Azure Instance:

· One Virtual Network

· Four subnets

· Two DNS Servers

· One Windows Azure Storage account

On the lower-left corner, Click New à Virtual Network

Name for Virtual Network

Region: East Asia

Affinity Group: Create a new Affinity Group

clip_image002

On the DNS Servers type, type DNSServer1 and assign IP address as 10.0.0.4

On the DNS Servers type, type DNSServer2 and assign IP address as 10.0.0.5

clip_image004

On the Virtual Network Address Spaces, Click CIDR box to add subnet button. Add four subnets for each of the following

· DCSubnet (replaces Subnet-1), 10.0.0.0/11

· DataSubnet, 10.32.0.0/11

· AppSubnet, 10.64.0.0/11

· WebSubnet, 10.96.0.0/11

clip_image006

Now the virtual network is created.

clip_image008

Creation of Storage Account

The next step is to create Windows Azure Storage Account

Go to the Azure Management Portal.

New –> Data Services –> Storage and Quick Create

clip_image010

For the url enter name as “sundarsp”

Leave the default location/affinity group, which is selected as SundarAffinity.

Leave the default selection for Replication as ‘Geo-Redundant’ which will ensure the durability of the data.

Standards, Conventions and Limits

There are few conventions, standards and limits that I will be following throughout this article. It’s all again based on the msdn guidance.  http://msdn.microsoft.com/en-us/library/azure/dn275966.aspx.

When it comes to the allocating empty disk space, a size of 20 GB will be allocated to Primary Domain Controller & Back-Up Domain Controller VM. An empty disk size of 50 GB will be allocated to Database Server and SharePoint Server VMs.

Virtual Machine Type

Empty Disk Size

Primary Domain Controller

20 GB

Backup Domain Controller

20 GB

Database servers

50 GB

SharePoint Servers

50 GB

When it comes to Subnet creation, it is recommended to create four Subnets for different servers.

Sever

Subnet Name

Domain Controller

DC Subnet

SharePoint Server

WebSubnet

Sql Server

Data Subnet

App Server

AppSubnet

Availability Sets in Azure provides the capability to allocate Virtual Machines to different fault domains when a failure occurs. It increases availability and reliability. The recommendation is to create four Availability Sets as per the below conventions

Availability Set

Servers

DCAvailSet

SP2013-DC1 and SP2013-DC2

WFEAvailSet

SP2013-Web1 and SP2013-Web2

AppAvailSet

SP2012-App1 and SP2013-App2

SQLAvailSet

SP2012-SQL1 and SP2012-SQL2

We’ll be creating an Active Directory Domain by name ‘techguru.com’ (any arbitrary name that you can create for your need. I’ll also be creating the following set of Service Accounts on the techguru.com domain with a password of ‘password-1’ and password set as never expires.

Service Account

Purpose

Sp_farm

Account to manage the SharePoint farm

Sp_farm_db

Account to Manage the SQL Server (with SysAdmin rights )

Sp_install

Account with Domain administration rights for installing Roles and Features on various servers

Sqlservice

Account that SQL Server Instances run as.

Creation of Virtual Machines from Gallery

The creation of Virtual Machines typically involves the following five steps:-

1) Provisioning of Virtual Machine Instance

2) Creation and Attachment of empty disks

3) Initializing Empty Disks (The specification for empty disks are mentioned in the previous section 1.b)

4) Creation of Availability Set and its Associations for various VMs (The list of Availability Set are mentioned in the previous Section 1.b)

5) Logging into VM and perform initial setup activities

The following set of Virtual Machines need to be created for setting up the SP 2013 Farm. Since I’m having only the Trial version of Azure, I’m selecting only A2 VM with 2 cores of CPU. If you are setting the real Dev-Test SP 2013 environment for your customer on Azure, you need much more than that.

VM Name

Purpose

VM Image

VM Type

Subnet

SP2013-DC1

Primary Domain Controller

Windows Server 2012 Data Center

A2 2 cores

DC Subnet

SP2013-DC2

Back-up Domain Controller

Windows Server 2012 Data Center

A2 2 cores

DC Subnet

SP2013-SQL1

Database Server

MS SQL 2012 SP1 Enterprise on Win 2008 R2 SP1

A2 2 cores

Data Subnet

SP2013-SQL2

Database Server

MS SQL 2012 SP1 Enterprise on Win 2008 R2 SP1

A2 2 cores

Data Subnet

SP2013-App1

SharePoint App Server

Microsoft SharePoint Server 2013 Trial

A2 2 cores

AppSubnet

SP2013-App2

SharePoint App Server

Microsoft SharePoint Server 2013 Trial

A2 2 cores

AppSubnet

SP2013-Web1

SharePoint WFE

Microsoft SharePoint Server 2013 Trial

A2 2 cores

WebSubnet

SP2013-Web2

SharePoint WFE

Microsoft SharePoint Server 2013 Trial

A2 2 cores

WebSubnet

Creation of domain controller VM

New –> Compute –>Virtual Machine à from Gallery.

Select Virtual Machine operating system.

First, we’ll create a VM for Domain Controller and we’ll select Windows Server 2012 Data Center for Domain Controllers.

clip_image012

Set the password as ‘Pass@word1’.

clip_image014

clip_image016

clip_image018

Attach an empty disk of 20 GB to the Domain Controller VM and set it as Read/Write

clip_image020

Now we have attached the empty disk of 20 GB to the primary domain controller (sp2013-dc1) VM. The next step is to create Availability Set for the domain controller VM.

Virtual Machines –> Configure –> Availability Set –> Create an Availability Set

clip_image021

Set the name for availability set as ‘DC Avail Set’ and Save. Now let’s try logging in to VM.

In the Remote Desktop Connection Dialog Box click Connect and provide your user account as <<Machinename>>.cloudapp.netUserName and provide the password. Once we log in to the VM, we need to perform the Task of Initializing the Empty disks (mentioned in previous section)

Creation of Backup Domain Controller VM

Compute –> Virtual Machine –> From Gallery

clip_image023

clip_image025

clip_image027

Attach an empty disk of 20 GB to the back-up Domain Controller VM

clip_image029

Now we have successfully attached the Empty Disk to the backup domain controller VM. The next step is to select the ‘Availability Set’. Select the existing Availability Set of ‘DCAvailSet’ for back-up domain controller and save.

clip_image030

Now we have successfully created Availability Set for Domain Controller VMs (Primary and back-up). Now we need to log in to the SP2013-DC2 VM and perform the Empty Disk Initialization steps mentioned in section 1f.

Empty Disk Initialization

The empty disk initialization task need to be performed for all the types of the VMs that we would be creating as a part of SharePoint 2013 farm set up. Perform the following task on a VM running Windows Server 2012.

Server Manager à Click File and Storage Services à Disks

Select the Disk that is with the capacity of 20 GB and partition set to Unknown.

clip_image032

Create a new Volume, accept defaults and Set the Drive volume as ‘F’

clip_image034

clip_image036

The next step is to configure the Domain Controllers (both Primary and Back-up), it will be covered in detail in the part 2 of this article.

 Subscribe to my blog

SharePoint 2013 Remote Event Receivers–Frequently asked questions

I was trying to compile the list of frequently asked questions on SharePoint 2013 Remote Event receivers, for my understanding. Here is the list that I compiled.

1. Can we run client-side code from remote event receivers?

No, we cannot run client-side code from remote event receivers

2. How does remote event receiver work fundamentally?

The User performs an action on SharePoint list or library. Based on the action event, the SharePoint communicates with the registered WCF service (defined for remote event). The WCF service communicates with Azure Access Control Services (ACS) and gets signed token from ACS. Using the signed token, the remote WCF services perform necessary action on the SharePoint list or library (based on action).

3. What are the various types of event scopes that are supported?

Remote event receivers are supported at list-level and library-level.

4. How do we debug remote event receivers?

Go to Project Properties in Visual Studio 2012 à SharePoint à Enable remote debugging

Then, set the Azure Service Bus End Point for debugging remote event receivers. Prior to that we  need to register for a Windows Azure Service Bus, please check this post https://sundarnarasiman.net/?p=107 for more details on registering an Azure Service Bus.

5. How do we debug remote event receivers?

Go to Project Properties in Visual Studio 2012 à SharePoint à Enable remote debugging

6. Whether the SharePoint 2010 event handler will work automatically after upgrading to SharePoint 2013?

There is no guaranteed that the SP 2010 Event Handler Solution Package will work 100% after upgrade. It may be require re-factoring SP 2010 event handler into an App for SharePoint in SharePoint 2013.

7. Can we have remote event receivers implemented as SharePoint Hosted App in SharePoint 2013?

No. The SharePoint 2013 Remote Event receivers require a WCF service to call back to SharePoint 2013 based on the fired event (remote). In order to host a WCF service, we need a remote Web project, which is feasible only in Auto Hosted App or Provider Hosted App. Hence remote event receivers can’t be implemented as SharePoint Hosted App (as of now).

8. What are the various types of App Models supported by Remote Event Receivers?

a)SharePoint Hosted Apps

b)Provider Hosted Apps

8. Does SharePoint 2013 remote event receivers support synchronous and asynchronous events?

Yes, the remote event receivers have support for both Synchronous and Asynchronous events. It has two methods ProcessEvent and ProcessOneWayEvent :-

ProcessEvent – this typically occurs before an action occurs like when a user adds or deletes and item. It is also called as Synchronous events which typically handles “-ing” events.

ProcessOneWayEvent – this typically occurs after an action occurs. It is also called as Asynchronous events which typically handles “-ed” events.

9. Can we have remote event receivers registered for Host Web in SharePoint?

By default remote event receivers in Visual Studio are registered for App Web only, not Host Web. We can use CSOM to explicitly register the event receiver for Host Web, assuming that App has already requested Permission to manage host web.

10. How SharePoint 2013 Remote event receivers work differently from SharePoint 2010 event receivers?

In SharePoint 2010, the event receivers which handles events of Lists, Libraries or Sites, runs the code on the SharePoint farm itself. In SharePoint 2013, the piece of the code which handles events (WCF) runs outside of SharePoint remotely.

 Subscribe to my blog