Windows Azure Blog

Start here

Blog Statistics

  • 2,859 hits

Archives

Azure Portal – New look and feel

Ohh…i love the new look and feel of Azure management portal

Snip20150224_4

and the new link https://portal.azure.com/ and now for Enterprise customer, new look and feel of Azure EA portal too https://ea.windowsazure.com/

You wanna look at the preview, click here

Microsoft Azure Support Lifecycle Policy

Most of us keep on looking for this term…Microsoft Azure Support Lifecycle policy, which is categorized into 4 categories.

Click here to read more

Windows Azure and SQL Server – What you should know

Hello guys….

When you think of hosting SQL server to windows Azure (cloud solution); following needs to be taken care about configuring the storage

Now coming back to your question about storage, Azure Storage includes three services: Blob storage, Table storage, and Queue storage. These services are included in every storage account. Storage costs are based on four factors: storage capacity, replication scheme, storage transactions, and data egress. Storage capacity refers to how much of your storage account allotment you are using to store data. The cost of simply storing your data is determined by how much data you are storing, and how it is replicated. Transactions refer to all read and write operations to Azure Storage. Data egress refers to data transferred out of an Azure region. When the data in your storage account is accessed by an application that is not running in the same region, whether that application is a cloud service or some other type of application, then you are charged for data egress.

Data in your storage account is replicated to ensure durability that is also highly available, meeting the Azure Storage SLA  even in the face of transient hardware failures to maintain the SLA promised. Azure Storage is deployed in 15 regions around the world and also includes support for replicating data between regions. If you choose Locally Redundant Storage (LRS) , we maintains three copies of your data. The storage is replicated three times within a single facility in a single region and protects your data from normal hardware failures, but not from the failure of a single facility.

Geo Redundant Storage(GRS) is enabled for your storage account by default when you create it and it maintains six copies of your data. Your data is replicated three times within the primary region, and is also replicated three times in a secondary region hundreds of miles away from the primary region, providing the highest level of durability. If the primary region fails your Azure Storage will failover to the secondary storage.

So as expected Locally Redundant Storage will be cheaper in terms of cost, Some reasons why one may choose LRS over GRS :-

  • Applications that store data which can be easily reconstructed may choose to not geo replicate data not only for cost but also because they get higher throughput for the storage account. LRS accounts get 10 Gibps ingress and 15 Gibps egress as compared to 5 Gibps ingress and 10 Gibps egress for a GRS account.
  • Some customers want their data only replicated within a single region due to application’s data governance requirements and they would go with LRS.
  • Some applications may have built their own geo replication strategy and not require geo replication to be managed by Windows Azure Storage service.

While installing the following needs to be taken care

  • SQL installation on local redundant data drive
  • Always select the VM with SQL instance from Azure
  • Download the GP directly from the customer/partner portal to the Azure VM.
  • VM instance with minimum A3 model should be there (for 10 user access)

When we created a SQL instance on Windows Azure, Latency at its peek or in other word “SQL server damn slow”…

No partners can give you a practical answer to why this issue occurs; only a technical team from Microsoft with lot of troubleshoot; which i want to share with you guys out there

During the trouble shoot,

While restoring a database of 6GB size (VM server was on Geo Redundant data disk at the time of test); following process took more time

13251770              PREEMPTIVE_OS_WRITEFILEGATHER

13251768              ASYNC_IO_COMPLETION

So the obvious question arises what are these Wait Types:-

1. PREEMPTIVE_OS_WRITEFILEGATHER :- This indicates the Auto Growth event , but in our case this wait occurs as we require allocation of new space.

2. ASYNC_IO_COMPLETION:- This wait type is used to indicate a worker is waiting on an asynchronous I/O operation to complete not associated with database pages. Few examples of where this wait type is used is to create files associated with a CREATE DATABASE and for “zeroing” out a transaction log file during log creation or growth.

When we perform a RESTORE of a DATABASE , the following phases are included:-

  • Firstly we copy data, logs and index from backup to the database files
  • Then we take logged transactions and apply to data for recovery point roll forward followed by we take the uncommitted transaction and rollback them to make the database in a consistent state.

Now during restore we will attempt to recreate the full size of the LDF file and it has to zero out the same. And this is called the instant file initialization process of the data\log files that fills the files with zeroes. This is a OS security feature and is designed to avoid revealing information from previously deleted files. The PREEMPTIVE_OS_WRITEFILEGATHER wait comes from here. Please read more here.

WHAT WE TRIED was

Grant the SQL Server Service the Privilege “Performance Volume Maintenance (SE_MANAGE_VOLUME_NAME)” Task through secpol.msc, SQL Server will skip the zero-initialization of the data files (RESTART SQL SERVER IS A MUST).

What happens under the hood is SQL Server with this permission can call the Win32 API “SetFileValidData(). As the msdn documentation says it

The  SetFileValidData  function allows you to avoid filling data with zeros when writing nonsequentially to a file. The function makes the data in the file valid without writing to the file. As a result, although some performance gain may be realized, existing data on disk from previously existing files can inadvertently become available to unintended readers.”

So under the Server security policy, we need to add the users/group who does the SQL script operation on the mentioned arrows below

Snip20140923_5

Once we done the above settings and change the GRS to LRS; SQL performance is getting better.

Will update you as and when any information that may help the community; when it comes to Azure SQL practice.

Enjoy!!!

Windows Azure – A practical approach

Snip20140923_4

Microsoft own cloud platform is know as Windows Azure….So what is Microsoft Azure?

What is Azure? In short, it’s Microsoft’s cloud platform: a growing collection of complimentary services—compute, storage, data, networking, and app—that help you move faster, do more, and save money. But that’s just scratching the surface.

Popular solutions like

  • Website & Web hosting
  • Virtual Machine hosting
  • SQL database
  • Mobile backends
  • Remote Apps

What is the benefits?

  • Disaster solution
  • No hassle on Hardware maintenance or maintaining AMC contracts
  • No software licensing maintenance (It comes with the license…except user license)
  • Uptime, 24/7 365days
  • Microsoft Technical support

Isn’t it beautiful; for an IT pro, this is what he is dreaming of…but there are some hassle when it comes to a “practical approach”.

  • This will work only when there is an internet connectivity. (In this century, Internet is not a luxury; but a necessity)
  • Internet Speed factor is another important, when it comes to application hosting
    • like ERP/SQL (hosting on Azure and user accessing it; need speed and right configuration)
  • Most of the service are on Preview mode; meaning, you cannot use it (as of 23 Sep 2014)
    • like Azure Apps
    • Windows server anti virus (System centre EndPoint protection)
  • Public IP, for each tenant, they have released only 2 Public IP, which is a major limitation; still under preview (for certain location/region). To know more about the Geo location and available services, click here
  • Backup on VM; Microsoft policy as follows
    • If you accidently delete the storage account, all the copies in the same DC will be deleted synchronously (LRS) and all the copied will be deleted asynchronously (GRS). (LRS means Local Redundant Services and GRS means Geo Redundant Services)
    • There will be no way to recover the data (we may try to see if any data can be recovered but there is no guarantee of data recovery).
    • There will be no backup/copy of user data maintained by Microsoft.
    • Please make sure you take the backup of your VM VHD’s periodically. Like in on-premise environment, VHD corruption may occur.
    • Availability set : We should use a combination of availability sets and load-balancing endpoints to help ensure that your application is always available and running efficiently.Recommended way to prevent downtime in these unexpected occasions is by using the functionality of Availability set. Click here to know more
    • Any data placed in D: Temporary drive can be lost at any time (Eg: If the guest VM is moved to another host, shutdown-deallocation of the VM etc.
    • Avoid single instance virtual machines in Availability Sets :  Avoid leaving a single instance virtual machine in an Availability Set by itself. Virtual machines in this configuration do not qualify for SLA guarantee and will face downtime during Azure planned maintenance events. Furthermore, if you deploy a single VM instance within an availability set, you will receive no advanced warning or notification of platform maintenance. In this configuration, your single virtual machine instance can and will be rebooted with no advanced warning when platform maintenance occurs.
    • An important goal of the IAAS feature release was to enable Virtual Machines to be able to also achieve high availability in the face of host updates and hardware failures and the Availability Sets feature does just that. Availability Sets have five UDs by default and support up to twenty. The FC spreads instances assigned to an Availability Set across UDs.

      This allows customers to deploy Virtual Machines designed for high availability, for example two Virtual Machines configured for SQL Server mirroring, to an Availability Set, which ensures that a host update will cause a reboot of only one half of the mirror at a time as described here

WE are doing server hosting into the Azure platform for Production purpose and we come across these issues/limitations.

Azure Geo redundant locations & Services

Snip20140923_3

 

 

Available Services from these location, Click here  Services by region

WordPress on Azure

Snip20140609_1

 

Is’n it nice to see WordPress platform hosted on Windows Azure? Running WordPress platform on Windows Azure is cost effective, scalable, and easy to manage. When you setup your Azure account, it comes with 30days free trail and you can run up to 10 free Azure Websites with this account. The only limitation with the free account is that your DNS name is fixed which means that we would have to use http://mywebsitename.azurewebsites.net instead of my http://mywebsitename.com address. This is easily managed by upgrading to a paid subscription.

How to create it….

First create a trial account by clicking here.

Once it is done, log onto the Azure management portal, select the WEBSITES and then select FROM GALLERY

Snip20140609_2

 

Select the WordPress from the list and click next

Snip20140609_4

On the Configure Your App page, you can specify your website name and verify it.

Snip20140609_6

Next, select your own MySQL database name or keep MySQL database as the default name. Select the region closest to you as the hosting location. Select the box at the bottom of the screen to agree to ClearDB’s usage terms for your hosted MySQL database. Then click the check to complete the site creation.

Snip20140609_7

 

  • Once you click complete tick mark, Azure will initiate the build and deploy the operation and the status of the operations displayed at the bottom.
  • Once it is done, status message will show us “Successfully deployed”
  • Now you will find your new website up and running from the Azure management Portal.
  • Click on the new site to open the site dashboard.
  • Change the PHP version to higher. (if required)
  • Then scroll down and enter the appropriate configuration information required by WordPress.
  • Then click Install WordPress to finalise the configuration.
  • Once this is done, you will have the login page.
  • Once you login, your WordPress page is ready for action.

Enjoy!!!

Windows Azure – Site-to-Site & Point-to-Site VPN’s

Read the new introduction of added feature into Azure platform

Click here

Prem Nair on Twitter