Archives For cloud

(Pssst…If you still haven’t tried Windows Azure what are you waiting for? Let me give you some encouragement. How about 90 days for free on me. Just go here to learn more.)

If you live in or around Cincinnati I invite you to attend next week’s Windows Azure IaaS Bootcamp. If you aren’t close to Cincinnati find a location closer to you here.

Whether you build apps or support the infrastructure that runs the apps, the cloud can be a really big place. For some, it’s a natural evolution for their application and infrastructure to embrace the power and scale of the cloud. For others, it’s a journey that has to begin with a single step.

Windows Azure provides that first step with a scalable, flexible platform for deploying your applications your way. With our Infrastructure as a Service platform (IaaS) called Windows Azure Virtual Machines, you get the flexibility to choose between Windows and Linux with full control over the operating system configuration and installed software, matched with the portability of Hyper-V disk images. Windows Azure Virtual Machines provide the perfect environment for meeting all of your Infrastructure-as-a-Service needs.

To learn more about our Infrastructure as a Service platform, we invite all developers and IT Professionals to join local Microsoft cloud experts as they introduce you to the Microsoft Cloud Platform, dive deep into Windows Azure Virtual Machines, and help walk you through a hands-on demonstration of the power of IaaS on the Windows Azure platform.

You can register for the event here.

Session Requirements

Be sure to bring a modern laptop that is capable of running the following to make the most of your time at the Bootcamp:

The lab portion of this exercise will require you to connect to the Windows Azure Portal via a modern web browser where you will provision three separate virtual machines in the cloud and configure them each via a Remote Desktop client connection. The lab materials are all online, so no special software is required to install or use them.

If you want to work on other labs while you’re here, you might also want to install the various tools and frameworks that are part of the Windows Azure SDK. Check out various downloads here. Installers are available on that site for Windows, Mac and Linux platforms. Details on system requirements for those SDKs can be found by following that link.

All participants registering for the event will get a FREE 90-day trial of the Windows Azure platform and services, including access to the Virtual Machines preview.

All participants that successfully complete the lab and demonstrate their running application to the instructor will be put into a drawing for some amazing prizes!

Seriously? You still haven’t tried Windows Azure? No worries, I can help you with that! For a free 90 day trial just go here.

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!

(Pssst…If you still haven’t tried Windows Azure what are you waiting for? Let me give you some encouragement. How about 90 days for free on me. Just go here to learn more.)

If you live in or around Indianapolis, IN I invite you to attend next week’s Windows Azure IaaS Bootcamp. If you aren’t close to Indianapolis find a location closer to you here.

Whether you build apps or support the infrastructure that runs the apps, the cloud can be a really big place. For some, it’s a natural evolution for their application and infrastructure to embrace the power and scale of the cloud. For others, it’s a journey that has to begin with a single step.

Windows Azure provides that first step with a scalable, flexible platform for deploying your applications your way. With our Infrastructure as a Service platform (IaaS) called Windows Azure Virtual Machines, you get the flexibility to choose between Windows and Linux with full control over the operating system configuration and installed software, matched with the portability of Hyper-V disk images. Windows Azure Virtual Machines provide the perfect environment for meeting all of your Infrastructure-as-a-Service needs.

To learn more about our Infrastructure as a Service platform, we invite all developers and IT Professionals to join local Microsoft cloud experts as they introduce you to the Microsoft Cloud Platform, dive deep into Windows Azure Virtual Machines, and help walk you through a hands-on demonstration of the power of IaaS on the Windows Azure platform.

You can register for the event here.

Session Requirements

Be sure to bring a modern laptop that is capable of running the following to make the most of your time at the Bootcamp:

The lab portion of this exercise will require you to connect to the Windows Azure Portal via a modern web browser where you will provision three separate virtual machines in the cloud and configure them each via a Remote Desktop client connection. The lab materials are all online, so no special software is required to install or use them.

If you want to work on other labs while you’re here, you might also want to install the various tools and frameworks that are part of the Windows Azure SDK. Check out various downloads here. Installers are available on that site for Windows, Mac and Linux platforms. Details on system requirements for those SDKs can be found by following that link.

All participants registering for the event will get a FREE 90-day trial of the Windows Azure platform and services, including access to the Virtual Machines preview.

All participants that successfully complete the lab and demonstrate their running application to the instructor will be put into a drawing for some amazing prizes!

Seriously? You still haven’t tried Windows Azure? No worries, I can help you with that! For a free 90 day trial just go here.

(Pssst…If you still haven’t tried Windows Azure what are you waiting for? Let me give you some encouragement. How about 90 days for free on me. Just go here to learn more.)

If you live in or around Austin, TX I invite you to attend next week’s Windows Azure IaaS Bootcamp. If you aren’t close to Austin, TX find a location closer to you here.

Whether you build apps or support the infrastructure that runs the apps, the cloud can be a really big place. For some, it’s a natural evolution for their application and infrastructure to embrace the power and scale of the cloud. For others, it’s a journey that has to begin with a single step.

