Choosing between Azure Stack & Windows Azure Pack (WAP)

In my previous post we compared Azure & Azure Stack. Today we will compare Windows Azure Pack & Azure Stack.

Windows Azure Pack is another product offered by Microsoft, to provide cloud services for data center that delivers cloud services for end users and customers but its limited to private cloud only.  Both Azure Stack & Windows Azure Pack (WAP) have some similarities however they also have significant differences that we will discuss in this blog post.

What is WAP ?  It was first introduced in 2012 with the launch of Windows Server 2012 at no extra cost. It is based on SQL Server, Windows Server & Microsoft System Center suite, offering customers Self Services, multi tenant Cloud services  (SaaS & PaaS) such as Virtual Machines, Websites & Databases.  Some of the key features of WAP is listed below.

WAP Features Description
Tenant Portal To provision and manage services such as Virtual machines & Websites by Tenants.
Admin Portal  For services administrators to manage resources that they made available for tenants. They can configure quotas or User accounts.
Service Management API  REST API provides the ability to extend functions to tenants and admins such as creating users , managing subscriptions etc..
Virtual Machine Cloud Services  IaaS services of WAP provides the ability to provision Windows and Linux machines. Dependent on Ms System Center components (Service Provider Foundation & Virtual Machine Manager VMM).
WAP Web Sites  Provide the ability to provision scalable web applications based on ASP.NET, PHP & Node.js.
Service Bus  Distributed applications can communicate reliably using messaging services.
SQL and MySQL Services Ms SQL & MySQL services provides database provisioning to be used with other services such as WAP Websites
Automation  Automate tasks in WAP using System Center Services Management Automation.
International Language Support WAP Supports following languages: English, German, Spanish, French, Italian, Japanese, Chinese, Brazilian, Portuguese, Korean & Russian.

Complete features of WAP can be found here.

WAP utilizes Windows Server & System Center for its infrastructure to deliver the services. WAP now supports Windows Server 2016 & System Center 2016.

POC of WAP can be done by installing Express Edition of WAP on single VM or Physical Machine however for production minimum of 8 machines are needed (VM or Physical).

Feature comparison between two products:

Azure Stack features which may (not) available in WAP

Azure Stack Features Available in WAP
Provisioning Virtual Machines Yes
Creating Storage Accounts No
Azure Resource Manager Templates No
Managing Networking Yes
Azure Stack Marketplace Yes (Gallery Items)
Custom Virtual Machine Images Yes (although not tenant defined images)
Billing & Chargeback Yes
Azure Stack Resource Providers No
App Service Yes
Microsoft Azure Consistency No

WAP features which may (not) available in Azure Stack

WAP Features Available in Azure Stack
Tenant Portal Yes
Admin Portal Yes
Service Management API No
Virtual Machine Clouds Service Yes
Windows Azure Pack Web Sites Yes (through App Services)
Service Bus Clouds service No
SQL and MySQL Services Yes(Using Resource Providers)
Automation No

Some possible challenges with WAP:
You may face some challenges while deploying WAP to your datacenter such as (but not limited to):

Challenge WAP Azure Stack
Infrastructure  POC with Express Edition Single VM/Physical

Production minimum 8 VMs/Physical

High availability needs more infrastructure and manual configuration

 High availability is configured automatically
in Azure Stack. For example, when you deploy a 4-node Azure Stack installation, then the Active Directory domain controllers, network controllers, and so on, are automatically deployed and configured for high availability. This dramatically reduces the overhead when you deploy a highly available Azure Stack
System Center Dependency Highly dependent on System center components to provide features such as VM Automation, and usage data. Virtual Machine Manager, Operations manager, Service Provider Foundation & Service Management Automation are Specifically needed. No dependency on System Center for mentioned features however some of them are not available to date.
Hybrid Cloud with Azure WAP is based on completely different API set which cannot be used with Azure. Azure Stack & Azure uses same API sets therefore applications and services can be moved back & forth using same templates.
Azure Resource Manager Not available in WAP, therefore if you already knows Azure templates, you still need to learn how to work with WAP. Azure Stack uses ARM templates, therefore same deployment templates can be used in interchangeably in both Azure & Azure Stack.


Deciding whether Azure Stack or Windows Azure Pack is the most suitable cloud service product for your organization depends on several different factors (but not limited to below):

Factor  WAP Azure Stack
Cost  No cost solution but requires substantial amount of infrastructure especially when high availability is needed. You can add additional cost of System center if you don’t have already. You must purchase Integrated system (hardware) from Dell EMC, Lenovo, HPE etc…
Flexibility Primarily a private cloud solution.

WAP offers features such as Shielded VMs and third party management tools for partner products which are currently not available in Azure Stack.

