AppHarbor (YC W11): "Azure Done Right"
techcrunch.com
techcrunch.com
However, I question whether there is enough of a market for these services to be truly successful. There are plenty of .NET developers using Git - but for the most part many of them are just now getting to Subversion - or even worse going with TFS (Microsoft's mess of a SCM). MS developers are also traditionally inside medium to large companies - the majority of which want their applications hosted in their own data centers. MS might be able to convince them to use Azure - but a small startup is going to have one helluva time convincing them to host their LOB app with them.
I'm only speaking from experience here. It's just not a community of tinkerers that's on the cutting edge. I can't think of a single exciting .NET open source project. All of the good stuff that I know of in .NET is commercial: Stack Overflow, Unity, umm... anything else? It's a community that waits for the next thing to be handed down from Microsoft.
Show me Heroku for Seaside... now we're talking!
P.S. If anybody wants to show me some vibrant cutting-edge open source projects built on .NET instead of just downvoting, I'd love to know. Thanks!
The .NET community may not have the number of hobbyist developers that Ruby, Python, et al have, but we do exist.
That said, you're clearly speaking to your perception of what you see on tech-help boards -- and confusing that with the whole of the .Net ecosystem. .Net has vastly larger segment of 9-5/offshore/crap/whatever programmers than most other programming communities (aside from Java, being a similarly targeted platform). That doesn't mean that there aren't a bunch of DVCS-using, TDDing, PairProgramming, SE hipsters out there (or whatever you think is so awesome).
There's Mono (which kicks ass), NHibernate (which kicks ass), a plethora of cool projects on Github, C# is a killer language (compared to similarly rooted, C-like, imperative languages at least), F# has recently been promoted to a first class language on the platform, LINQ is unmatched in similar languages/platforms, .Net is pretty rock solid, and high performing. (edit: Oh, also, MVC, F# + MVC, Lightweight HTTP servers ala Sinatra)
Plus, the right tool for the right job. Let's not get all 'anyone who knows what's up would be using Ruby', etc.
OSS on .net is weird in that commercial pressures and Microsoft's anchoring of the system warp it a bit. Things are located in weird places (codeplex) and discussions happen in weird places. The community is also fairly cut off from the *nix oriented OSS community. I run across stuff randomly that I'm surprised is .net and open source but it's intermittent since I'm mostly in the normal OSS ecosystem and am not particularly well connected to the .net world.
I want to see that too.
At the end of the day, though, they have an idea, and have convinced investors that there is enough of a market for this type of service, so good luck to them!
We definitely thought about going the AppHarbor route - and I can't lie that we might not go there at some point - I just think the market opportunity there is much less in the .NET space then in the Ruby space. (which is why we are focusing on VPSs right now)
As a consequence of this, he has reworked his provisioning systems both for shared hosts and VPSes to work smoothly with both Linux and Windows to the point that the only difference you will notice is the price-tag.
Everything works out of the box. The platform you want, capacity you want, extras, applications etc. And this with no extra manual work for the company.
The provisioning system is a massive enterprisey setup with at least 10 servers. I doubt he would have put in all this effort if it weren't for an actual demand in the market.
That said (and despite getting free hosting as a "beta-tester" and Windows consultant), I'm going to give AppHarbor a try.
Also, it seems to me that SQL Azure alone may be worth using Azure instead.
Disclaimer: I was an intern in the Microsoft SQL server group last year. Since I'm normally a POSIX kernel developer the rest of Azure was only mediumly interesting, but it seems like SQL Server is one of the really strong advantages of the Azure platform.
AppHarbor so far seems butter to me. It's something I think is needed for .NET devs. If Scottgu hasn't seen it, show it to him. ScottGu's patented demos would be great if he pushed his bits live up to AppHarbor.
The big problem I have with AppHarbor right now is Git. Git on Windows kind of sucks, although it could just be my lack of knowledge about it. A Subversion version of AppHarbor would be sweet.
No, it's because it was written with POSIX structure and assumptions in mind. Until someone takes the initiative to actually rewrite the git core targeted at the Windows environment, Git will always be a second class citizen on Windows.
We committed ourselves to the Azure platform because we also needed things like Table Storage and Message Queues. I'm not quite sure what their road-map looks like, but before claiming to be 'Azure done right' I'd like to see some tips on how I would run my Azure app within their service.
I have to also admit that the GIT stuff basically prevents me from actually being able to play around with it right now.
Another thing is that we will never provide the full range of Microsoft solutions. Microsoft already does that. Our edge is that we can offer more than just Microsoft products, and as we're running in EC2, there's a whole range of providers offering additional value as well. For instance, we're going to support memcached, because it's industry standard. Microsoft will support Velocity, because that's what they make. I think this is a substantial and important difference.
To sum it up, we're going to support file storage, message queues and what you need to build a scalable web application. Some may be the Microsoft flavor, and other may not.
All of my Windows work during 2010 used Git and it was perfectly fine. The only thing that even comes to mind is that there was a tiny bit more effort with initial setup of SSH than on other platforms.
I actually like .Net a lot and my comment said "those of us". My product runs on .Net and I use SQL Server 2008 and C# 4.
At first this seemed great, but for us to even consider switching we would need to know a few things:
- How backups work - How does well does it scale - How is the MsSQL organized, shared db with thousands of users? - SSL is a must - Can't run any real web app without services, background processes - Pricing (bandwith, storage, etc.)
I wouldn't go so far to say that I'd choose it over Heroku or other stacks.
Do you just use cygwin'd git wrappers? Do you use any additional tools? Any advice would be appreciated as I'd love to try this service out on its own merits (and not biased by git's lacking merits in a Windows environment).
The second one (with \'s vs /'s in paths) can iirc be fixed with some simple bash aliases for the git-console, so it should probably work out.
Looking forward to try the service out :)
Probably that's exactly what is on their mind.
It's ridiculous to think that MS is going to die-die in the next couple decades. It's equally ridiculous not to acknowledge that their influence is greatly diminished and is diminishing. That doesn't mean things won't change, and it doesn't mean there are no markets around an MS ecosystem.
In the past, you used to have one computer that you share may be with the other member of your family. Now, you have many computers, a smartphone, a tablet and other gadgets (iPod, Kinect, reader...) there are lot of rooms for lot of other companies, so it seems like Microsoft lost, however, it has not.
And then with Turbo Pascal and Delphi and Borland C++ the MS tools stack was dead. And so with Java.
In circa 1999 I'd ask college grads about the VB type system... not a single one knew a thing about it.
In 2003 we built a distributed ap on .Net and we were told that it was foolish, we should use CORBA.
There was a time when the LAMP stack was going to kill MS.
There's always a circle that thinks MS is dead. And to them it is. Yet I think they'll be more than fine for the forseeable future -- at least as well as any other stack.
I often see these things thrown around but very seldomly with any good examples. We use Visual Studio + .NET + MSSql/SqlAzure and from time to time I take a look at what else is out there but I have a hard time seeing how any of it could make us more productive.
Now in the past I've used a lot of different development tools and in those cases there is a loose coupling between things like editors (e.g. emacs, vi) and a particular development platform. Now I rather like VS and C# - but the prospect of buying completely new hardware (work and home) just to make up for deficiencies in Microsoft's tools is driving me crazy.
With .Net you really do have to use Visual Studio - if you don't then you probably have lost 70% of the benefits of the platform. If I was to move (actually move back) to using emacs or something as my main editor I might as well move completely to JavaScript, CouchDB and node.js - which was a direction I was moving in anyway for my own projects.
However, I find myself tripping up because I'm using the wrong language's syntax or intricacies of library functions often enough with the portfolio of languages I work with already.
I need to know .Net for work. The idea of adding yet more platforms and more variations on the same theme just to be able to play doesn't appeal.
With VS2010 (Express) and SQL Server 2008 (also Express) installed and being happily used periodically. SQL Server is a little slow if you're doing anything very ambitious with it but it's fine for routine work, VS runs as well as anything does on the netbook.
Just a personal opinion but I don't find it unacceptably slow or even noticeably slower than VS2008, which I've also worked with.
I suspect your issue may not be purely with VS2010.