Wednesday 30 March 2016

Demystified Azure Websites

We discussed about Understanding Microsoft AzureVirtual Networks ,Azure Management Tools and Azure Virtual Machines earlier in our post related to Microsoft Azure Series.

Today we will be focussing on the various aspects related to a Website running in Microsoft Azure Environment and what are the various options/tools available for developers to work on these Websites. 

Azure Websites

  • Azure Website Service is a platform that helps hosting the website in Azure without the need to configuring and maintaining your own machines.
  • Websites written in ASP.NET,PHPPython can run in Azure.

Enough Flexibility is available for choosing the way you want your websites to be available on Azure. We can choose from any one of the below mentioned approach.

1) Virtual Machines:

This Approach is quite similar to running your webfarms for hosting your applications however the servers here are not existing in our datacenter rather being managed by Microsoft.

We can run a Virtual Machine in Azure which includes a Web Server like IIS and Apache which can be further used for hosting web applications.

2) Azure Websites Service

Another Approach which can be used for the hosting your websites in Azure is by using Azure Websites Services where in we can either upload our own custom web applications for it can be chosen from a wide variety of options which are available like Drupal, WordPress.

3) PaaS Cloud Service

If we are looking for more control in terms of scalability we can proceed further with this approach as it consist of Application User Interface and Worker Roles which can be scaled up by specifying the number of instances we are looking for each of these roles.

* Another important aspect related to Azure Websites are the Web Hosting Plan which helps in logical grouping, sharing features and resources across several Websites which are part of the same Web Hosting Plan.

Available Deployment Methods 

There are various deployment methods which can be selected while proceeding further with the deployment of your Websites, however the deployment method can be selected depending upon the location of Source Code ! 

My Source Code can be Local Client Machine (developers machine), maybe managed by some Source Code Control System (Team Foundation Server) or there could be a possibility that my source code is in Cloud Source Control System ( Visual Studio Online)

1) Source Code On Client Machine

In this approach developers can deploy the websites directly to Azure from their Integrated Development Environment by using tools like MS Build.

2) Source Code in On-Prem Source Code Control System

Microsoft Team foundation server is used for the source code management here instead of client machines, where in my development team can configure systems to deliver the contents directly to Azure Websites ensuring that my Website is currently running on Staging Level so as all the changes are tested well in advance before making the content available in Production Environment.

3) Source Code in a Cloud Source Control System

If our Source code is managed by Team Foundation Version Control in Visual Studio Online which is a Cloud Hosted Control System, we can make use of GIT and configure continuous delivery to Azure.

* Web Jobs are one of the feature available in Azure Websites which helps Developers and Administrators to Run Automated Background Tasks which can be scheduled, can run continuously and can also on Demand. (PS1,Bash Shell Scripts,PHP,Python).

Configuring Websites

There are various option available for configuring Azure Websites from Azure Portal using configure tab which helps up in setting up various aspects related to the behaviour of the Websites like.

Framework Versions: Developers can select version before they begin creation of the websites.

Web Sockets:  Enabling Two Way communication between Server & Client.

Platform:  32 Bit or 64 Bit. 

Certificates: SSL

For more information refer Microsoft Azure Essentials

Wednesday 23 March 2016

Log Files Uncovered

Most of the time when we are troubleshooting complex issues we need to refer the log files and i face lot of issues personally in understanding which log file should i refer for this kind of issue or which log file should i refer for the other type of issue.

So thought of dedicating an article in my blog in which we will understand what are the various types of log files available, and the description about each type of the log files available.

Have also updated the to various types of Logs so as it can act as one stop shop for all the logs we may have to deal with when working with VMware Products.

VMware vCenter Server logs are available in 

%ALLUSERSPROFILE%\VMWare\vCenterServer\logs folder for Windows vCenter Server.

VMware vCenter Server Appliance 6.0 logs are located in the /var/log/vmware/ folder.

vpxd.log -  Consist of tasks and events information, communication with vpxa, vSphere client and Web Client.

vpxd-profiler.log - Profile Metrics for the operations performed in vCenter Server

vpxd-alert.log -  Non Fatal information logged about the the vpxd process.

Hostd.log -  Host Management Service related logs.

vmkernel.log- Virtual Machine startup and Device Driver related events.

syslog.log-  Scheduled Tasks and DCUI use.

vmkwarning.log-  Summary of warning and alert messages

vmksummary.log -  Summary of Esxi host start and shutdown and number of virtual machines running.

Below mentioned links will help you to find out all the types of log files in VMware.

Location of vCenter Server log files (1021804)

Locating logs for VMware vSphere Update Manager 5.0 (2038036)

Log locations in VMware vRealize Automation 6.x Suite (2074803)