Windows Azure provides that first step with a scalable, flexible platform for deploying your applications your way. With our Infrastructure as a Service platform (IaaS) called Windows Azure Virtual Machines, you get the flexibility to choose between Windows and Linux with full control over the operating system configuration and installed software, matched with the portability of Hyper-V disk images. Windows Azure Virtual Machines provide the perfect environment for meeting all of your Infrastructure-as-a-Service needs.

To learn more about our Infrastructure as a Service platform, we invite all developers and IT Professionals to join local Microsoft cloud experts as they introduce you to the Microsoft Cloud Platform, dive deep into Windows Azure Virtual Machines, and help walk you through a hands-on demonstration of the power of IaaS on the Windows Azure platform.

You can register for the session here.

Session Requirements

Be sure to bring a modern laptop that is capable of running the following to make the most of your time at the Bootcamp:

The lab portion of this exercise will require you to connect to the Windows Azure Portal via a modern web browser where you will provision three separate virtual machines in the cloud and configure them each via a Remote Desktop client connection. The lab materials are all online, so no special software is required to install or use them.

If you want to work on other labs while you’re here, you might also want to install the various tools and frameworks that are part of the Windows Azure SDK. Check out various downloads here. Installers are available on that site for Windows, Mac and Linux platforms. Details on system requirements for those SDKs can be found by following that link.

All participants registering for the event will get a FREE 90-day trial of the Windows Azure platform and services, including access to the Virtual Machines preview.

All participants that successfully complete the lab and demonstrate their running application to the instructor will be put into a drawing for some amazing prizes!

Seriously? You still haven’t tried Windows Azure? No worries, I can help you with that! For a free 90 day trial just go here.

(Pssst…If you still haven’t tried Windows Azure what are you waiting for? Let me give you some encouragement. How about 90 days for free on me. Just go here to learn more.)

Whether you build apps or support the infrastructure that runs the apps, the cloud can be a really big place. For some, it’s a natural evolution for their application and infrastructure to embrace the power and scale of the cloud. For others, it’s a journey that has to begin with a single step.

Windows Azure provides that first step with a scalable, flexible platform for deploying your applications your way. With our Infrastructure as a Service platform (IaaS) called Windows Azure Virtual Machines, you get the flexibility to choose between Windows and Linux with full control over the operating system configuration and installed software, matched with the portability of Hyper-V disk images. Windows Azure Virtual Machines provide the perfect environment for meeting all of your Infrastructure-as-a-Service needs.

To learn more about our Infrastructure as a Service platform, we invite all developers and IT Professionals to join local Microsoft cloud experts as they introduce you to the Microsoft Cloud Platform, dive deep into Windows Azure Virtual Machines, and help walk you through a hands-on demonstration of the power of IaaS on the Windows Azure platform.

Date City
March 5, 2013 Austin, TX Register
March 6, 2013 Indianapolis, IN Register
March 12, 2013 Cincinnati, OH Register
March 13, 2013 Houston, TX Register
March 19, 2013 St. Louis, MO Register
March 21, 2013 Chicago, IL Register
April 4, 2013 Nashville, TN Register
April 9, 2013 Edina, MN Register

Session Requirements

Be sure to bring a modern laptop that is capable of running the following to make the most of your time at the Bootcamp:

The lab portion of this exercise will require you to connect to the Windows Azure Portal via a modern web browser where you will provision three separate virtual machines in the cloud and configure them each via a Remote Desktop client connection. The lab materials are all online, so no special software is required to install or use them.

If you want to work on other labs while you’re here, you might also want to install the various tools and frameworks that are part of the Windows Azure SDK. Check out various downloads here. Installers are available on that site for Windows, Mac and Linux platforms. Details on system requirements for those SDKs can be found by following that link.

All participants registering for the event will get a FREE 90-day trial of the Windows Azure platform and services, including access to the Virtual Machines preview.

All participants that successfully complete the lab and demonstrate their running application to the instructor will be put into a drawing for some amazing prizes!

Seriously? You still haven’t tried Windows Azure? No worries, I can help you with that! For a free 90 day trial just go here.

Prior to June Windows Azure had been strictly a Platform-as-a-Service, or PaaS, environment which presented numerous challenges to those interested in running their existing applications in Microsoft’s data centers. In working with a number of clients I often found that the effort and cost required to make existing applications capable of running in a PaaS environment outweighed the cost savings of running in the Windows Azure data centers. As a result, many customers decided keep their apps on-premises.

With the June update to the Windows Azure platform Microsoft introduced its Infrastructure-as-a-Service or IaaS offering called Windows Azure Virtual Machines. Here’s an overview of the offering

Windows Azure Virtual Machine enables you to create a server in the cloud that you can control and manage. After you create a virtual machine in Windows Azure, you can delete and re-create it whenever you need to, and you can access the virtual machine just like any other server. You can use a virtual machine in Windows Azure to deploy the Windows Server 2008 R2 or multiple distributions of Linux operating systems. The virtual hard disk (VHD) that you deploy in a virtual machine can contain customized settings and your applications, which provides a robust platform for developing or migrating your application solutions. You can create multiple virtual machines and then load-balance traffic between them, and you can connect virtual machines to other Windows Azure cloud services running web roles and worker roles.

