Archives For paas

This may have flown under your radar, but several weeks ago we (that’s the royal Microsoft WE) launched a new hub for Windows Azure on Channel 9. This hub serves as an index and entry point for all video content related to Windows Azure. Since the launch we have already made progress on building a video library to help developers get started learning Windows Azure. Introduction videos have been created for core services like Mobile Services, Web Sites, Cloud Services, and SQL Databases. This page also features three video series: Cloud Cover, Web Camps TV, and Subscribe!. Finally, this page highlights videos that have been recorded at events like BUILD and TechEd. I encourage you to check it out at http://channel9.msdn.com/WindowsAzure.

I think the introduction video series we created will be the most beneficial to you, especially if you’re new to Windows Azure. Below is a description of each series as well as direct links to each series.

Windows Azure Mobile Services Windows Azure Mobile Services
(14 videos)
This series is designed to help you learn about, and keep you up to date on, the latest from Windows Azure Mobile Services – a powerful turnkey backed for your Windows Store, Windows Phone 8 and iOS applications (Android coming soon).
Windows Azure Web Sites Windows Azure Web Sites
(4 videos)
Quickly and easily deploy sites to a highly scalable cloud environment that allows you to start small and scale as traffic grows. Use the languages and open source apps of your choice then deploy with FTP, Git and TFS. Easily integrate Windows Azure services like SQL Database, Caching, CDN and Storage. You can try out what you see in this series with 10 Web Sites for FREE!
Windows Azure Virtual Machines & Networking Windows Azure Virtual Machines & Networking
(4 videos)
Easily deploy and run Windows Server and Linux virtual machines. Migrate applications and infrastructure without changing existing code.
Windows Azure Storage & SQL Database Windows Azure Storage & SQL Database
(9 videos)
Windows Azure offers multiple services to help manage your data in the cloud. SQL Database, formerly known as SQL Azure Database, enables organizations to rapidly create, scale and extend applications into the cloud with familiar tools and the power of Microsoft SQL Server™ technology. Tables offer NoSQL capabilities at a low cost for applications with simple data access needs. Blobs provide inexpensive storage for data such as video, audio, and images.
Windows Azure Cloud Services Windows Azure Cloud Services
(8 videos)
This series is a mini online course that teaches you Windows Azure Cloud Services from beginning. We’ll start our cloud journey by setting up development environment, and then continue to explore some fundamental concepts of Windows Azure Cloud Services. The series builds a solid foundation for you to create highly-available, scalable applications and services using Windows Azure’s rich PaaS environment, and to deliver great SaaS solutions to customers anywhere around the world.
Windows Azure Media Services Windows Azure Media Services
(3 videos)
Create, manage, and distribute media in the cloud. With Windows Azure Media Services businesses can now quickly build a media distribution solution that can stream audio and video to Windows, iOS, Android, and other devices and platforms.
Windows Azure Service Bus Windows Azure Service Bus
(2 videos)
Applications and Services are increasingly connected and require integration across platform and network boundaries. Windows Azure Service Bus provides rich messaging and connectivity features for todays connected devices and continuous services. In this series learn about the latest improvements and features available and get in-depth guidance on how to implement rich messaging patterns with Windows Azure.

Be sure to stay tuned to the Windows Azure Hub on Channel 9 for new content!

The only secure computer is one that’s unplugged, locked in a safe, and buried 20 feet under the ground in a secret location… and I’m not event too sure about that one. – Dennis Huges, FBI

The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards – and even then I have my doubts. – Eugene Spafford, Purdue University Professor of Computer Science and Executive Director of CERIAS

As the above quotes indicate, and as you’re hopefully aware, simply by turning a computer on you open it up to risks. Connecting it to a network opens it up to even more risks. Connecting it to the internet opens it up to even greater risks still. Because of these risks it’s more important for you to consider the deployment topology of your applications and where the vulnerabilities lie. In this post I’ll talk about an enhancement made to Windows Azure SQL Database to give you finer grain control over who gain access your data.

When it comes to securing your Windows Azure SQL Databases, Microsoft has done some of the heavy lifting for you. Prior to the June update to the Windows Azure platform, you were able to secure your databases at the server level by specifying firewall rules. These rules filtered granted/denied connections based on the client’s IP address. The result was something like this:

 

sql-database-firewall-00-server-fw

You can configure these server levels rules in the portal. Alternatively, and much more to a DBA’s liking, you can also use some system views and stored procedures to view, create, update, and delete server firewall rules. These objects are available in your server’s master database. Here’s a rundown of what you can use:

  • System view sys.firewall_rules will display the server’s current firewall rules.
  • System extended stored procedure sys.sp_set_firewall_rule creates or updates a server-level firewall rule.
  • System extended stored procedure sys.sp_delete_firewall_rule deletes the specified server-level firewall rule.