Azure Stack is true hybrid cloud solution providing flexibility of hosting & moving apps / services between on-prem to the public cloud (Azure).
Automation WAP includes an Automation feature that you can use to automate tasks such as applying
a policy to a newly created virtual machine by a tenant.
Not available at this moment.
Multi-tier app support You would need to
deploy each tier separately, and then configure integration between them as a separate task.
Using ARM & ARM Templates, it is possible to define sequence & deployment of different roles like Back end SQL , Middle Tier Application Server & Front end web servers making deployments faster and less error prone.
System center integration WAP uses System center components like SCVMM, SCOM etc.. When VM is provisioned through WAP, it is actually handed over to SCVMM. This simplifies the rest of VM management tasks. Azure Stack does not integrate with System center.

WAP offers cloud services your end users and customers in a private cloud environment whereas Azure Stack does same but additionally provides integration with Azure thus creating a true Hybrid cloud environment. Since Azure Stack is a new product comparing to WAP, but Microsoft is working to expand its features over time including the features which currently available in Azure only. Windows Azure Pack running on Windows Server 2012 R2 will be moving into extended support on July 11th 2017, and Windows Azure Pack running on Windows Server 2016 will moving into extended support on January 11th 2022.


Choosing between Azure & AzureStack

As you know Azure is there in the market since long time, once it was known as Windows Azure. Being a public cloud platform, Azure spans over several data centers across the globe. Microsoft has invested several billion dollars while building Azure. You can write a application in any programming language for almost any platform including Unix and can host it in Azure, integrate it with your on-prem Organization data centers. You can scale these applications as needed  and will be charged for your usage only. Azure is Self Service platform and Microsoft is continuously updating the back-end infrastructure with zero or minimum impact on your services or applications. It is NOT possible to list all offerings of Azure however we can try to cover some common offerings by type:

Type Common Offerings
Compute  Windows & Linux Virtual Machines, Scale Sets, Web Apps, Container Services & Container Registry
Networking  Virtual Network, Traffic Manager, Azure DNS, Content Delivery Network (CDN), Load Balancer, Application Gateway & Network Gateway
Storage  Storage, StorSimple, Backup Site Recovery & Data Lake Store
Databases SQL Database, Cosmos DB, SQL Data warehouse & SQL Server stretch database
Security & Identity  Azure Active Directory, Active Directory Domain Services, Key Vault & Secure Center
Monitoring & Management  Automation, Application Insights, Operational Insights (OMS), Log analytics & Azure Resource Manager

For a complete list of currently available services, software development kits (SDKs)/tools, and architecture in Microsoft Azure visit the following website.

Azure Stack Features

AzureStack can be thought of as Azure for the data center. Just like Azure, AzureStack features are also evolving day by day.  Most key features of AzureStack are same as of Azure and some are additional to AzureStack.

Type Common Offerings
Compute AzureStack allows to provision VMs of different types & sizes using AzureStack Portal and ability to connect them to a Virtual Network.
Networking VPN Gateways, iDNS (ability to resolve external
addresses without requiring to know the IP address of the resource)
Storage Storage Account includes Table, Blobs, Ques & Files.
Azure Resource Manager Templates
JSON based ARM templates are one of the key features in AzureStack. They provide you the ability to
deploy an application including all its dependencies (like Compute, Network, Storage, Active Directory, SQL, SharePoint etc…) in a single operation. You also can redeploy templates to update an application or service when required.To view and download the Azure Stack Resource Manager templates from GitHub, go to the following website.You can deploy templates by using the Azure Stack Portals, Windows PowerShell, Microsoft Visual Studio, or the Azure Command Line Interface (CLI).
AzureStack Market Place
This is a repository where tenants (DevOps) can obtain preconfigured resources (based on ARM Templates) to consume (like Services & Applications) made available by Cloud Operator.
Custom VM Images
Custom VHD based VM Images could be provided through AzureStack Market place by cloud operator for DevOps,  to ensure that virtual machines provisioned with Azure
Stack have the relevant software installed for an organizations compliance rules.
Resource Providers
In addition to Compute, Network, Storage Resource Providers, AzureStack also offers other providers like SQL Database & MySQL and many others to provide these databases as services.
Billing & Chargeback
There is no billing system included in AzureStack however usage data (which is recorded and aggregated) can be exported to BI tools such as Microsoft Power BI for creating charge back reports.
App Services
This is Azure App Service (Azure Websites and Azure Mobile Services) which is ported on AzureStack. You can use this service to create cloud applications for both web and mobile clients.

For further information about the key features and capabilities of Azure Stack, visit the following website.

So Azure or AzureStack or Both (Hybrid) 


