Microsoft offering Linux virtual machines on Azure
windowsazure.com
windowsazure.com
Can some smart people of HackerNews explain that? Is Azure similar to Amazon EC2? Or is it just some lightweight Windows installation on Microsoft-hosted VPS?
It includes services for on-demand computing, storage (in No-SQL form and Blob form), message queueing, service bus, secure connection, identity management, horizontably-scalable relational database, big data computing (Hadoop), media encoding and streaming, content distribution network, reporting, business intelligence, a data marketplace.
The list goes on and on and is increasing rapidly. The gist is, you consume those services, Microsoft hosts and manages them (with high availability, geographic redundancy, etc.) and you pay for what you use.
So it doesn't have to do much with "Windows" OS in any sense, it's just a little confusing name for their SaaS.
Thanks!
I hate Google App Engine, I hope Azure is better
- It's speed is very unpredictable. Sometimes it'll be lighting fast, other times requests will hang for up to 8 seconds. We've used nodes in data centers across the world to measure this and have confirmed 100% that the delay is happening at App Engine and not our machines :)
- There's been several times where I have used Google Python libraries (for other Google products) and found them incompatible with the version of Python on app engine. I've had to write several dummy modules that replace googles ones that attempt to open a file on the disk in write mode (not allowed) when they're not even writing to the file! I cant be specific, under NDA. I have contributed the fixes back to the Google API team.
- The last 3 SDK upgrades has broken something in the core modules, or Django. App Engine SDK upgrades are now a running joke at my workplace
- It's insanely expensive for the CPU / DB power that you get
Part of Python [removed] core module on App Engine has a bug in it. Including this module will terminate your application with an exception.
Nobody notices it in development or testing, because the dev system was including the python distributions [removed] module, which is apparently different to the one on App Engine.
Site makes it through testing. push live and crunch, falls over.
Now we have a test app engine account, and have to deploy to that first, because we cant rely on the installation of Python on App Engine matching the installation of python on our dev machines, even though the versions are exactly the same
That's good practice. You test locally, then test on a real deployment environment, then deploy to production. You should also use app versions and test new ideas on new versions and always plan for rolling back.
As for the price, you should consider what would it cost running your application on IaaS, rented or co-lo hardware. As always, YMMV.
For a one-man project, nothing beats Google App Engine. Azure and AWS require more work.
I'd argue that Heroku is even easier than App Engine.
A common problem in the software world, not limited to MS.
The question is whether this is intentional or whether the company lacks the ability to actually tell you. Communication with the customer might be handled solely by marketing executives who may not understand what Azure actually is. The code might be so needlessly complicated that even few developers have a wholistic understanding of it.
One of the great things about open source is that if the need arises the customer can find out what something actually is. The system can be disassembled into smaller parts for a better understanding. The source code for individual programs can be read. The code for the compiler is also open for inspection. This has great benefits.
If you even manage to get to the correct place, which is a Silverlight powered management console - when HTML5 / AJAX would do.
Lots of bloat and lots of cruft and no actual functionality.
http://i.imgur.com/2bNwU.png and http://i.imgur.com/2G8Pa.png
IE9 was optimized for rich HTML5 and JavaScript applications and IE10 on Windows 8 won't even run Silverlight.
They don't want their tablet users to use Netflix?
On the other hand, the new XAML-based API will be a somewhat easy upgrade path from Silverlight app to native app.
<!--[if IE]>
<script>
if (!window.document.documentMode || window.document.documentMode < 8) {
window.location = "/Error/Unsupported";
}
</script>
<![endif]-->"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
Microsoft is not a Silicon Valley company and it never was. One source of animosity that this has created is that it has been a powerful competitor to a great number of Silicon Valley startups. More deeply, as a bootstrapped company, it goes against the economic model upon which Silicon Valley's entire capital structure depends...YC cannot produce another Microsoft because YC companies take outside investment at day one. A startup which emulates Microsoft doesn't offer an opportunity to make early stage investors rich.
However one thing that might make SV loyalists tick is that the largest software company in the world is not in SV.
I like (todays) Bill Gates as a human being. I like (the last current build of ) Steve Jobs purely because of his marketing skills.
Google is every bit as much an existential threat to most small software companies now as Microsoft was at the height of its power, but we don't have any resonant stories of Google competitors being taken out unfairly.
A lot of their living room entertainment stuff they've done with Xbox and Windows Media Center has been pretty cool. Not necessarily groundbreaking, but still neat.
Can you make the case that SQL server is worse than similar SQL DBMSs?
F# is a variant of ML and therefore not original, but is it uninteresting?
But the pure technical level isn't all that matters for a programming language. There's not the same library community around .net, because it came five years later and not enough better than java. And there's no migration path, because - which is worse - none of the MS stack interoperates with anything else.
I would, quite genuinely, like to do parts of my current job in F#. But there's no eclipse support for it. Even if I wanted to use visual studio, which I don't, it doesn't run on linux (and that's to say nothing of deployment - our ops team has been burned enough times trying to run windows servers). If I'm going to write things in F# there has to be a way for the rest of my code to use it, but F# doesn't run on the JVM so I can't write a library in it (or call JVM libraries), and when I looked for protocol buffers support all I can see is some third-party google code project.
I wouldn't want MS to give up on .net as it's actually a really good VM, so I guess that part makes sense, but windows is useless on the workstation and the server - and it seems like all the cool MS technology only runs on windows.
It's even contributing directly to the Linux kernel.
That said, substantial members of senior executive management, including specifically Steve Ballmer, were key in leading the dirty tricks campaigns against all competitors, from DR DOS to Novell to WordPerfect to Linux to Netscape to Sun to Google.
Some of us have long memories.
Microsoft have fallen long and hard from their late 1990s heyday, but they still haven't exhibited the cathartic rebirth of, say, IBM in the early 1990s. There is a reason the first Macintosh ad featured the hammer thrower smashing Big Brother's image on the screen (1984), and I can distinctly recall it feeling very odd to note ~1997-99 that IBM were positioning themselves as very, very strong champions of both Linux and Open Source (they liked the OS mantra better than Free Software).
They did so, however, on the basis of a very detailed, high-level, senior-executive endorsed study into the competitive advantages of pursing just this course of action (Tim O'Reilly references this in Open Sources, it's sometimes known as the "Earthquake Document", as it literally shook the earth IBM was standing on), specifically targeting its perceived major competition from Sun (since neutralized entirely) and Microsoft (a looming and large threat, now largely castrated).
Until such a time as Microsoft comes to a similar conclusion, and changes its fundamental business practices (from embrace, extend, and destroy) in a similar way, I'll continue to keep them on my enemies watchlist, if not necessarily at the top of that list. There are most definitely other entities I consider to be bigger threats, both inside and outside the tech landscape, today.
In mobile, gaming, and SAAS/PAAS, Microsoft has been open and experimenting. As others have mentioned, they've contributed to the Linux kernel, after some stumbles on Kinnect they embraced the hacker community, etc. Microsoft, for all its failings, is still willing to try developing and creating new products and services. Not all succeed, Zune was just retired (for instance).
That said, comparing them to IBM? Really? The IBM that has basically gone out of it's way to cut research labs, decommission most projects, and become a purely services company that is in the process of outsourcing as much as it can? I will take one that is still trying to innovate and create products from consumer to the enterprise over a company hell bent on becoming mostly an outsourced enterprise services company (we already have EDS and others for that).
Personally, I am not a huge MSFT fan. My house runs pretty much all Apple (or Linux). Windows is confined to VMs (or the wife's corporate laptop). The two things that were "aha" for me with MSFT and how they were Windows Phone 7/Metro and Azure -- specifically the original post on anodjs.org with the title "We work at Microsoft and we use node.js". Five years ago, we would not have seen that.
Returning to my original gripe - yes, MSFT has lots of the old guard around; yes, parts of MSFT still think like they used to (or are in the Redmond cacoon) - overall the company is doing a lot to foster innovation and new platforms, you'd benefit by letting go of old grudges. The industry is small enough where some of the "bad people" have moved to "good companies" as well as the reverse.
That said, it is certainly useful to be watchful and see what future moves are made.
Among the more interesting articles I've seen on the company and its practices was in the short-lived Brill's Content magazine of the late 1990s, titled "Making Bill". As I said above: there are very profound reasons to distrust Microsoft, and they haven't changed.
I certainly don't trust IBM in all things. What's significant for it in terms of its relationship with Open Source and Linux is that IBM has determined that its fundamental business interests are inextricably aligned with Open Source and Linux systems.
Microsoft have shown themselves to be adaptable over time, but it also frequently acts in limited ways that are clearly in its interests. And while, yes, Microsoft are contributing directly to the Linux kernel, the contributions are largely drivers related to Microsoft technologies -- mostly the Hyper-V virtualization system, where the enhancements allow Linux to run within Windows Server instances. Hardly generalized kernel code improvements, though still useful to some (notably, Microsoft). (http://techie-buzz.com/foss/microsoft-linux-3-0.html).
I don't have a source tree handy to check myself, but I suspect that this is still the case.
Rather more telling is the ongoing drama in the UEFI boot management which may restrict future X86 systems from being able to boot anything but Windows: http://www.linuxjournal.com/content/microsoft%E2%80%99s-take...
Their position was much stronger in 1998. But over time MS has lost the war on open source. The idea of trying to stop the spread of FOSS and licenses like GNU is no longer a realistic strategy for them.
The documents filed in Comes v. MS detail MS's own admissions internally that MS lost its way. Apple uses open source. Google uses open source. It has been very successful for them. The same open source code is available to anyone to use, including MS.
But MS still has the same motives with regard to open source code. Embrace, extend and extinguish. Extinguish. That is not good for the consumer. MS for whatever reasons does not like the idea of open source.
http://en.wikipedia.org/wiki/Criticism_of_Microsoft
MS is just a large copy machine these days. They just copy Apple and Google; they buy Facebook users. MS are not leaders anymore. They are followers. They have the cash to copy or acquire any competitor for many years to come.
There is an underlying tone in the community but some of us make a living thanks to Microsoft.
I am impressed that they have done this, which is why I posted it.
Our current proposed structure would be to use AWS for front end and Azure for the DB which isn't ideal but I find AWS far more flexible for our purposes.
A windows 2008 server license on 2 machines for fall back comes in at around £700 - £800 a month per instance. The same redundancy on Azure is around £80 - £100 a month. If it doesn't work then we go back to the drawing board, if it does work then we have saved ourselves an almighty chunk of money.
We cache a lot of data in our application too which we are putting into elasticache, which is local to EC2.
We haven't used it in great stress yet but initial tests were very good
If azure opened it's model up then we wouldn't need to do all this!
Though they're probably still ephemeral, but then again, so are EC2's...
I kept thinking that this must be a quick and dirty hack and there was a proper PaaS-like solution. Nope, that is the official support for the JVM. Pretty much the opposite of Heroku.
To be fair, they probably offer proper PaaS for their technologies. But for other things, it is basically (windows) infrastructure and you have to configure/update/etc your software on your own. I wouldn't expect any bells and whistles for the Linux support. Then again, it doesn't hurt if we have a choice.
One of the other announcements from yesterday is that there's now tooling for Eclipse which should eliminate this pain point. See http://msdn.microsoft.com/en-us/library/windowsazure/hh69094... for an overly-detailed description of deploying a Java app to Azure.
It didn't take long to figure out (Microsoft is one of the few companies that really puts a lot of effort into documentation, and I appreciate that).
I have two other problems with that:
- I need to think about it again whenever a (security) update is released for the software (not only including the jvm, but also the web server and, for me, scala and akka) - I have to upload that whole mess each and every time when I update my software. For my slowish internet connection, it took at least 30 mins to upload the whole stack (JRE, netty, scala, akka). [Fixed that by putting the .zips into the storage (whatever their S3 is called) and let the .cmd script download these]
Oh wait, I just remember one more detail about the webserver (taken from the .cmd):
:: 3) Place a Jetty 7.x distribution as jetty7.zip under approot in your project
:: 3.1) If you want to download the server into Azure directly from a URL instead, then
:: uncomment the next line and modify the URL as appropriate:
:: cscript /NoLogo "util\download.vbs" "http://download.eclipse.org/jetty/7.4.5.v20110725/dist/jetty... "jetty7.zip"
That is just wrong. If the eclipse server is down or changes its URL... my servers won't start. And, if I load balance my servers, I everytime use server resources of eclipse?
I really do not understand why Microsoft doesn't simply provide VM images with Java and the common webservers pre-installed. Or, at least a repository inside azure where I can download common Java versions and other common Java software. They spent big marketing dollar on their website and documentation on Java, yet when I actually used it, it felt like the engineer spent 2 hours on the Java support.
All of this is fine IF I want 100% configurable IaaS. But I'd rather have PaaS (which is what the parent comment was about), and Heroku, CloudBees etc. have so much more to offer, at least for Java.
And before the fanboi's jump on me about Windows, you can't get every video/audio encoder on the planet on Linux so sometimes we had to deploy Windows and OSX boxes to get all the various encodes we needed for our distribution. Some of the code literally was 10+ years old and the original companies out of business.
http://register.meetwindowsazure.com/?invite=17ae2e27-2b9d-4...
I think this is fantastic news. AWS needs serious competition from industry titans. It doesn't matter if a startup charges half the price if it might not be around in a year or two. Nobody gets fired for buying Microsoft.
At their core, Microsoft tends to be very practical when it comes to B2B relationships.
Somewhat off-topic, but I hate this quote. Replace Microsoft /w IBM/Oracle/etc and it's still a straw man argument.
I recently worked for someone who came on to replace the CTO of Java-shop, brought in a number of Microsoft developers, and was unceremoniously fired after less than 2 years.
Your example has the CTO coming in and changing one industry standard technology over another due to personal preference, and that's the reason he got fired. The story could just as easily been the other way around.
If a startup like Heroku comes along that's a more direct customer to AWS, despite being the darling of a site like this (myself included), nobody in enterprise land is going to touch it with a 10 foot pole. MS could compete toe to toe with Amazon for this business, and that's my point.