While Windows Azure SQL Database server-level firewall rules were a good first step, they weren’t quite good enough. The problem is that server-level rules are an all-or-none proposition. If a client IP address has access to the server, then the client has access to any database on the server. Of course you can, and should, use SQL authentication to harden your databases, but that won’t prevent a decent hacker from trying to brute force his or her way into your database once server access is gained.

In the June update to the Windows Azure platform, Microsoft introduced another layer of security to SQL databases. This layer is the database firewall rule. With this level of security you can now filter traffic to specific databases on a given server based on client IP address. The result looks something like this:

sql-database-firewall-01-db-fw

In this scenario I’ve created a database-level firewall rule for database three. As a result, even if a client is able to access the server where database three resides, unless the client’s IP address is accounted for in the database-level firewall rules, the client will not be able to access the database.

Currently you cannot configure database-level firewall rules in the portal. However, just like server-level rules, you can take advantage of system views and stored procedures to view, create, update, and delete server firewall rules. These objects are available in your server’s master database. Here’s what you can use:

  • System view sys.database_firewall_rules will display the current firewall rules for databases on the server.
  • System extended stored procedure sys.sp_set_database_firewall_rule creates or updates a database-level firewall rule.
  • System extended stored procedure sys.sp_delete_database_firewall_rule deletes the specified database-level firewall rule.

It seems I get 5-6 emails per week asking me how to move an existing ASP.NET MVC Web application to the Windows Azure environment. I have a short list of steps I’ve been copying and pasting into my responses, but I thought I’d take a couple of minutes to expand on those bullet points and make my answer a little more permanent by putting it on my blog.

Step 1 – Make sure you have the latest Windows Azure SDK for .NET installed. You can get it here: https://www.windowsazure.com/en-us/develop/net/.

Step 2 – Open your ASP.NET MVC project in Visual Studio. Here’s what mine looks like:

azure-convert-00-initial-project

Step 3 – Add a Windows Azure Cloud Service to the solution

Here’s where we actually have to start doing some work.

First you’ll need to right-click on your solution and select Add and then select New Project

azure-convert-01-add-project

In the Add New Project dialog make sure the target framework is set to .NET Framework 4, select Cloud project types, then select Windows Azure Cloud Service, give the new project a name and click OK.

azure-convert-02-cloud-service

In the New Windows Azure Cloud Service dialog, don’t add any roles, just click OK.

azure-convert-03-roles

You should end up with a solution that looks something like this:

azure-convert-04-solution-with-service

You’ll want to make sure your Windows Azure Cloud Service project is set as the StartUp project for the solution. If the title of the Windows Azure Cloud Service project is bold in Solution Explorer you’re good to go. If it isn’t, simply right-click the project and select Set as StartUp Project.

azure-convert-05-startup-project

Step 4 – Adding a Web Role

We’re almost done. The last thing we need to do is associate our current ASP.NET MVC application with the Windows Azure Cloud Service project.

Start by right-click the Windows Azure Cloud Service project and selecting Add, then select Web Role Project in solution…

azure-convert-06-add-web-role

In the Associated with Role Project dialog, select your ASP.NET MVC project and click OK.

azure-convert-07-select-project

Your ASP.NET MVC application should now appear as a Role in your Windows Azure Cloud Service project.

azure-convert-08-final-solution

Run your application and note the URL.

azure-convert-09-url

If everything was done correctly, your URL should be http://127.0.0.1:81/. If it is your running in the Windows Azure Compute Emulator, which means you were successful!

If you’ve made it this far you know that there were really only two steps involved in the process, and those weren’t even that difficult. Keep in mind that just because it’s easy to convert your ASP.NET MVC application to a Windows Azure Cloud Service does not mean that it will just work in the Windows Azure environment. There are a number of things to consider when moving to the Windows Azure Platform as a Service (PAAS) model. For example, the Windows Azure environment is stateless, you need to understand the consequences of putting your application in a truly stateless environment. Questions to ask include:

  • How does your application manage session? If you’re using an in-process session state provider you’ll need to change your provider. Luckily there are a number of providers available to you that leverage a number of Windows Azure technologies from table storage to distributed caching.
  • How does your application store persistent data? If you’re using local disk you’ll need to make some changes as Windows Azure disks are volatile. These means that any data you write to disk is not guaranteed to be there if the virtual machine is rebooted.

Of course there are number of other things to consider from third party components required by your application, to dependencies on other systems and services that do not reside in the Windows Azure data centers, to geopolitical regulations regarding where data can and cannot reside. The point of this post was to help you get started taking your existing application to the cloud.