Source: http://msdn.microsoft.com/en-us/library/windowsazure/jj156003.aspx

Windows Azure Virtual Machines allows customers to essentially “uplift” their existing applications to the Windows Azure environment using virtual hard disks that they have complete control over. This means many applications don’t have to be rewritten; they can simply be moved to the Windows Azure environment as is.

I decided to play around with this concept and host my own web application on Windows Azure Virtual Machine. The first thing I did was to go into the portal and create the virtual machine (vm) selecting the release candidate of Windows Server 2012 as the operating system. Once the vm was up and running I used remote desktop to gain access to the server and enable the Web Server role, which includes things like IIS. Once the role was enabled I tried navigating to the server in my browser only to be greeted with this:

azure-vm-endpoints-00-no-page-for-you

Well, that was obviously not what I was hoping for. My first thought was that I needed to update the firewall on the server to allow traffic in on port 80. I returned to my remote desktop session and popped open the firewall only to discover that inbound rules were already in place for tcp traffic coming in on ports 80 (http) and 443 (https). What to do, what to do? I spent about an hour fiddling with the server with the same result, so I decided to walk away and attack the problem later.

Later that evening it dawned on me that the issue wasn’t with the server, it was with the server’s configuration in Windows Azure. I quickly navigated to http://manage.windowsazure.com, selected my virtual machine and clicked on ENDPOINTS. Here’s what I saw:

azure-vm-endpoints-01-one-endpoint

See the problem? I only had one endpoint configured to allow inbound remote desktop traffic. If I wanted to allow traffic over port 80 (http) I needed to created another endpoint. Here’s what I did.

First, I clicked the ADD ENDPOINT button at the bottom of the page

azure-vm-endpoints-02-add

Then I selected Add endpoint and click the arrow on the bottom left of the page

azure-vm-endpoints-03-add-step-01

Next I gave my endpoint a name, specified the protocol (you’ll want to use TCP), then specified the port. Since I want to server all http requests off of the default port I used port 80.

azure-vm-endpoints-04-add-step-02

I then waited for the endpoint to be configured

azure-vm-endpoints-05-endpoint-ready

I then used by browser to navigate to the server again where I was greeted with this

azure-vm-endpoints-06-good-to-go

Success!

Hope it helps.

ag

Having worked with the Windows Azure Platform since 2008 it’s easy to forget some of the initial hurdles I ran into and assume that others won’t have the same challenges. Of course, any time you assume anything you risk being wrong. Rather than assume you won’t run into the issues I did, I thought it would be good to review some of the lessons I’ve learned over the years and share what I’ve learned. In the first lesson I wrote about Windows Azure billing. In this lesson, I’ll look at running multiple web sites with Windows Azure.

Many people I talk to who are interested in using Windows Azure to host their web sites, but don’t know much about the platform tell me something like this:

“Well, we’ve looked at using Windows Azure, but the annual cost to host our four web sites is way more than we’re paying with our current hosting provider.”

To which I reply:

“OK. Let’s take a look at how you determined your Windows Azure cost.”

We’ll spend some time white boarding the solution they’ve put together, and it typically looks something like this:

azure-mult-sites-00-initial-solution

In this case, we have a company that has four web sites. The company thinks that they need to run each web site in it’s own web role, and that they need to have at least two instances of each web role to get guaranteed SLA’s from Microsoft. The math to determine monthly costs from the company’s perspective is pretty simple:

Sites

 

Servers/Site

 

Hours

 

Rate/Hour

 

Total

4

x

2

x

720

x

$0.12

=

$691.20

In fact, if we use the Windows Azure pricing calculator, we get the same thing:

azure-mult-sites-01-cost

At nearly $700/month it’s hard to argue against the client’s case that Windows Azure is just too expensive. It’s at this point in the conversation I’ll ask this question:

“Did you know you can run multiple web sites in a single web role?”

I’ll then take to the whiteboard and draw something along these lines:

azure-mult-sites-02-alt-a

I’ll then do the math:

Servers

Hours

Rate/Hour

Total

2

x

720

x

$0.12

=

172.80

As well as verify using the Windows Azure pricing calculator

azure-mult-sites-04-alt-a-cost

This will usually raise some eyebrows. The Windows Azure champions at the client will say:

“See! I told you we could save money! Let’s do it now!”

That statement is usually tempered by someone else in the room who will respond with:

Well, that’s nice and all, but we don’t want traffic from our marketing site affecting performance of our other sites.”

Based on the last requirement of not letting the marketing site affecting the other sites, we can use a deployment that looks like this:

azure-mult-sites-03-alt-b

The math:

Servers

Hours

Rate/Hour

Total

4

x

720

x

$0.12

=

345.60

As well as verify using the Windows Azure pricing calculator

azure-mult-sites-05-alt-b-cost

What’s the point of all this? Simple, Windows Azure isn’t a one size fits all solution. You can mold the platform to your needs rather than having to retrofit an exiting solution to the demands of the platform. As a result, it’s very easy to slice and dice your applications to get the performance and scalability your business needs while keeping costs in line.

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.

{Analysis}

Amazon

Apple

Cloud Foundry

Force.com

Microsoft

Rackspace

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.