When Microsoft announced Windows Azure Web Sites I was lucky to rapidly gain access to the preview, which led me to write a preliminary Windows Azure Web Sites Review.
Initially I was confused about the ideas behind Windows Azure Web Sites, because Cloud Services give me a finer grain control over various aspects of the Instances. Cloud Services also provide Production and Staging environments, which are not available in Windows Azure Web Sites. To top it off, Windows Azure Web Sites lack Remote Desktop connectivity. I must admit that in the beginning, I had a hard time finding reasons to choose Windows Azure Web Sites over Cloud Services (PaaS).
Windows Azure Web Sites, started off as being perfect for deployments that didn’t require custom windows configurations and were perfect for teams who don’t use Visual Studio. By greatly abstracting away the concept of Roles, it opened up the platform to a greater audience and most importantly Windows Azure Web Sites consume other Windows Azure services like Windows Azure Storage Services.
Almost a year later, Windows Azure Web Sites has grown up and above all, I am now a true believer! In June 2013, Standard (formerly named reserved) and Free tiers have both graduated from Preview to General Availability (GA) and are backed by the standard 99.9% monthly SLA. The Shared tier remains in preview with not charges.
Windows Azure Web Sites have come a long way!
Microsoft has been hard at work and they’ve drastically reduced the complexity associated with deploying Web Sites. They introduced many different deployment options include FTP, Git, GitHub, Bitbucket, CodePlex, TFS, and DropBox. When it comes down to it, Windows Azure Web Sites gets your web site online as fast and as easily as possible.
Continuous Integration is often overlooked because it’s usually not trivial to setup. Windows Azure Web Sites makes this a breeze and there’s absolutely no reason not to set it up. Furthermore, the benefits associated with Continuous Integration out number the arguments against it. I will not list them all here but I would like to bring the following to your attention. Continuous Integration can be used as a tool that drives your relationship with your end users. By rapidly making new features available to your audience, you are engaging in a dialog which can generate a fair amount of feedback. Consequently, you can find out early in a feature’s development life cycle if its a hit or if its miss. In the end, this valuable information will allow you to make the right choices and even correct adapt or change your feature if you miss the mark.
Windows Azure Web Sites do not have staging environments like the Cloud Services and this is where Continuous Integration really shines. Using Continuous Integration to deploy your web site provides you with the ability to rollback to previous versions of your application. This is an invaluable feature! Failed deployments can be rolled back in a matter of minutes!
Imagine a client with no prior knowledge of maintaining a production environment or deploying through an FTP. This client can use Drop Box to deploy a Web Site that was developed by an external company. To deploy a new version of his web site, the client takes the received package and unzips the contents into his own Drop Box. Then through the Windows Azure Management Portal, the client is able to deploy the new version of his Web Site.
Every time, a web site is deployed through Drop Box, Windows Azure Web Sites stores a backup copy in its own GIT repository. If for some reason the client’s deployment goes horribly wrong, they can instantly rollback to the previous version, greatly limiting the down time.
Web sites, have been updated quite a fee times in the past year. The latest update bring support for auto scaling. This in itself ,is just one more way that Microsoft is making Windows Azure Web Sites so interesting.
In the past year I have seen Windows Azure Web Sites grow up from being an IIS Virtual Directory on demand to being a corner stone for many applications! The following features are amazing and make my life a whole lot simpler!
- SSL support (SNI or IP based SSL)
- Independent site scaling
- Auto Scaling (Preview)
- Memory dumps for debugging
- Support for 64 bit processes
- Supports ASP.NET, PHP, Node.js, Python and Classic ASP
- Supports SQL Database, MySQL or noSQL solutions from the Windows Azure Store.
- Supports popular open source applications, frameworks and templates including WordPress, Umbraco, DotNetNuke, Drupal, Django, CakePHP and Express
- Move existing web applications with few or no code changes
- Quickly publish, manage and configure all of your web applications from inside Visual Studio
- Pay only for what you use!
- Access key Windows Azure services such as Active Directory, SQL Database and Service Bus
- Simple Monitoring & Diagnostics
– Application Logging (File System / Storage)
– Web Server Logging
– Detailed Error Messages
– Failed Request Tracing
– Web Endpoint Monitoring (Preview) for availability and Ping time from external endpoints - Easy management of application settings through the Management Portal
- Supports custom domain names
My guess is that we’re only witnessing the beginning, Microsoft is hard at work and features keep making their way to production! Be sure to keep a close eye on Windows Azure Web Sites, because this service is shaping into something very interesting for various scenarios like SharePoint and Office 365 extensions. They’re versatile an open doors to many possibilities!
If you’re using Windows Azure Web Sites, I’m very curious to know about your experiences and how you are using this amazing service.