Live data from Hacker News

Thank You Heroku, or "How To Eliminate Sysadminning"

blog.dougpetkanics.com

61–66 of 66 posts

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#61
post #43
post #17

Earlier quoted context omitted.

In a perfect world heroku would be the ideal "pay later" option. I.e. you start out with them and once you outgrow their platform you simply hire the sysadmin then , and make him transplant the beautifully clean rails app onto your own infrastructure. Except... reality is harsh and ugly. You want the guy with the sysadmin foo on your team from as early as possible. Because if your thinking goes along the lines you ju…

I'm a sysadmin-turned-startup-founder, so there's my bias right there, plain for all to see. With that, this is really, really good advice. In sysadmin-land, all my pain comes from software that was never written with management in mind. Assumptions like 'all TCP ports are open, all the time, between all servers', 'we can put things wherever we want in the filesystem', and 'the server should be configured just like m…

Someone needs to expand upon this and make a blog post out of it. I, as a non-sysadmin, feel like I got an education after having read just these few points, but that's just made me feel even more ignorant than before. :/

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#62

Not related to the content of the article, but does anyone else get annoyed with sites that put some sort of onclick/mousedown handler on their links, presumably to track outbound clicks or something related? This overrides the middle-click behavior of my browser to open the link in a new tab. I'm trying to open your outbound link in a new tab so I can continue to read your content AND later read the page being linke…

Can't this be done in a non-obtrusive way? Not every site that uses analytics has this type of annoying behavior, so I'm left wondering what additional value they get by overriding onclick.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#63
post #25
post #12

Earlier quoted context omitted.

No. There are a number of some pretty serious restrictions. I would _love_ something like Heroku for WSGI applications. Ian Bicking is working on something similar, not as high level with his Silver Lining project. http://bitbucket.org/ianb/silverlining/

A couple of months ago I explored building a Django-friendly Heroku clone. I white-boarded out the architecture, estimated how much work would be needed for all the pieces, and built a spreadsheet revenue model. It's an interesting and attractive business, but I'm only one man and my C skills are rusty (really, really rusty). I couldn't get myself to a point where I could deliver a product for at least a year, and I…

I think you could get well into the "people are paying money for this service" stage of a hosted Django hosting platform without ever having to touch C. Python is fast enough to do most of the systems-level programming you'd need for such a beast, especially since so much of the standard library (socket, struct, asyncore, subprocess) sits directly on top of the fast POSIX syscalls you'd be invoking to do the same work in C anyway.

Going down to the metal may help squeeze the last 10-20% out of your hardware, but the the really interesting and challenging work in coming up with a scalable hosting platform is elsewhere: security, monitoring, process spawning/reaping, deployment, et. al. If working in Python gives you a time-to-market advantage, then go for it. You can hire a C hacker when you have enough business to make the improvement in your hardware utilization efficiency pay off.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#64
post #63
post #25

Earlier quoted context omitted.

A couple of months ago I explored building a Django-friendly Heroku clone. I white-boarded out the architecture, estimated how much work would be needed for all the pieces, and built a spreadsheet revenue model. It's an interesting and attractive business, but I'm only one man and my C skills are rusty (really, really rusty). I couldn't get myself to a point where I could deliver a product for at least a year, and I…

I think you could get well into the "people are paying money for this service" stage of a hosted Django hosting platform without ever having to touch C. Python is fast enough to do most of the systems-level programming you'd need for such a beast, especially since so much of the standard library (socket, struct, asyncore, subprocess) sits directly on top of the fast POSIX syscalls you'd be invoking to do the same wor…

Well, some effort needs to go into some plugins for nginx and varnish. nginx needs to route incoming requests to the right varnish, and some custom cache invalidation stuff should happen on varnish as well.

Other than that? Lots and lots of python, of course ;) I'm only one guy, and there are three or four big moving parts that need to be written. Something to build eggs and push them, something to monitor and manage processes on individual servers, something to dispatch requests to the appropriate servers, and something to monitor and manage the database servers.

Even pulling back and looking at a minimum viable product, I'm still doing most of that work, just far simpler versions. Succinctly, it's too big for me to tackle on my own in the next six months.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#65
post #18

I'm seriously considering Heroku, for my test/learning projects, and am willing to pay a little. Blossom and Koi are good for me. But one thing that is making me think about VPS instead of Heroku is the ability to run multiple apps from one VPS unless I really need the power. Does Koi allow you to run multiple Rails apps/websites per Koi, or is it 1 per Koi?

Each app is a separate instance. I have 5 apps there for free. The benefit of my knack for creating unsuccessful side projects. :)

In any case, pricing is separate for each Ruby app you wish to run. You could run one under Blossom and the other under Koi, no problem.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#66
post #64
post #63

Earlier quoted context omitted.

I think you could get well into the "people are paying money for this service" stage of a hosted Django hosting platform without ever having to touch C. Python is fast enough to do most of the systems-level programming you'd need for such a beast, especially since so much of the standard library (socket, struct, asyncore, subprocess) sits directly on top of the fast POSIX syscalls you'd be invoking to do the same wor…

Well, some effort needs to go into some plugins for nginx and varnish. nginx needs to route incoming requests to the right varnish, and some custom cache invalidation stuff should happen on varnish as well. Other than that? Lots and lots of python, of course ;) I'm only one guy, and there are three or four big moving parts that need to be written. Something to build eggs and push them, something to monitor and manage…

I'd do without eggs and provide common Python libraries that need compiling on the server (lxml, Crypto etc.). You'd then simply accept Python code over the live for deployments. You'd also want to handle rollback, schema migration, key-value services and a DB per instance, some sort of dumping/loading of data. If you stick with certain django conventions (namely settings-as-a-module and apps/libs on PYTHONPATH) you could get away with a really sweet and simple deployment procedure. A pretty smart client to handle all this is a lot of work too. Have a look at Silver Lining. Just got EC2 working on my fork ;)
Post reply on HN