Now for a few bonus points:

*Bonus – you may have noticed I’m using the release candidate of Visual Studio 2012. The steps above also work with Visual Studio 2010.

*Double Bonus – these steps work for versions 3 and 4 of ASP.NET MVC.

*Triple Bonus – these steps also work for ASP.NET Web Forms applications.

*Quadruple Bonus – these steps also work for ASP.NET web sites hosting WCF services.

{Analysis}

Amazon

Cloud Foundry

Eucalyptus

Force.com

Google

Microsoft

Rackspace

{Analysis}

Google

Microsoft

Rackspace

{Analysis}

Amazon

Apple

Cloud Foundry

Eucalyptus

Force.com

Microsoft

Rackspace

(A bit of slow week this week due to the July 4th holiday in the States)

{Analysis}

Apprenda

Cloud Foundry

Eucalyptus

Google

Microsoft

Rackspace

With prior versions of the Windows Azure SDK for .NET any time you opened a Windows Azure Cloud Service project after upgrading the Windows Azure SDK for .NET on your development machine, Visual Studio would automatically start the Visual Studio Conversion Wizard to upgrade the project. The June 2012 version of the SDK does not perform this automatic conversion for you. If you want to convert your Windows Azure Cloud Service projects from an older version of the SDK to the latest release here’ s what you’ll need to do:

Step 0: Install the latest version of the Windows Azure SDK for .NET. You can get it here.

Step 1: Open the solution that contains your Windows Azure project in Visual Studio.

Step 2: Right click on the Azure project (not the web and/or worker role projects) you want to upgraded and click Properties.

upgrade-azure-proj-01

Step 3: You should see the following screen that lets you know your running an older version of the Windows Azure SDK. In my case I was running the November 2011 release, but your scenario may be different. Click the Upgrade… button.

upgrade-azure-proj-02

Step 4: Your Windows Azure project will be unloaded and the Visual Studio Conversion Wizard will start. Click Next.

upgrade-azure-proj-03

Step 5: Create a backup of the project, if you want to, and click Next.

upgrade-azure-proj-04

Step 6: A summary page will display. Click Finish.

upgrade-azure-proj-05

Step 7: After the conversion is complete click Close.

upgrade-azure-proj-06

Step 8: To verify the conversion, right click on the Windows Azure project and click Properties (like in step 2 above). The Windows Azure Tools version should now read June 2012.

upgrade-azure-proj-07

Hope this helps!

ag

If you follow this blog or Windows Azure news in general you already aware that one of the new features available with the June 2012 release of the Windows Azure Platform is Virtual Machines. Windows Azure Virtual Machines enable you to easily deploy and run Windows Server and Linux virtual machines in minutes. One of the great features available with Windows Azure virtual machines is the ability to custom your VM and then capture the image so that you can create new VM’s based on your own specific needs. In this post I’ll show you how to do just that.

Step 0: Create a Windows Azure Virtual Machine. See this post for instructions how to do so.

Step 1: Log in to the new Windows Azure management portal at http://manage.windowsazure.com.

Step 2: Click VIRTUAL MACHINES.

Step 3: Select the virtual machine you want to creatable a reusable image of.

Step 4: Click CONNECT at the bottom of the page and login to the RDP session with the credentials you specified as part of the virtual machine creation process.

Step 5: Once the RDP session has started we need to SysPrep the machine. Open a command prompt as an administrator and enter the following command cd %windir%\system32\sysprep to change to the sysprep directory.

Step 6: Enter sysprep.exe to launch the SysPrep utility.

Step 7: Select Enter System Out-of-Box Experience (OOBE) for the System Cleanup Action and ensure the Generalize checkbox is checked. Also select Shutdown for Shutdown Options.

Step 8: Wait until the virtual machine has stopped running.

Step 9: Click the CAPTURE button at the bottom of the page.

Step 10: Enter a name for your image, click the I have sysprepped this virtual machine checkbox and click the checkmark on the bottom right of the page.

Step 11: Once the image is created you can see it by click the IMAGES link at the top of the page.

Step 12: To create a new VM based on your custom image click the NEW button at the bottom of the page.

Step 13: Click VIRTUAL MACHINE.

Step 14: Click FROM GALLERY.

Step 15: Click MY IMAGES and you should see your new image on the page. Select it and continue to configure the virtual machine as you would any other Windows Azure virtual machine.

I also created a screencast that walks you through the steps above. To view it, just click on the image below.

Happy clouding!

ag

{News and Analysis}

Amazon

Apprenda

Eucalyptus

Microsoft

Rackspace

ag