This morning we released a major set of updates to Windows Azure. These updates included:
- Web Sites: General Availability Release of Windows Azure Web Sites with SLA
- Mobile Services: General Availability Release of Windows Azure Mobile Services with SLA
- Auto-Scale: New automatic scaling support for Web Sites, Cloud Services and Virtual Machines
- Alerts/Notifications: New email alerting support for all Compute Services (Web Sites, Mobile Services, Cloud Services, and Virtual Machines)
- MSDN: No more credit card requirement for sign-up
All of these improvements are now available to use immediately (note: some are still in preview). Below are more details about them.
Web Sites: General Availability Release of Windows Azure Web Sites
I’m incredibly excited to announce the General Availability release of Windows Azure Web Sites. The Windows Azure Web Sites service is perfect for hosting a web presence, building customer engagement solutions, and delivering business web apps. Today’s General Availability release means we are taking off the “preview” tag from the Free and Standard (formerly called reserved) tiers of Windows Azure Web Sites. This means we are providing:
- A 99.9% monthly SLA (Service Level Agreement) for the Standard tier
- Microsoft Support available on a 24x7 basis (with plans that range from developer plans to enterprise Premier support)
The Free tier runs in a shared compute environment and supports up to 10 web sites. While the Free tier does not come with an SLA, it works great for rapid development and testing and enables you to quickly spike out ideas at no cost.
The Standard tier, which was called “Reserved” during the preview, runs using dedicated per-customer VM instances for great performance, isolation and scalability, and enables you to host up to 500 different Web sites within them. You can easily scale your Standard instances on-demand using the Windows Azure Management Portal. You can adjust VM instance sizes from a Small instance size (1 core, 1.75GB of RAM), up to a Medium instance size (2 core, 3.5GB of RAM), or Large instance (4 cores and 7 GB RAM). You can choose to run between 1 and 10 Standard instances, enabling you to easily scale up your web backend to 40 cores of CPU and 70GB of RAM:
Today’s release also includes general availability support for custom domain SSL certificate bindings for web sites running using the Standard tier. Customers will be able to utilize certificates they purchase for their custom domains and use either SNI or IP based SSL encryption. SNI encryption is available for all modern browsers and does not require an IP address. SSL certificates can be used for individual sites or wild-card mapped across multiple sites (we charge extra for the use of a SSL cert – but the fee is per-cert and not per site which means you pay once for it regardless of how many sites you use it with).
Today’s release also includes the following new features:
Today’s Windows Azure release adds preview support for Auto-Scaling web sites. This enables you to setup automatic scale rules based on the activity of your instances – allowing you to automatically scale down (and save money) when they are below a CPU threshold you define, and automatically scale up quickly when traffic increases. See below for more details.
64-bit and 32-bit mode support
You can now choose to run your standard tier instances in either 32-bit or 64-bit mode (previously they only ran in 32-bit mode). This enables you to address even more memory within individual web applications.
Memory dumps can be very useful for diagnosing issues and debugging apps. Using a REST API, you can now get a memory dump of your sites, which you can then use for investigating issues in Visual Studio Debugger, WinDbg, and other tools.
Scaling Sites Independently
Prior to today’s release, all sites scaled up/down together whenever you scaled any site in a sub-region. So you may have had to keep your proof-of-concept or testing sites in a separate sub-region if you wanted to keep them in the Free tier. This will no longer be necessary. Windows Azure Web Sites can now mix different tier levels in the same geographic sub-region. This allows you, for example, to selectively move some of your sites in the West US sub-region up to Standard tier when they require the features, scalability, and SLA of the Standard tier.
Full pricing details on Windows Azure Web Sites can be found here. Note that the “Shared Tier” of Windows Azure Web Sites remains in preview mode (and continues to have discounted preview pricing).
Mobile Services: General Availability Release of Windows Azure Mobile Services
We’ve seen tremendous adoption of Windows Azure Mobile Services since we first previewed it last September, and more than 20,000 customers are now running mobile back-ends in production using it. These customers range from startups like Yatterbox, to university students using Mobile Services to complete apps like Sly Fox in their spare time, to media giants like Verdens Gang finding new ways to deliver content, and telcos like TalkTalk Business delivering the up-to-the-minute information their customers require. In today’s Build keynote, we demonstrated how TalkTalk Business is using Windows Azure Mobile Services to deliver service, outage and billing information to its customers, wherever they might be.
When we unveiled the source control and Custom API features I blogged about two weeks ago, we enabled a range of new scenarios, one of which is a more flexible way to work with third party services. The following blogs, samples and tutorials from our partners cover great ways you can extend Mobile Services to help you build rich modern apps:
- New Relic allows developers to monitor and manage the end-to-end performance of iOS and Android applications connected to Mobile Services.
- SendGrid eliminates the complexity of sending email from Mobile Services, saving time and money, while providing reliable delivery to the inbox.
- Twilio provides a telephony infrastructure web service in the cloud that you can use with Mobile Services to integrate phone calls, text messages and IP voice communications into your mobile apps.
- Xamarin provides a Mobile Services add on to make it easy building cross-platform connected mobile aps.
- Pusher allows quickly and securely add scalable real-time messaging functionality to Mobile Services-based web and mobile apps.
Visual Studio 2013 and Windows 8.1
This week during //build/ keynote, we demonstrated how Visual Studio 2013, Mobile Services and Windows 8.1 make building connected apps easier than ever.
Developers building Windows 8 applications in Visual Studio can now connect them to Windows Azure Mobile Services by simply right clicking then choosing Add Connected Service.
You can either create a new Mobile Service or choose existing Mobile Service in the Add Connected Service dialog. Once completed, Visual Studio adds a reference to Mobile Services SDK to your project and generates a Mobile Services client initialization snippet automatically.
Add Push Notifications
Push Notifications and Live Tiles are a key to building engaging experiences. Visual Studio 2013 and Mobile Services make it super easy to add push notifications to your Windows 8.1 app, by clicking Add a Push Notification item:
The Add Push Notification wizard will then guide you through the registration with the Windows Store as well as connecting your app to a new or existing mobile service.
Upon completion of the wizard, Visual Studio will configure your mobile service with the WNS credentials, as well as add sample logic to your client project and your mobile service that demonstrates how to send push notifications to your app.
Server Explorer Integration
In Visual Studio 2013 you can also now view your Mobile Services in the the Server Explorer. You can add tables, edit, and save server side scripts without ever leaving Visual Studio, as shown on the image below:
With today’s general availability release we are announcing that we will be offering Mobile Services in three tiers – Free, Standard, and Premium. Each tier is metered using a simple pricing model based on the # of API calls (bandwidth is included at no extra charge), and the Standard and Premium tiers are backed by 99.9% monthly SLAs. You can elastically scale up or down the number of instances you have of each tier to increase the # of API requests your service can support – allowing you to efficiently scale as your business grows.
The following table summarizes the new pricing model (full pricing details here):
You can find the full details of the new pricing model here.
Build Conference Talks
The //BUILD/ conference will be packed with sessions covering every aspect of developing connected applications with Mobile Services. The best part is that, even if you can’t be with us in San Francisco, every session is being streamed live. Be sure not to miss these talks:
AutoScale: Dynamically scale up/down your app based on real-world usage
One of the key benefits of Windows Azure is that you can dynamically scale your application in response to changing demand. In the past, though, you have had to either manually change the scale of your application, or use additional tooling (such as WASABi or MetricsHub) to automatically scale your application. Today, we’re announcing that AutoScale will be built-into Windows Azure directly. With today’s release it is now enabled for Cloud Services, Virtual Machines and Web Sites (Mobile Services support will come soon).
Auto-scale enables you to configure Windows Azure to automatically scale your application dynamically on your behalf (without any manual intervention) so you can achieve the ideal performance and cost balance. Once configured it will regularly adjust the number of instances running in response to the load in your application. Currently, we support two different load metrics:
- CPU percentage
- Storage queue depth (Cloud Services and Virtual Machines only)
We’ll enable automatic scaling on even more scale metrics in future updates.
When to use Auto-Scale
The following are good criteria for services/apps that will benefit from the use of auto-scale:
- The service/app can scale horizontally (e.g. it can be duplicated to multiple instances)
- The service/app load changes over time
If your app meets these criteria, then you should look to leverage auto-scale.
How to Enable Auto-Scale
To enable auto-scale, simply navigate to the Scale tab in the Windows Azure Management Portal for the app/service you wish to enable. Within the scale tab turn the Auto-Scale setting on to either CPU or Queue (for Cloud Services and VMs) to enable Auto-Scale. Then change the instance count and target CPU settings to configure the Auto-Scale ranges you want to maintain.
The image below demonstrates how to enable Auto-Scale on a Windows Azure Web-Site. I’ve configured the web-site so that it will run using between 1 and 5 VM instances. The exact # used will depend on the aggregate CPU of the VMs using the 40-70% range I’ve configured below. If the aggregate CPU goes above 70%, then Windows Azure will automatically add new VMs to the pool (up to the maximum of 5 instances I’ve configured it to use). If the aggregate CPU drops below 40% then Windows Azure will automatically start shutting down VMs to save me money:
Once you’ve turned auto-scale on, you can return to the Scale tab at any point and select Off to manually set the number of instances.
Using the Auto-Scale Preview
With today’s update you can now, in just a few minutes, have Windows Azure automatically adjust the number of instances you have running in your apps to keep your service performant at an even better cost.
Auto-scale is being released today as a preview feature, and will be free until General Availability. During preview, each subscription is limited to 10 separate auto-scale rules across all of the resources they have (Web sites, Cloud services or Virtual Machines). If you hit the 10 limit, you can disable auto-scale for any resource to enable it for another.
Alerts and Notifications
Starting today we are now providing the ability to configure threshold based alerts on monitoring metrics. This feature is available for compute services (cloud services, VM, websites and mobiles services). Alerts provide you the ability to get proactively notified of active or impending issues within your application. You can define alert rules for:
- Virtual machine monitoring metrics that are collected from the host operating system (CPU percentage, network in/out, disk read bytes/sec and disk write bytes/sec) and on monitoring metrics from monitoring web endpoint urls (response time and uptime) that you have configured.
- Cloud service monitoring metrics that are collected from the host operating system (same as VM), monitoring metrics from the guest VM (from performance counters within the VM) and on monitoring metrics from monitoring web endpoint urls (response time and uptime) that you have configured.
- For Web Sites and Mobile Services, alerting rules can be configured on monitoring metrics from monitoring endpoint urls (response time and uptime) that you have configured.
Creating Alert Rules
You can add an alert rule for a monitoring metric by navigating to the Setting -> Alerts tab in the Windows Azure Management Portal. Click on the Add Rule button to create an alert rule.
Give the alert rule a name and optionally add a description. Then pick the service which you want to define the alert rule on:
The next step in the alert creation wizard will then filter the monitoring metrics based on the service you selected:
Once created the rule will show up in your alerts list within the settings tab:
The rule above is defined as “not activated” since it hasn’t tripped over the CPU threshold we set. If the CPU on the above machine goes over the limit, though, I’ll get an email notifying me from an Windows Azure Alerts email address (firstname.lastname@example.org). And when I log into the portal and revisit the alerts tab I’ll see it highlighted in red. Clicking it will then enable me to see what is causing it to fail, as well as view the history of when it has happened in the past.
With today’s initial preview you can now easily create alerting rules based on monitoring metrics and get notified on active or impending issues within your application that require attention. During preview, each subscription is limited to 10 alert rules across all of the services that support alert rules.
No More Credit Card Requirement for MSDN Subscribers
Earlier this month (during TechEd 2013), Windows Azure announced that MSDN users will get Windows Azure Credits every month that they can use for any Windows Azure services they want. You can read details about this in my previous Dev/Test blog post.
Today we are making further updates to enable an easier Windows Azure signup for MSDN users. MSDN users will now not be required to provide payment information (e.g. no credit card) during sign-up, so long as they use the service within the included monetary credit for the billing period. For usage beyond the monetary credit, they can enable overages by providing the payment information and remove the spending limit.
This enables a super easy, one page sign-up experience for MSDN users. Simply sign-up for your Windows Azure trial using the same Microsoft ID that you use to manage your MSDN account, then complete the one page sign-up form below and you will be able to spend your free monthly MSDN credits (up to $150 each month) on any Windows Azure resource for dev/test:
This makes it trivially easy for every MDSN customer to start using Windows Azure today. If you haven’t signed up yet, I definitely recommend checking it out.
Today’s release includes a ton of great features that enable you to build even better cloud solutions. If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using all of the above features today. Then visit the Windows Azure Developer Center to learn more about how to build apps with it.
Hope this helps,
P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu