# Wednesday, May 25, 2011

Now you can now use remote desktop to access the virtual machine running your Windows Azure role (Web, worker or the new VM role). 

Assuming you have the latest Azure SDK 1.4, here are the steps necessary to use remote desktop in Azure:
1.    Obtain (or create) a Personal Information Exchange certificate.
2.    Upload the certificate to the Hosted Service in Windows Azure.
3.    Using Visual Studio, publish your Azure role and configure the virtual machines for remote desktop connections (using the certificate).
4.    Connect to the virtual machine once the instance is deployed and running.

azure SDK

1. Creating the certificate

There are a couple of ways to create a PFX certificate.

you can do this via your Visual Studio while creating a project.

 

deploy image1RDPImage1

View Certificatecertificate

certificate1Certificate export1

Certificate export2Certificate export3

Certificate export4Certificate export5

 

Certificate export6Certificate export7

2. Create the Hosted Service and Upload the Certificate
At this point, you are ready to create the hosted service and upload you certificate that will allow remote desktop connections.  In this example, the hosted service and certificate will be created using the Windows Azure Portal.
Create the Hosted Service
Sign into the Windows Azure Portal (windows.azure.com) using your Windows Live ID (assuming you have a Windows Azure account).  Once logged in, request to create a new hosted service.  When you create the hosted service in Azure, you are not yet deploying code into the cloud.  You just need to create the hosted service shell to hold the new certificate.  So, when you create the service, make sure you select the "Do not deploy" radio button (shown below) on the Create a New Hosted Service entry form

Create hosted service

 

2. Upload the certificate
With the hosted service created (but the application role(s) not yet deployed), upload the certificate you created in step 1.  In the Hosted Services listing, click on the Certificates folder listed under your new hosted service and then click on the Add Certificate button that displays on the top of the portal page (see example below)

add certificateprivate key password

certificate file and private key password .When you browse to the location of the certificate in your filesystem, you will notice the portal UI constrains your selection to .pfx file types

certificate pathOnce you select your PFX file and enter your password, it takes only a few seconds for the Windows Azure Portal to create and associate you certificate to your hosted service.  The certificate should now be listed under Certificates for the hosted service.

3.  Create the Role(s) and configure the Virtual Machine
Create your Cloud Project
Now the Azure host environment is prepped for remote desktop enabled roles.  The next task is to create your role(s) and configure the virtual machine instances than run those roles for remote desktop connections.  For example sake, I created a new cloud project with a single Web role

solution ExplorerOnce your application has been constructed and tested and is ready to be deployed, right click on the cloud project and request to Publish... the project from the resulting menu (just as you normally would for any Azure Cloud application.

When the Deploy Windows Azure project window comes up, select/enter your hosted service credentials, deployment environment (the new hosted service you just created in the last step),  the deployment label and then, importantly, click on the "Configure Remote Desktop connection" link shown at the bottom of the window (see below).

 

 

deploy image1

publish

Configure Remote Desktop Configuration
In the prompt that results, check the "Enable connection for all roles" checkbox.  Then select the certificate used for the remote connection .  Complete the entries in the Remote Desktop Configuration dialog.  Enter the username and password that you want to use to authenticate when you make a remote desktop connections into the virtual machine that will host your role(s).  The password must meet certain complexity requirements (it must contain a combination of capital letters, lower case letters, and numbers or symbols - the window will tell you if your password does not comply).  Also indicate the account expiration date.  After this date specified, remote desktop connections will be blocked.  This allows deployers/administrators to establish a small window of time whereby developers can remote in and configure/check on the roles, but then lock them out after things are running properly.

username and pwHit the OK button on the Remote Desktop Configuration dialog window and then again on the Deploy Windows Azure project window to complete the deployment. 

 

4. Make a Remote Desktop Connection
As always, it takes Visual Studio and Azure a few minutes to deploy and start your role(s).  Once your role(s) is up and running, you should now be able to remote desktop into the virtual machine running your instance(s).  First, you might notice that if you click on your roles listed in the Hosted Services display, the Azure portal indicates those that are are remote-desktop enabled via the Remote Access icons and indicators now enabled at the top of the page (see below)enable remote desktop

You can use the Enable checkbox to instantly turn off remote desktop connections.  Use the configure button to change the username, password, expiration time or certificate used as part of the connection.
When you click on one of the remote-desktop-enabled role instances, the Connect icon becomes enabled in the portal display.

You might be wondering why you have to select a role instance?  Remember, you make a remote desktop connection to a virtual machine running a role and there may be (and probably will be) several instances for any role.  Pick the instance whose virtual machine you want to connect.save RDP
To make a remote desktop connection, having picked one of the role instances, simply click the Connect icon in the portal icon bar at the top of the display.  This causes a few pop-ups to appear.  First a File Download popup (the Remote Desktop Connection file) appears.  Push the Open button on this prompt

 

 

warn messageNext comes a security warning.  Push the Connect button on this prompt (since your certificate is not signed).

 

Finally, you are prompted to sign-in to the virtual machine through the Windows Security popup.  Enter the username and password you created in step 3 above (when you configured your role for remote desktop connections) and press OK to login remotely.  Importantly, when you first login, proceed your username with a "\" indicating no Domain

windows security

A final security alert window requires you acknowledge the warning by pushing the Yes button. 

Once authenticated, you should be be provided with a remote desktop screen just as if you connected to server in your data center.  The tip off that you are connected to Azure can be seen both in the remote desktop window's label (note the GUID and URL) and the background image that indicates the copy of Windows "is not genuine".

 

certificate warning

server

Thanks
E.Ravi

posted on Wednesday, May 25, 2011 5:54:00 PM (India Standard Time, UTC+05:30)  #    Comments [0]
# Monday, May 23, 2011

 

Basic Computing

Of note here, Azure can ONLY run Windows-based instances, at the moment. AWS is able to run Linux instances, which are cheaper than Windows instances ($0.10/hour for a small Linux instance).

Description

Windows Azure

Amazon Web Services

Notes

Compute per Hour

$0.12

$0.125

Small Windows instance used from AWS.

Storage per GB

$0.15

$0.15

AMZN has a decreasing cost model down to 0.12. http://aws.amazon.com/s3/#pricing

Storage Transactions/Requests per 10K

$0.01

$0.01

 

Bandwidth Inbound per GB

$0.10

$0.10

 

Bandwidth Outbound per GB

$0.15

$0.17

AMZN has a decreasing cost model down to 0.10. Http://aws.amazon.com/s3/#pricing

 

 

Database Operations

This is an area that is quite gray to me. Microsoft is offering SQL Azure which appears to be cheaper than even SimpleDB from AWS. It's not quite clear whether you are getting a full instance in SQL Azure, or simply a database.

Description

Windows Azure

Amazon Web Services

Notes

SQL Azure Web Edition per Month

$9.99

x

Up to 1GB relational DB

SQL Azure Business Edition per Month

$99.99

x

Up to 10GB relational DB

SQL Standard Large per Hour

x

$1.10

$1.35/hour with authentication services. $1.1*24 hours * 30 days = $792; $1.1*10*20=$220

SQL Standard Extra Large per Hour

x

$2.20

$2.70/hour with authentication services.

SQL Standard High CPU Extra Large per Hour

x

$2.40

$3.20/hour with authentication services.

SQL Azure Bandwidth Inbound per GB

$0.10

   

SQL Azure Bandwidth Outbound per GB

$0.15

   

AWS does offer SimpleDB, which is explained as, "Amazon SimpleDB provides a simple web services interface to create and store multiple data sets, query your data easily, and return the results. Your data is automatically indexed, making it easy to quickly find the information that you need. There is no need to pre-define a schema or change a schema if new data is added later. And scale-out is as simple as creating new domains, rather than building out new servers."

Below you will see time multiplied out for AWS with an instance running 24 hours, 365 days a year. You will also see pricing with an instance on 10 hours a day, 20 days a month (work week). By leveraging the persistent storage of S3, an instance does not need to be online 24 hours a day, assuming a cloud-ready solution is architected.

Description

Windows Azure

Amazon Web Services

Notes

AWS SimpleDB Free Tier

x

FREE

Free Tier. Free for FIRST 25 machine hours, 1GB of data transfer and 1GB of storage. In most Use Cases, 2M GET or SELECT API requests can be completed per month before incurring any usage charges.

AWS SimpleDB per Hour

x

$0.14

$.14*24*30 = $100.80. $.14*10*20=$28

AWS SimpleDB Bandwidth Inbound (first 1GB)

x

FREE

 

AWS SimpleDB Bandwidth Outbound

x

$0.17

AMZN has a decreasing cost model down to 0.10. Http://aws.amazon.com/simpledb/#pricing

AWS SimpleDB Structured Data Storage (first 1GB)

x

FREE

S3 should be used for files, large objects, etc. SimpleDB for metadata and pointers

AWS SimpleDB Structured Data Storage (post 1GB

x

$0.25

 

Message Queueing

AWS' Simple Queue Service (SQS) defines themselves as, "Amazon SQS works by exposing Amazon's web-scale messaging infrastructure as a web service. Any computer on the Internet can add or read messages without any installed software or special firewall configurations. Components of applications using Amazon SQS can run independently, and do not need to be on the same network, developed with the same technologies, or running at the same time."

Description

Windows Azure

Amazon Web Services

Notes

.Net Azure Services per 100K Requests

$0.15

$0.10

AWS Simple Queuing

.Net Azure Services Bandwidth Inbound per GB

$0.10

$0.10

AWS Simple Queuing Service

.Net Azure Services Bandidth Outbound per GB

$0.15

$0.17

AMZN has a decreasing cost model down to 0.10. http://aws.amazon.com/sqs/#pricing

       

Advanced Features

There are several features not yet available on the Azure platform. Most of these features revolve around global deployments, such as CloudFront, which is a webservice for global cloud delivery.

Description

Windows Azure

Amazon Web Services

Notes

AWS CloudFront Bandwidth Outbound per GB

N/A

$0.17

AMZN has a decreasing cost model down to 0.05. http://aws.amazon.com/cloudfront/#pricing

AWS CloudFront Requests per 100K GET

N/A

$0.10

Pricing used for US Edge Locations

AWS Elastic MapReduce per Hour

N/A

$0.12

AMZN has a decreasing cost model down to 0.05. http://aws.amazon.com/cloudfront/#pricing

This is simply a pricing comparison of each platform.

 

Thanks

E.Ravi

posted on Monday, May 23, 2011 12:44:14 PM (India Standard Time, UTC+05:30)  #    Comments [0]

http://loadstorm.com/


LoadStorm is a cloud load testing tool that generates web traffic for you.

Thanks
E.Ravi

posted on Monday, May 23, 2011 12:06:22 PM (India Standard Time, UTC+05:30)  #    Comments [0]