26 comments

[ 2.1 ms ] story [ 74.3 ms ] thread
I didn't think much of this until I realized that I couldn't find any references to CodePlex.com anywhere on the new Azure website. I definitely like where Microsoft is going with this.
Can someone quickly explain (like I'm an idiot) how you remote administer a Windows Azure machine without a unix command prompt? I have a feeling that Microsoft and their cloud strategy is at a disadvantage in ways that they cannot even comprehend.
I don't know, but I assume this is why Windows PowerShell exists?
Windows Azure "machines" are just normal windows VMs. So you'd "administer" from unix however you'd administer a windows machine from unix. (?)

You can easily RDP into azure instances, so you could do that from linux if that's what your asking.

Or, if you're talking about managing your resources (e.g. spinning instances up and down) all of that stuff can be done via REST api. If there isn't a unix toolkit yet, there will be one. Tooling seems to lag feature development in Azure by a bit.

Do I see Microsoft on GitHub?
You can already see how much Scott Guthrie is changing things in Azure division.
Indeed. I'm convinced a lot of these changes are a direct result of Scott's magic touch. I've been actively using Azure for almost two years. In the beginning, Azure was a mess. The website, product names, portal and releases felt so disconnected and confusing. Now things are streamlined and focused and much more developer friendly.
Is anyone willing to speculate why Microsoft is supporting nodejs on Azure? Or their use of Github/git rather than TFS? Or the work on redis-win32? It seems like a negative for developer mind share in the long run.
Not sure, but Microsoft has some great evangelists who are pretty opened minded these days. Steve Marx comes to mind. I've personally met him and he is a pretty smart guy! He's posted tutorials on using various technologies such as Node, Python, Scala and Memcached on Azure. http://blog.smarx.com/

Then there are also other articles on consuming Azure services with clients written in many languages. http://blog.smarx.com/posts/windows-azure-storage-libraries-...

As a .NET developer who is actively transitioning to these technologies myself, I applaud Steve & Co; nevertheless, I don't understand the strategy. I was hoping someone around here could explain why this is in their best interest.
MS is trying to push enterprises to move their datacenters to azure. To do this, they have to support a wide array of technologies such as java/memcached/ruby.
That's a great business strategy for them. But then again, they abandoned IronRuby, which is very frustrating. (what is the state of IronPython?). Sounds like two hands that aren't really in sync.
Microsoft employs 90,000 people. Do you honestly expect all of them to be in sync at all times?

Besides, supporting third-party technologies on Azure and reimplementing open-source programming languages on top of the .NET framework seem tenuously related at best. That's actually one of the advantages of having a corporate agenda in my mind: things that are unlikely to gain traction with developers can be cut with impunity. It prevents fracturing and slowing down communities, all too common in the open-source world (think of the many, many variants of Lisp, or the recent explosion of LanguageX-to-javascript compilers).

Please elaborate on how this choice will lose developer mind share in the long run. In fact, it is quite the opposite.
Sure, by providing access to these Linux-germinated open-source technologies through Azure, Microsoft is endorsing them at the enterprise level where most of their mind share is (viz .NET). Enterprise projects allow Microsoft developers on-the-job training in alternative technologies without committing scarce "after hours / at home" time.

These technologies are cheaper to implement elsewhere (Linux, other cheaper cloud providers, etc.). So, it seems like Microsoft is simply providing a way for .NET enterprise developers to migrate off their platform while being paid for it.

Why is Microsoft increasing the supply of developers who can write code for non-Windows platforms?

I helped drive the Windows Phone 7 app platform engineering and evangelism efforts (I left MS in early Sept).

I can't speak for the Azure folks, but I can tell you that as we built WP7 we recognized that one of our biggest challenges was reaching the hearts & minds of developers who had grown up outside the "MSDN tent". It was very clear (to me anyway) that we had to try extraordinary things to engage with those developers.

I suspect the Azure team is thinking the same way. It's pretty clear that being insular isn't going to work anymore.

I've done some WP7 work, and was quite impressed with the platform; I loved seeing the influence of capabilities-based security in the APIs.

But, WP7 demands an SL/XNA and .NET background. It seems like reaching non-Microsoft developers was/is a tall order whereas iOS can tolerate C,C++ or PhoneGap solutions. Do you feel that Microsoft had some success in bringing people into the tent?

It's really hard to know for sure, but there are 40K apps and games in the WP7 marketplace. Just 13 months ago there were 0.
Your email's not in your profile, so can you email me please (mine is in my profile)? I'm considering interning there this summer and would love to hear your opinion on it.
It's in my profile. Not sure why HN is not letting you see it.

You can contact me at charlie (at) kindel (dot) com

I suspect that at this point it will be very, very hard to get the hearts of developers that are not into Microsoft, but I think this is not an entirely different effort of also conquering the hearts of normal users... at the point Microsoft is in how is perceived outside I think they need a spectacular change (a new CEO, with a new message), to publish a new version of the operating system that is not a mess, and then yes, to be more open. I doubt that supporting Node on Azure is going to really help as a first move.
I think people drastically overestimate the level of strategy employed by large companies like Microsoft and Google. There are so many divisions and projects within these companies, all with their own goals and personalities.

Of course Microsoft does have some large strategic goals for its public conduct, but is it really such a stretch to allow that the Azure team wants to embrace developers outside of their traditional base? So long as it doesn't conflict severely with some other goal of the company, I don't find it difficult to believe that an enterprising manager on a mission could push through a project like this. Interoperating with a fledgling open source project for mutual benefit, even though it might not be a traditional tactic employed by Microsoft, is certainly not a particularly hard pitch to sell. Particularly if it's not a heavily politicized open source project.

For example, let's not forget that both Microsoft and Google donate millions each year for academic research into computing -- stuff that is way far out, such as trying to find viable quantum computers. These companies have giant market caps, and even though Microsoft may have a corporate edict to stamp out Linux wherever possible, and Google's profits are directly affected by how much creepy info they can gather on you, these companies are made up of a bunch of humans, and you have to expect that at least a few of them can scrape together altruistic and benevolent projects.

I think they've recently decided that promoting .NET for its own sake, or even making money on dev tools, isn't a particularly strong goal of theirs and the tools business should have a primarily subordinate role supporting their platforms (Windows, Windows Server / Azure, Windows Phone). You can see this in their recent org chart changes (whereby not only is Scott Guthrie no longer VP of the .NET Platform, but there is no longer a unified .NET Platform team at all - instead, each part of the framework has now been moved to the org tree of some product it supports. WPF is part of Windows, ASP.NET is part of Azure, Silverlight is part of Windows Phone, the core CLR is part of Visual Studio, etc.) or even in the recent redesign of the MSDN front page (where "Platforms" are now front and center).

This doesn't mean Microsoft is somehow out to kill or abandon .NET as I've seen some panicked .NET developers speculate recently, but it does mean they want .NET to be firmly in support of their platforms and not the other way around, and if there's a choice between doing something that will help .NET and something that will help Windows et al., they'll take the latter.

In terms of "openness vs. lock-in" this is probably a lateral move - they're more open to Windows et al. being less locked into their tools (or their tools' revenue streams - e.g. the tools for Windows Phone and Win8 Metro style apps are a free download), but less open to their tools being less locked into Windows et al. (e.g. cross-platform Silverlight), or even the latest version of Windows (e.g. .NET 4.5 is Win7/8-only).

Would you be willing to speculate whether this pivot reflects the, in Microsoft's view, diminished threat of Java given its new home and a return to the status quo?