This could be tricky however knowing the key features of both Azure & AzureStack would help you in deciding (along with other factors) where to port your application. Azure is hosted in Microsoft data centers thus all the head-ache of managing underlying is shifted to Microsoft whereas AzureStack is hosted in your data center so it becomes your responsibility to keep it updated by all aspects. Azure has lot more features that are currently not available in newly launched AzureStack but this will be changed with the passage of time. Moreover, the update cycle for both Azure and Azure Stack is much more frequent compared to other Microsoft applications. Therefore, new features and capabilities will be included on a more regular basis.
To determine which product you should adopt, you should consider your requirements as a business and the types of services you need to provide to your end users or customers. Other factors affecting this decision could include:
• Cost: The cost of hosting Azure Stack in your datacenter as opposed to subscribing to the services offered in Azure.
• Time: The administrative overhead of managing and updating the Azure Stack infrastructure.
• Other factors: There may be any number of other factors that will affect your decision that relate specifically to your organization such as security, compliance, or latency.
In many cases, you might need to utilize both products to provide a true hybrid cloud platform as described earlier in this module. This model provides you the capability to offer specialized solutions hosted in your datacenter and the ability to utilize the Microsoft public cloud including all its benefits as discussed. So choose wisely but this is guaranteed that a true Hybrid Cloud environment can be achieved together with Azure & AzureStack if architected in a right way.

Next Read: Choosing between AzureStack & Windows Azure Pack (WAP).

How-To Mount Existing Content DB to a SharePoint Web application

Two scenarios:

1) Web Application already exist and you want to change the Content DB.

2) Web application should be created with existing Content DB.

Let’s look at them one by one.

1: Web Application already exist and you want to change the Content DB:

It’s better to stop the application pool for this web application from IIS.

Delete the Content DB (if you don’t need it).

Open the SharePoint Management Shell (with elevated privileges) and run the following PS Command:

Mount-SPContentDatabase -Name WSS_Content_DB_ToAttach -WebApplication http://mywebapplication:port

The above command will attach the content Database and now execute the below PS command in same window.


This command will upgrade the DB to the final version of your SharePoint Farm.

To Learn how to use this command: Upgrade-SPContentDatabase -examples

2: Web application should be created with existing Content DB:

This is very simple. Just mention the name of existing content DB while creating the new Web Application in the Central Admin.


Optionally if desired you can execute the above command to upgrade it.

How to find Content DB Version:

If you dont have the version of the content db then you have to run the following script:

1: SELECT Version, UserName     2: FROM Versions   3: WHERE VersionId = ‘00000000-0000-0000-0000-000000000000’   4: ORDER BY Id DESC

or open the version table directly (Not recommended).


FROM Versions

WHERE VersionId = ‘00000000-0000-0000-0000-000000000000’


More About SharePoint Versions:

The below links could help you to find what is latest version released by Microsoft.

SharePoint 2010:

SharePoint 2013:

Fixing SQL Server issues using Named Pipes

Recently we get stuck with an issue in Our Production SQL Server instance while moving the cluster instance to another node.
Experienced DBAs knows that SQL Sever has it’s own Logs folder however there are multiple ways to find this folder, some of them are described here.

Upon reviewing several error logs, we came to know that while adding multiple Data files for TempDB to improve performance , the DBA has mistakenly duplicated the logical file name and same name was assigned to two different physical files for TempDB.

Below are some findings from logs.

2015-03-24 16:20:23.21 spid9s      Starting up database ‘tempdb’.
2015-03-24 16:20:23.47 spid9s      Error: 1828, Severity: 16, State: 1.
2015-03-24 16:20:23.47 spid9s      The logical file name “tempdbDatafile3” is already in use. Choose a different name.
2015-03-24 16:20:23.48 spid9s      SQL Trace was stopped due to server shutdown. Trace ID = ‘1’. This is an informational message only; no user action is required.

To fix this issue we have done the following:

1) Inform all the clients to take their systems into maintenance mode which are connected with this SQL Server instance.

2) Open SQL Server Configuration Manager  and disable the TCP/IP. This will help in running SQL Server in Single User Mode & avoid connections coming to this instance. Our Service was already failing to start.


3) Open 2 command prompt with elevated privileges and run this command in 1st window: sqlservr -s MSSQLSERVER -c -f

You may face the error below.


To find the location of sqlservr.exe in the registry, the key name is “SQLBinRoot” and path is :


here MSSQL11.MSSQLSERVER is name of your instance.

Copy the value of “SQLBinRoot” which could be like : C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Binn (this path may varies due to version difference).

Execute above command:


Once its started, scroll down and try to find Pipes connection end point:


Copy this connection string (\\.\pipe\MSSQL$SQL2008\sql\query in above example). This will very according to version and named instance configuration.

More about Named Pipes can be found here.

In 2nd Command prompt window run this command: sqlcmd -S \\.\pipe\MSSQL$SQL2008\sql\query

If you face below error, try stopping sql server and restarting again in first window (simply Press Ctrl+ C and press Y to stop it).


In second attempt we are able to connect.

Now to find the files related to TempDB, execute the following command.

select name, physical_name from sys.master_files where name like ‘%temp%’;



It will show you files list and you can identify the issue (Duplicated logical name found tempdbDatafile3)

To remove this file because we cannot rename in our case due to duplication run below command.

alter database tempdb remove FILE tempdbDatafile3;


Run select command again to verify if file is deleted.


After verification stop/close all command windows, enable the TCP/IP pipes in SQL Server configuration  manager and start SQL Instance Service.

Read Move about Alter database file command.

Enjoy SQL Servering…