Windows Azure Cloud Connector Extension

Use Case

Elastically grow/shrink instances into cloud/virtualized environments. There are four use cases for the connector.

First, if the Controller detects that the load on the machine instances hosting an application is too high, the azure-connector-extension may be used to automate creation of new virtual machines to host that application. The end goal is to reduce the load across the application by horizontally scaling up application machine instances.

Second, if the Controller detects that the load on the machine instances hosting an application is below some minimum threshold, the azure-connector-extension may be used to terminate virtual machines running that application. The end goal is to save power/usage costs without sacrificing application performance by horizontally scaling down application machine instances.

Third, if the Controller detects that a machine instance has terminated unexpectedly when the connector refreshes an application machine state, the azure-connector-extension may be used to create a replacement virtual machine to replace the terminated application machine instance. This is known as our failover feature.

Lastly, the azure-connector-extension may be used to stage migration of an application from a physical to virtual infrastructure. Or the azure-connector-extension may be used to add additional virtual capacity to an application to augment a preexisting physical infrastructure hosting the application.

 

Generating Required Keys

  1. Create a Java keystore file using
    keytool -genkeypair -alias appdAlias -keyalg RSA -keystore KeyStore.jks -keysize 2048 -storepass "keypass"
  2. Create a Certificate file using keystore. We have to upload this certificate to Azure.
    keytool -v -export -file AppDCert.cer -keystore KeyStore.jks -alias appdAlias

Note: This version of the connector is not compatible with the previous version. If you already have an Azure connector in <controller install dir>/lib/connectors, dont replace the jars. Keep both the folders or remove the old azure folder.

 

Installation

  1. Download the file azure-connector_v1.zip into <controller install dir>/lib/connectors
  2. Unzip the downloaded file
  3. Restart the Controller
  4. Go to the controller dashboard on the browser. Under Setup->My Preferences->Advanced Features enable "Show Cloud Auto-Scaling features" if it is not enabled.
  5. On the controller dashboard click "Cloud Auto-Scaling" and configure the compute cloud and the image.

Click Compute Cloud->Register Compute Cloud. Refer to the image below

alt tag

Upload .jks file as 'Key Store'

Click Image->Register Image. Refer to the image below

alt tag

To launch an instance click the image created in the above step and click on Launch Instance. Refer to the image below

alt tag

 

Contributing

Always feel free to fork and contribute any changes directly via GitHub.

 

Support

For any support questions, please contact ace@appdynamics.com.

 

Version:

1.1

Compatibility:

3.7

Last Update:

08/28/2014

 

Release Notes:

1.0.1: Modified package to include soyatec jar in lib directory.

1.1: Removed soyatec jar and re-wrote the extension using Azure cloud sdk