Site: http://blog.smarx.com/ Link: http://blog.smarx.com/atompub.svc/blog/posts/
by Steve Marx via blog.smarx.com - cloud development blog on 7/29/2010 10:22:40 PM
In this post, I’ll show you how to use Windows Azure Blobs and the Windows Azure CDN to deliver Smooth Streaming video content to your users. For those who just want to try it out, head over to the Smooth Streaming with Windows Azure Blobs Uploader project on Code Gallery. The instructions there will get you going. Understanding Smooth Streaming Before we get into the details of how Smooth Streaming works on top of Windows Azure Blobs, it’s necessary to understand what Smooth Streaming actuall ...
[ read more ]
by Steve Marx via blog.smarx.com - cloud development blog on 7/2/2010 4:11:53 AM
This week’s episode of Cloud Cover (scheduled to go live tomorrow morning) is all about Windows Azure queues. It’s a bit of a long episode, but there’s a lot of interesting technical content in there. During the show, a detail came up as Ryan and I were discussing queues and concurrency. At the time, I wasn’t sure exactly what guidance to give, so I committed to following up before the show went live. To understand the situation, remember that Windows Azure employs reliable queueing, meaning th ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/29/2010 5:19:42 PM
The PivotViewer Silverlight control shipped this morning, which means you can now embed a Pivot collection (with great UI) directly in a web page. Pivot is fantastic for sorting, filtering, and browsing large numbers of items. I’ve put together my own example of using the new PivotViewer control at http://netflixpivot.cloudapp.net. It lets you browse the top ~3,000 movies that Netflix has available to stream online. I really encourage you to click through to the demo… it’s a fantastic way to f ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/1/2010 11:48:41 PM
A question came up on the Windows Azure MSDN forum recently about how to find the total number of bytes used by a blobs in a particular container. There’s no API that retrieves that information at the container level, but you can compute it by enumerating the blobs, as in the following one-liner: var totalBytes = (from CloudBlob blob in container.ListBlobs(new BlobRequestOptions() { UseFlatBlobListing = true }) select blob.Properties.Length ...
by Steve Marx via blog.smarx.com - cloud development blog on 5/27/2010 11:01:21 PM
I’ve put together a sample application at http://swingify.cloudapp.net that lets you upload a song as an MP3 and produces a “swing time” version of it. It’s easier to explain by example, so here’s the Tetris theme song as converted by Swingify. Background The app makes use of the Echo Nest API and a sample developed by Tristan Jehan that converts any straight-time song to swing time by extended the first half of each beat and compressing the second half. I first saw the story over on the Mu ...
by Steve Marx via blog.smarx.com - cloud development blog on 5/20/2010 5:33:19 PM
Running right now at http://emailtheinternet.com is my latest demo, which lets you send anything via email and posts it to a public URL on the web. This sample, which you can download here, does three things of technical interest: It uses a third party service (SendGrid) to send email from inside Windows Azure. It uses a worker role with an input endpoint to listen for SMTP traffic on port 25. It uses a custom domain name on a CDN endpoint to cache blobs. Background: email and W ...
by Steve Marx via blog.smarx.com - cloud development blog on 5/14/2010 8:23:59 PM
For this week’s episode of Cloud Cover, Ryan and I showed how to mount a Windows Azure drive and serve your website from it using my Hosted Web Core Worker Role. I’ve released a new Visual Studio 2010 solution called HWCWorker_Drive_source.zip that mounts a snapshot of a Windows Azure Drive and points Hosted Web Core at it. You can download it over on the Hosted Web Core Worker Role project on Code Gallery. To use the project, you need to store your web content in a VHD, upload it to the cloud, ...
by Steve Marx via blog.smarx.com - cloud development blog on 5/2/2010 4:22:34 PM
I wrote a blog post back when Shared Access Signatures were first released called “New Storage Feature: Shared Access Signatures,” which gave some sample code to use what was then a brand new feature in Windows Azure storage (and not supported by the storage client library). These days, using Shared Access Signatures is much simpler. I just wrote some .NET code that uses the Microsoft.WindowsAzure.StorageClient library to do the following: Create a blob. Generate a Shared Access Signatu ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/29/2010 5:41:57 PM
One of the coolest uses I’ve found for my Windows Azure Hosted Web Core Worker Role is to sync my website with blob storage, letting me change files at will and immediately see the results in the cloud. You can grab the code over on Code Gallery, or a prebuilt package that you can deploy right away. Here’s a 30-second video showing it in action: How It Works In a typical Windows Azure web role, IIS is configured to host the website contained in your application package. As you may know, thi ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/22/2010 5:12:25 PM
One change you may have noticed in the latest operating system release in Windows Azure is that the dynamic compression module has been turned on in IIS. This means that without doing anything, you should now see the default dynamic compression settings take effect. Changing the Defaults Compression settings are primarily controlled by two configuration elements: <urlCompression> and <httpCompression>. <urlCompression> can be configured at the application level in web.config ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/21/2010 7:12:43 PM
If you’re using the cloud templates in Visual Studio, you’ll see a line in the OnStart() method in WebRole.cs or WorkerRole.cs that looks like this: DiagnosticMonitor.Start("DiagnosticsConnectionString"); You might be tempted to put this line somewhere else (like in an ASP.NET page), but please resist that temptation. At the moment, if you call DiagnosticMonitor.Start() more than once, you’ll end up with multiple copies of the Windows Azure Diagnostics process. Much like a memory ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/21/2010 5:33:22 PM
If you download the source code for my Hosted Web Core Worker Role, you’ll see a few lines of code which configure Windows Azure Diagnostics to capture Windows Events generated by Hosted Web Core: var cfg = DiagnosticMonitor.GetDefaultInitialConfiguration(); // HWC uses the event log to indicate what's broken. // This config setting is really handy when debugging bad config. cfg.WindowsEventLog.DataSources.Add("Application!*[System[Provider[@Name='HostableWebCore']]]"); diagnosticM ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/20/2010 9:57:36 PM
One of the things you can do with the Hosted Web Core Worker Role I blogged about earlier is to specify the full range of FastCGI settings, including those recommended by the IIS team. This goes beyond the settings that are allowed in web.roleConfig. I’ve added a download to the Hosted Web Core Worker Role code over on Code Gallery that adds the following FastCGI settings to applicationHost.config: <fastCgi> <application fullPath="{approot}\php\php-cgi.exe" ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/20/2010 9:55:35 PM
In this post, I’ll show how you can run your own instance of Hosted Web Core (HWC) in Windows Azure. This will give you the basic functionality of a web role, but with the flexibility to tweak advanced IIS settings, run multiple applications and virtual directories, serve web content off of a Windows Azure Drive, and more. If you want to try this out yourself, you can download the full Visual Studio 2010 solution from Code Gallery. The code I share in this blog post will work today, but I shou ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/20/2010 8:41:06 PM
A question came up recently of how to store a Windows Azure blob without overwriting the blob if it already exists. This quick post will show you how to do this using the .NET StorageClient library. To figure out how to do this, I looked at the “Specifying Conditional Headers for Blob Service Operations” MSDN topic, which says the following: If-None-Match An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource' ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/16/2010 5:24:00 AM
A question came up today on Stack Overflow of how to test for the existence of a blob. From the REST API, the best method seems to be Get Blob Properties, which does a HEAD request against the blob. That will return a 404 if the blob doesn’t exist, and if the blob does exist, it only returns the headers that would typically come with the blob contents. This makes it an efficient way to test for the existence of a blob. From the .NET StorageClient library, the method which maps to Get Blob Prope ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/15/2010 1:20:45 AM
I don’t know about you, but when things are going wrong in my code, I like to put little printf() statements (or Console.WriteLine or Response.Write or whatever) to let me know what’s going on. Windows Azure Diagnostics gives us a way to upload trace messages, log files, performance counters, and more to Windows Azure storage. That’s a good way to monitor and debug issues in your production cloud application. However, this method has some drawbacks as compared to printf("HERE") for r ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/14/2010 10:26:02 PM
Inspired by David Aiken’s one-liner, I’ve been playing around with what’s possible using PowerShell and the Windows Azure Service Management CmdLets. I thought I’d share two of my own one-liners that help me get the status of all my Windows Azure applications at once. Here’s the first one-liner: get-hostedservices -cert $cert -subscriptionid $sub | get-deployment production | where { $_.roleinstancelist -ne $null } | select -expandproperty roleinstancelist | group instancestatus | fl name, cou ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/13/2010 5:17:41 PM
In this series of blog posts, I’ll show you how to use Silverlight to upload blobs directly to Windows Azure storage. At the end of the series, we’ll have a complete solution that supports uploading multiple files of arbitrary size. You can try out the finished sample at http://slupload.cloudapp.net. Part 3: Handling Big Files by Using the Block APIs In Part 1, we saw how to handle authentication using Shared Access Signatures. In Part 2, we saw how to enable cross-domain access to blobs so we ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/12/2010 6:21:38 PM
In this series of blog posts, I’ll show you how to use Silverlight to upload blobs directly to Windows Azure storage. At the end of the series, we’ll have a complete solution that supports uploading multiple files of arbitrary size. You can try out the finished sample at http://slupload.cloudapp.net. Part 2: Enabling Cross-Domain Access to Blobs In Part 1: Shared Access Signatures, we saw how to construct a Shared Access Signature that can be used by a client to access blob storage without nee ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/10/2010 12:56:53 AM
In this series of blog posts, I’ll show you how to use Silverlight to upload blobs directly to Windows Azure storage. At the end of the series, we’ll have a complete solution that supports uploading multiple files of arbitrary size. You can try out the finished sample at http://slupload.cloudapp.net. Part 1: Shared Access Signatures Shared Access Signatures are what enable us to use Silverlight to access blob storage directly without compromising the security of our account. In the first part ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/8/2010 5:21:19 PM
One of the unsung heroes of Windows Azure storage is the ability to acquire leases on blobs. This feature can help you solve thorny concurrency challenges, perform leader election, serialize edits, and much more. Look for more discussion of leases over on the Windows Azure Storage Team blog in the coming weeks. A question came up on the Windows Azure forum yesterday about how to use this blob lease functionality from the storage client library that ships with the Windows Azure SDK. Unfortunatel ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/27/2010 2:57:21 AM
I’m embarrassed that I got this wrong in my blog post from a couple weeks ago about “Using other Web Servers On Windows Azure” (with the same code I showed in that week’s episode of Cloud Cover). In my code from a few weeks ago, I was initializing a web server (Mongoose) in the Run() method of my worker role, when it really should have been in OnStart(). To understand why this is a mistake, let’s take a look at the phases of the lifecycle of a Windows Azure role instance: OnStart() – called ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/16/2010 7:12:53 PM
For my MIX10 presentation this year, I cooked up a Windows Azure application that creates zoomable presentations (a bit like prezi or pptPlex) using Silverlight. I’ll blog more when I get a chance about how the application works, but for those of you who are curious about the slides, you can take a look at them now at http://www.onebigslide.com/slides/play/smarx-mix10. (The full recording of my talk should be somewhere on visitmix.com within the next day or so.) Here’s one of the “s ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/5/2010 12:47:54 AM
Ryan Dunn and I recently recorded the third episode of our new Channel 9 show, Cloud Cover, which should go live on Channel 9 tomorrow (Friday). In this week’s episode, I do a demo of a worker role with an input endpoint. That’s a fancy way to say I use a non-IIS web server in Windows Azure. The technique I demonstrate is exactly the same as what’s used by our Tomcat Solution Accelerator, but it’s also been used to run Apache, Mongrel, and other web servers. In this post, I’ll show how to run M ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/6/2009 12:09:02 AM
Today we announced a new service in Windows Azure: the Windows Azure Content Delivery Network (CDN). You can read about the details over on the Windows Azure blog. In short, you can now tap into our global CDN to cache your content close to your users. The Windows Azure CDN is a free preview for now, and we’ll announce pricing information in the future. As we all know, my blog is an international sensation, and I sometimes include images in my posts. Now I have the oppor ...
by Steve Marx via blog.smarx.com - cloud development blog on 10/29/2009 7:13:59 PM
[UPDATE 11/24]: PDC is over! I’ve updated the below to include the sessions that were previously kept secret. Now all of the links point to videos of the sessions. Enjoy! PDC 2009 is just around the corner, and Windows Azure has a lot of coverage throughout the event. Over the past two weeks, I’ve been lucky enough to see previews of every session presented by a Windows Azure team member. I can tell you there’s a lot of great content you won’t want to miss. If y ...
by Steve Marx via blog.smarx.com - cloud development blog on 10/28/2009 4:37:11 PM
A few weeks ago, my blog appeared suddenly empty. More recently, a customer reported that all of his data had seemingly disappeared. In his case and in mine, we were forgetting an important part of using Windows Azure Tables: continuation tokens. Read on to understand why continuation tokens are so important to handle properly in your application. What are continuation tokens? I’ve talked before about continuation tokens in Windows Azure Tables, in the context of paging over ...
by Steve Marx via blog.smarx.com - cloud development blog on 10/27/2009 5:11:15 AM
Are you reading Ryan Dunn’s blog? If not, go subscribe to his RSS feed now. Ryan’s the Technical Evangelist for Windows Azure. Among other things, he’s constantly releasing useful tools for Windows Azure developers. Last week it was myazurestorage.com, a tool for viewing your tables in the browser. This week, it’s PowerShell cmdlets for managing your Windows Azure applications. I haven’t gotten to play with them yet, but I’m eager to. From Ryan’s post: ...
by Steve Marx via blog.smarx.com - cloud development blog on 9/5/2009 12:44:57 AM
This afternoon I spent three hours hanging out in the Windows Azure Lounge. With a longer period of time to chat and less hype, we had a more relaxed and social chat than the first time. I like that, and that’s part of the reason I want to do these more regularly. (Interesting stat: this chat had 530 messages over three hours. The first chat had 572 messages in just one hour!) As came up again in this chat, time zones are a pain, so I vow to do one of these at night (for me) ...
by Steve Marx via blog.smarx.com - cloud development blog on 9/3/2009 7:55:04 PM
Remember the Windows Azure Lounge? I’ll be hanging out there (maybe with a few coworkers) tomorrow, September 4th, from 12:00 PM to 3:00 PM PDT. Feel free to stop by and chat about whatever’s on your mind. Unlike the first chat, this one will be a little less structured. Just show up and hang out, any time noon to three. I look forward to chatting with you tomorrow! ...
by Steve Marx via blog.smarx.com - cloud development blog on 9/2/2009 7:04:22 PM
As you may have already seen, Twilio chose Windows Azure as this week’s category for their developer contest. (UPDATE: Now more like two weeks!) In addition to Twilio’s normal prize of a netbook, we’ve kicked in a couple additional prizes for this week: a copy of Windows 7 and $500 of free Windows Azure use after our commercial launch in November. To help give everyone a head start on getting their contest entry ready, I thought I’d put together a simple example of using Twilio from ...
by Steve Marx via blog.smarx.com - cloud development blog on 9/2/2009 5:41:53 AM
Until this week, using the Windows Azure CTP meant signing up and then waiting a couple of days for an invitation code to arrive by email. No more. You can now register for access and receive an invitation code right there on the spot. No email, no waiting, no excuses. Go register now and build something cool! ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/22/2009 7:13:02 PM
Last week, I blogged about shared access signatures, one of the new blob storage features introduced in July. This feature lets you embed signatures in URLs to grant granular access to containers and blobs. In the approach I took in the blog post, you embed the access policy directly in the URL, which means there’s no way for you to modify or revoke permission after I’ve given out the URL. To limit the scope of these unrevokable privileges, explicit access policies in the URL a ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/22/2009 12:13:11 AM
The Windows Azure World Tour is starting soon! I’m personally hoping to make it to a couple of these. From the World Tour website: “In this session aimed at decision makers, David Chappell looks at the Windows Azure platform and what it means for ISVs, custom software development firms and enterprises. The topics he’ll cover include: An overview of the Windows Azure platform: Technology and business model The cloud platform context: Google, Amazon, Salesforce.com, a ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/21/2009 4:58:07 PM
In the world of shrink-wrapped products, new releases are shipped on a regular basis, and customers need to wait until the new version comes out to benefit from improvements. A service like Windows Azure is a completely different world. Our service is continuously improving, and our users benefit immediately from the work that we do. You could say that we ship every day, or you could say that we never “ship” at all. This has implications on the way we plan the future evolution ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/20/2009 5:44:12 PM
Windows Azure’s hitting the road throughout central US. If you’re near one of the above cities, check out the full tour schedule. In each city, there’s a half-day event in the morning presented by TechNet for IT professionals and a half-day event in the afternoon presented by MSDN for developers and architects. Did anyone attend one of the events that already happened? I’d love to hear what you thought. ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/11/2009 5:11:15 PM
Among other things, the latest storage release supports something called “signed access signatures.” The basic idea is to let you create signatures that are more granular than the shared key for the whole storage account and then embed these signatures directly in a blob URL instead of an authorization header. Making simple use of this new feature, I put together a sample called “WazDrop,” which operates similarly to applications like DropSend and YouSendIt. It lets you upload a fil ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/11/2009 12:47:56 AM
Last week we did an interesting experiment called the Windows Azure Lounge. Overall, I think the chat was really interesting, and I believe people found it valuable. Transcript You can read the full transcript in text format or HTML. Graphical Summary There’s something mesmerizing about Wordle, so here’s a word-cloud representation of the chat transcript. It seems we got what we wanted (direct feedback), because words like “want,” “need,” “like,” and “think” all showed up a lot i ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/8/2009 12:10:31 AM
Today I experienced (okay, caused) something of a disaster, but thanks to an amazingly fast recovery, I think it turned into a real success. The Disaster Today we launched the Windows Azure Lounge, a place where people can chat about Windows Azure with the people who build it. Unfortunately, when the lounge opened, I realized I’d forgotten to log in ahead of time. If you remember the glory days of IRC, you’ll understand the problem. Tinychat, the chat technology we used, has ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/7/2009 7:35:44 AM
We’re doing something that I think is really cool. We’re trying an experiment in live customer feedback called the Windows Azure Lounge. Read more in my previous blog post. The technology’s kind of neat too, so I thought I’d do a quick round-up of what we’re using. Chat - Tinychat For the real-time chat, we’re using Tinychat. We took a look at a few technologies (including LiveMeeting and IRC!), but at the end of the day, nothing else was as lightweight and easy to use as ...
by Steve Marx via blog.smarx.com - cloud development blog on 8/7/2009 7:28:28 AM
Come join us at the Windows Azure Lounge (http://wazl.cloudapp.net) today (August 7th) at 12:00pm PDT! This is a bit of an experiment… we’re going to host a chat that’s open to anyone who shows up. We’ll be there for at least an hour (hopefully longer if the discussion is good). This is a unique opportunity to chat in real-time directly with the people who work on Windows Azure. As the Lounge says, we have two goals: Hear your feedback. Answer your questions. On tha ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/20/2009 6:35:18 AM
Restrict, Focus, Simplify Today I drew and narrated a video called “What is Windows Azure?” The restrictions of the medium (hand-drawn at the same time as the voiceover) really helped me to focus on really simple visual metaphors. Below is the embedded video. I’m really disappointed that I couldn’t find a way to control the frame that shows up as the preview. (Is that a sheep labeled “fat”?) In any case, I hope you enjoy the video. Details about how I made it are below ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/20/2009 5:58:10 AM
Since my blog post about it, there’s been a lot of interest in The CIA Pickup. Thank you all for your emails and tweets, and big thanks to Twilio for featuring the application (with a video demonstration) on their blog, and “This Week On Channel 9” for doing the same! I’m not sure how many people downloaded the code and played with it, but Erwyn van der Meer is one. He made a few valuable contributions and suggestions, so I’m publishing a new version of the source code (at the same ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/18/2009 10:36:06 PM
If you had only two weeks to build and deploy an interactive map for the annual “Taste of Chicago” event, and you knew it would have to scale up to a city’s worth of traffic, what technology would you choose? Faced with this challenge, West Monroe Partners built the map experience itself using Silverlight and Deep Zoom, created an alerts system using Windows Live Alerts, and deployed the entire application to Windows Azure. You can play with the interactive map at http://tasteofchicago0 ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/9/2009 10:29:48 PM
Today I read some news about the pending Twitpocalypse. If you haven’t heard, Twitter is rapidly approaching a rollover point (much like the Y2K scare) where status IDs will reach values higher than what can be stored in a 32-bit signed integer. The worry is that Twitter clients are storing status IDs in 32-bit integers and will malfunction when the rollover happens. One of my projects, Botomatic, is actually broken in this way. I rolled my own Twitter API client, and I parsed ...
by Steve Marx via blog.smarx.com - cloud development blog on 6/5/2009 6:46:12 PM
As a follow-up to my earlier post about the new blob storage features, in this post, I’ll show you how to take advantage of the entity group transactions functionality that was recently rolled out to Windows Azure tables. I’ve updated the project (modified storage client library and test program) I announced in the last post, so go ahead and download the code again. To use the new features, you’ll need this code or your own code like it, because the SDK sample hasn’t yet been updated to i ...
by Steve Marx via blog.smarx.com - cloud development blog on 5/31/2009 7:06:29 AM
[UPDATE 6/5/2009] This post is just about the new functionality in blob storage. See the next blog post (“Sample Code for Batch Transactions in Windows Azure Tables”) to learn about the new functionality in table storage. I’m a little bit late on this, but as promised on Thursday on the Windows Azure blog, I’ve written up some code taking advantage of the new copy blob and get committed block list methods in Windows Azure storage. This code comes in the form of a modified copy ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/16/2009 2:19:36 AM
I love programming languages. Each of the languages I’ve learned over the years has taught me something about programming. To play with a few languages and to show off some of the language interoperability in Windows Azure, I recently put together a sample called “Shoutomatic.” You can play with it at http://shout.cloudapp.net, and you can download the source code here. Overview Shoutomatic consists of a web role and a worker role. The web role accepts user input and p ...
by Steve Marx via blog.smarx.com - cloud development blog on 4/15/2009 8:37:33 PM
Recently I’ve been struggling to answer a simple question: “Does Windows Azure support Java?” In this blog post, I’ll explain why I don’t consider us as having Java support in Windows Azure today. Then I’ll show you a limited scenario (with a sample) in which you can run Java code in the cloud. For some background, the question is coming up recently because Google just announced a preview of their Java support. For an answer about Java support across the entire Azure Services ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/19/2009 7:50:06 AM
Today at MIX, I showed a new demo application I developed called “Tweval” (Twitter + eval). Tweval lets you evaluate anything (like my session at MIX) just by tweeting a simple message. It’s built on top of Botomatic. Tweval takes advantage of one of the coolest things about the MIX announcements we made earlier today, which is that Windows Azure can now run PHP (or indeed anything compatible with FastCGI). In fact, in Tweval, I’m running ASP.NET MVC code side-by-side with ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/18/2009 5:31:16 PM
Today we’ve launched new capabilities in the Windows Azure cloud: Support for Full Trust .NET code (and therefore native code as well) Support for FastCGI (e.g. PHP) These features are live in the cloud now. For an example, http://tweval.com/index.php should show you that familiar phpinfo() output. In addition, we’re announcing that in the next few weeks, we’ll be rolling out the first phase of our support for geo-location. To learn more about what we released, take a loo ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/18/2009 3:05:43 AM
I like to think that there’s a lesson to be learned in every experience, especially when things are going wrong. As many of you know, Windows Azure malfunctioned last Friday, March 13th. I just finished posting a summary of what happened and what we’re doing about it to the Windows Azure blog. Go there if you want to understand what happened. What I wanted to do here was talk about what I personally learned from the experience: Overcommunication is key when things go wrong ...
by Steve Marx via blog.smarx.com - cloud development blog on 3/14/2009 2:31:42 AM
Fairly often I get asked how I have my own custom domain (http://blog.smarx.com) pointing to my blog application running in Windows Azure. Recently I launched a new service called Botomatic, for which I also use a custom domain (http://www.botomatic.com), so the question is coming up again. I thought I’d take a few minutes to show you how I set up the botomatic.com domain for use with Windows Azure. The Theory Windows Azure provides a friendly DNS name like “blogsmarx.cloudapp.net” ...
by Steve Marx via blog.smarx.com - cloud development blog on 2/26/2009 5:44:36 AM
I just finished a post about time zones over on the Windows Azure blog. The bottom line is that we’re moving from Pacific Standard Time (PST) to Coordinated Universal Time (UTC). Go take a look at that post to understand this breaking change and how it might impact you. Let me know if you have any concerns. An interesting note about this change is that it’s the first time we’re making a breaking change since we launched the CTP in October of 2008. What do you think of th ...
by Steve Marx via blog.smarx.com - cloud development blog on 2/20/2009 6:28:17 PM
Windows Azure automates a lot of tasks for you, including initial deployment of your application. I thought I’d take a moment to describe at a high level what’s happening behind the scenes during that initial deployment and starting of an application. Allocation – The Fabric Controller looks at the inventory in the data center and finds VMs within servers that fit all the requirements of your application. One of those requirements is that resources are allocated across fault doma ...
by Steve Marx via blog.smarx.com - cloud development blog on 2/9/2009 9:20:33 PM
I get a lot of questions in email and on Twitter about how long to expect to wait for a Windows Azure token during the Community Technology Preview. We’ve been intentionally careful to open up capacity at a controlled pace so that we can ensure the quality and stability of the platform at scale. I’m pleased to report that we’ve been ramping up the rate at which we send out tokens, and projecting based on current numbers, I would expect that people who sign up today should have to wait no ...
by Steve Marx via blog.smarx.com - cloud development blog on 1/15/2009 6:00:34 PM
Yesterday we released the January Community Technical Preview of the Windows Azure SDK. You can read the official announcement on the Windows Azure blog. This is in line with our commitment to make regular updates to Windows Azure. Inside the cloud, we’re continually making improvements to the system internals. These are invisible to developers, as they don’t change functionality. The same holds for this SDK release. The January CTP isn’t about rolling out new feat ...
by Steve Marx via blog.smarx.com - cloud development blog on 12/7/2008 1:26:31 AM
I’ve just added some Twitter sweetness to my Windows Azure blog. The sweetness comes in two forms. First, in the layout for the blog, I’ve added a sidebar with cool stuff like who I am and how to reach me. In there is also the five most recent tweets that mention my Twitter name “smarx.” Second, every time I create a blog post, I’m now automatically tweeting a short message announcing the blog post. Pulling from Twitter There’s nothing specific to Windows Azure here, but I t ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/30/2008 6:13:05 AM
The most obvious way of deleting an entity using the ADO.NET Data Services client library is to query first (via LINQ), and then call DeleteObject to delete the entity, like this: svc = new TestContext(); var item = (from i in svc.TestTable where i.PartitionKey == "item1pk" && i.RowKey == "item1rk" select i).Single(); svc.DeleteObject(item); svc.SaveChanges(); However, ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/30/2008 5:32:38 AM
If you were an attendee at the PDC and you signed up for a Windows Azure token with the same Live ID you used to register for PDC, you should have received a token by now. If you don’t have a token, let me know what Live ID you used, and we can check out what might have gone wrong. My email address is on the right side of every page on my blog. For everyone else, we’re continuing to add capacity all the time, so please hang in there! In the mean time, download the SDK and develop o ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/26/2008 2:49:23 AM
As promised, today I added a worker role to asynchronously process comments and attempt to detect spam, and I invite you to test it out! See the bottom of this post for details. Design Here’s a flow diagram I drew on my whiteboard: The steps are: A comment comes in via my blog. The comment gets stored in a Windows Azure table. A reference to the comment gets stored in a Windows Azure queue. (Some time later) a worker role picks up the queue item and retrieves the co ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/25/2008 6:56:30 AM
As you may already understand, a table in Windows Azure storage stores entities, each of which has a number of properties. (We call this an “entity store.”) I stress this terminology over the more familiar “rows” and “columns,” because they’re really not rows and columns. One way they’re different is that in Windows Azure tables, there’s no fixed schema. A single table can hold a variety of different types of entities, each with its own set of properties. If you want to, ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/21/2008 11:41:39 PM
I just built my first Facebook App, and I’m hosting it on Windows Azure. The Application It’s called “Points!”, and the tagline is “What’s the point of life if you don’t know who’s winning?” The concept is really simple. You enter a friend’s name, how many points you’d like to give him/her, and a reason. Then a notification gets sent to the friend telling them about it, and an item shows up in your Facebook feed saying who you gave points to and why. When you visit the Points! ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/21/2008 10:17:08 PM
The guys from Deep Fried Bytes took me aside at the PDC to talk about Azure in general (and mostly Windows Azure), and the podcast just came out. Here’s the link: http://deepfriedbytes.com/podcast/episode-20-windows-azure-the-overlord-in-the-cloud/ It’s a frank, unscripted, introductory conversation about Windows Azure. I had a lot of fun chatting with Keith and Woody. They’re nice guys and great interviewers. For those of you who arrived here from the podcast, welcome! ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/18/2008 8:36:48 AM
I have to apologize. In a lot of the sample code I’ve developed (including the blog source code I showed at PDC), I’ve used a pattern for table creation that amounts to “try to create the table every time.” Because the sample storage client library gives methods like TryCreateTable and CreateTablesFromModel, this is a tempting pattern. However, it turns out it has a cost I didn’t understand. On the server, calls to create a table that already exists result in a number of excep ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/14/2008 8:36:41 PM
You know you’ve hit it big when you get inundated with spam. This post from last week (ironically about adding comments to my blog) has been hit with a bunch of comment spam. This is good news, because it means I need to develop some anti-spam measure, and that’s sure to let me show off some other Windows Azure feature. Perhaps I should sign up for Akismet and use it asynchronously from a worker role. Or maybe I should build some custom analysis of my own (Bayesian approach on comment t ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/12/2008 9:13:59 AM
This is my eleventh post to this blog, and until this post, all entries on my blog appeared on the front page. I figured now was a good time to introduce the concept of paging to my blog. I’ve created a sample application called Paging Windows Azure Tables on the MSDN Code Gallery which shows a simple paging example, and here I’ll share the code change I made to my blog engine to support paging. Continuation Tokens Paging in Windows Azure tables is based on continuation tokens. Th ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/12/2008 3:04:56 AM
Why my blog will break in the year 9683 Every entity in Windows Azure tables has two special properties (columns) called the partition key and the row key. Together, the partition key and the row key form a unique identifier for the entity. They also define the order in which entities are returned in queries. For example, in my blog engine, I’m using DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks to ensure that my blog posts are returned in reverse chronological order. One thing ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/7/2008 1:45:04 AM
A few people complained (some in email, at least one on Channel 9) that my blog didn’t allow people to leave comments. Those of you who have followed this blog since PDC know that it’s built from scratch on Windows Azure, so I actually had to write some code to enable comments. I thought I’d write a brief post describing how I did it. Modeling Comments Although tables in Windows Azure are non-relational, it is of course possible to model relationships on top of simple tables. In t ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/5/2008 7:58:36 AM
You can now download the source code as it stood at the end of my PDC talk. There’s a README.txt in the source zip that explains what you need to do to get things running. Basically you need to provide StorageClient.dll (it’s not included, but you can build it from the SDK sample), and you need to manually run devtablegen to set up the local storage. What does it do? To catch everyone up who didn’t watch my talk, this demo is a Windows Azure application that has basic create/view functi ...
by Steve Marx via blog.smarx.com - cloud development blog on 11/4/2008 7:45:06 PM
These are all linked to on our MSDN page, but here are links to the Channel 9 entries, where you can comment about them. What other screencasts would you like to see? Windows Azure: Hello, Cloud! Windows Azure Blob Storage Windows Azure Table Storage Windows Azure Tools for Visual Studio ...
The content of the postings is owned by the respective author. AzureFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on AzureFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.