Location of VMware View log files (1027744)

I have gathered all above links from various VMware KB articles and i hope i covered most of them. 

If in case i missed out anything, please don't hesitate to help me expand the list by putting your comments with the link/url.

Monday 21 March 2016

Troubleshooting Storage Issues

When it comes to dealing with storage related problem there could be n number of reasons contributing towards storage related problems for example it could be your ESXi, LUN, Paths, Datastore.

Today will discuss one of the problems that may occurs in your environment and will talk about few troubleshooting steps which we can perform to fix the problem. Most of the problems we will be discussing today are from my home lab environment and not necessary that you may see all of them but few of them.

Problem Scenario 

ISCSI Connectivity Issue.

I remember one of the scenarios where in there were few problems related to my ISCSI based storage where my ESXi host was facing connectivity issues with my storage. 

I was using software based ISCSI, it can also be hardware based ISCSI to further classify it could be independent hardware based ISCSI and Dependent Hardware ISCSI.

So where should we start identifying the problems related to this?

How i started with this let's have a look !

The first thing i started with is to have a look on the software based ISCSI configuration where in i verified if my ESXi and Storage can communicate properly and the issues was with the network connectivity as i have not done the proper port binding in this case due to which my storage and ESXi host were not able to communicate. 

I corrected the configuration and performed a quick rescan of my storage adapter and there we go i was able to see all the paths. If it would not had been this issue i may have proceeded further in identifying the various paths which are visible can be done from GUI the web client by clicking on the proper storage adapter for software based ISCI it was vmhba33 or can be done from command line.

Few Commands which can help us to troubleshoot this issue from command line are listed below.


Above command helps us identify the mapping between HBA and the Storage device that it provides paths to.

Above command can help us to perform quick rescan so as to see the proper LUN.

For more information refer VMware vSphere Documentation

Tuesday 15 March 2016

Storage I/O Control

Storage I/O Control Overview

  • SIOC is a method to ensure that the VM's on datastore get a fair share of I/O resources during the period of high contention or latency.
  • Important Virtual Machines get preferences when compared to less important Virtual Machines for I/O resource allocation.
  • Can be used both with and without Storage DRS as it includes two different thresholds i.e Standalone without DRS and with vSphere Storage DRS.
  • SIOC is aware about the average latency, active VM's and also the priorities associated with them.
  • Quite Similar to the concept used by DRS for CPU/Memory the higher the shares value higher the resources it get.
  • vCenter is only used for enabling and disabling the feature and for changing the thresholds.

SIOC Requirements

  • SIOC is supported on FC,ISCSI, and NFS not supported with Raw Device Mapping (RDM)
  • vSphere Enterprise Plus License.
  • Datastore which are SIOC enabled must be managed by single vCenter Server.

How It Works?

  • To configure the vSphere SIOC enable it for the particular datastore as it is disabled by default.
  • Set the number of storage I/O shares for each VM's and limit for IOPS by default the limit is unlimited.
  • Once Enabled ESXi starts monitoring the latency when communicating with the datastore and if it exceeds the threshold value means it's congested
  • SIOC uses Workload Injector Based Model and only runs when the datastore is in an ideal state.
  • It automatically determines the latency, moreover this can also be overridden by specifying specific latency value.
  • Automatic detection works well when you have multiple disk arrays and many datastore are configured for SIOC.

For More information refer vSphere Documentation Center

Friday 11 March 2016

VMware vCloud Air Hybrid Cloud Manager

While going through one of my recent class of vCloud Director specially when was talking about vCloud Connector i got a question related to Hybrid Cloud Manager. I Answered the question and thought of dedicating a post in my blog related to the same.

Q- How Hybrid Cloud Manager Differs from vCloud Connector? In other words what are the functionalities of vCloud Connector and Hybrid Cloud Manager.

So let's start with vCloud Connector and then will try and understand Hybrid Cloud Manager.

vCloud Connector
  • Available as appliance which is a Tomcat Server and has embedded Postrges database.
  • Provides unified view across Private and Public cloud.
  • UI is available with Browser Based Plugin for Web Client.
  • Uses vCloud API to deal with Private and Public Cloud.
  • Uses VIM API to deal with vCenter Server.
  • Compatible with vCloud Air, vCloud Director.

Hybrid Cloud Manager
  • vCloud Air Hybrid Cloud Manager enables bidirectional virtual machine mobility and migration to the cloud and back.
  • Can stretch multiple Layer 2 segments.
  • Hybrid Cloud Manager service available as a virtual appliance and configured as a plug-in for the on-premises vCenter.
  • Can stretch multiple Layer 2 segments.
  • Network extension, WAN optimization, Multi-tenant WAN with Intelligent Routing, and path fail-over.