Heroku at Railsconf

by James – May 28

If you’re coming to Railsconf this weekend, definitely come by and see us – we’ve got a lot going on:

Orion, Morten, James, and Adam are speaking about why Heroku means never thinking about hosting or servers again on Saturday at 1:50pm.

Adam is speaking about HTTP routing and Custom Nginx Modules on Saturday at 2:50pm.

And James is speaking about the Rails stack, Rack, and advanced Mongrel on Sunday at 10:45am.

Heroku’s got a big booth in the exhibit hall, where we’ll be hanging out, hacking, answering questions, and giving away swag.

We’re also going to be hosting Geoffrey Grosenbach recording podcast interviews, live from our couch. He’s got several awesome interviews lined up:

Friday, Lunch — Ryan Singer of 37signals
Friday, 3:40pm — GitHub Founders
Saturday, Lunch — Phusion Passenger (mod_rails)
Saturday, 3:40pm — Adam Keys interviews Geoffrey

Come by and check it out.

comments

tagged: news

We are happy this morning to announce we’ve raised a $3 million round of funding, from Redpoint Ventures and some other great investors.

Adam, Orion, and I started Heroku with the goal of making software development much easier and more accessible. We’ve got big plans – what we’ve done so far is really just the first step. There is so much we’ve been dying to do, but we just haven’t had the capacity.

This investment will allow us to beef up our current offerings, expand into other parts of the development process, and build out the company to support our quickly growing developer community.

This deal has been in the works for a few months, and we’re just so excited to have both the financial resources and partners like Redpoint to help us realize our vision.

In the meantime, our private beta is really rocking. We now have over 10,000 developers building apps on the platform, with over 12,000 apps built so far. This enormous amount of activity is really helping us to hone Heroku into a smooth and sharp tool, and we look forward to opening up the beta in the coming months.

We can’t wait to unveil some of the stuff we’ve got in the pipeline. Stay tuned!

Quote (Adam to investors):
“I’m not coming to any board meetings earlier than 3pm.”
Quote (James to investors):
“Who’s the CEO? Well, I lost rock-paper-scissors, so I guess that’s me.”
Quote (Orion to investors):
“Can I get some of that in quarters? My laundry is really starting to pile up.”

More coverage: VentureBeat, TechCrunch

comments

tagged: news, press

Heroku Mailing List

by Adam – Feb 11

Heroku now has a mailing list on Google Groups. Stop by and introduce yourself, but first read the welcome post.

comments

tagged: news

Yesterday, DHH said:

“I’d love for Rails to be easy as pie to run in a shared hosting environment, though. I’d love for Rails to be easy as pie to run in any environment. In that ‘more people could have fun learning Rails and deploying their first hobby application’ kind of way.”

We humbly suggest that Heroku is one possible solution to the latter part of statement. Our vision for the long term is much grander than just a learning/hobby tool; but our beta product, as it stands today, can already fill this need quite nicely.

comments

tagged: news, rails

We’ve been working our tails off over the past few weeks to process all the feedback you guys have been sending (or that we’ve gleaned from the system logs). I think that this photo of the trashcan under Orion’s desk tells the story pretty well:

He bought that case of Rockstar at Costco last week, and consumed it all as part of our mad dash to squash bugs exposed by our sudden surge of users. Bad for Orion’s health, but good for Heroku’s backend stability. :)

One major area we’ve been dealing with in this past week is the issue of failed mongrel starts. That is, exceptions that occur while the Rails framework is booting, rather than on a page request. These sorts of exceptions often happen with imported apps, because certain types of plugins or gem dependencies may not work out of the box with Heroku yet, or you might just have some odd stuff in your environment.rb that isn’t compatible with the version of Rails we’re running.

Up until recently, this was producing an unhelpful HTTP 502 bad gateway page. Now, you’ll see the contents of your mongrel.log so that you can diagnose the issue.

If you were paying close attention, you might have noticed a “Restart” button that existed for a few days. We’ve removed that in favor of automatically restarting whenever you save a file that needs a restart (like routes.rb or environment.rb). So far this seems to work pretty well – but as always, let us know if you find a case where it doesn’t work as expected.

Some More Q & A

by James – Nov 20

What about gems, plugins, and different Rails versions?

We are definitely going to support gems and plugins. We are almost finished with a slick gem and plugin installer you can use for each app. In the meantime, you can install plugins by importing or uploading the files directly into vendor/plugins.

Currently, we only support the latest stable version of Rails. You can use a different version by uploading a frozen vendor/rails, but this may not work because of the 10MB storage limit constraint (rake rails:freeze:edge won’t work, by the way, because there are no outgoing network connections yet – we’ll discuss this in more detail in another post). We hope to be expanding our features in this area shortly.

Are my application and data secure?
I can execute arbitrary shell commands!

This is a brand new, limited beta, so we are not making any promises about security. That being said, we have worked hard to provide a secure environment, and we believe your application and data are completely secure.

Because we are providing a platform for executing ruby code, you have full access to system commands. While you don’t have an actual shell, you do have the ability to run shell commands via ruby. This is a feature, not a bug. We don’t believe you should need to run shell commands for any purpose, but giving our users a full ruby environment is important to us. Being able to run arbitrary shell commands is not a security threat the way the system is architected.

Can I have multiple environments, staging and production?
Can I run an app with the environment set to production?

Yes, we plan to offer multiple instances of your app and allow you to set the environment type for each. For now, however, each application has only one instance, and is always in development mode.

What about testing?

Testing is very very important to us and we plan to fully support it (we haven’t yet decided if this will be the standard Test::Unit or RSpec – email us if you have thoughts on the topic). We have several great tools and features planned for testing. For now, however, a testing database is not provided, so tests can’t be run. This is coming soon.

Hosting, performance, paid accounts?

We plan to offer multiple paid account types, with varying levels of features and performance. We will also always offer a free account. For right now, we are only offering one-size-fits-all free accounts.

comments

tagged: news

Some Q & A

by James – Nov 17

How long before I get in?

We are sending out tons of invites every day. We’d prefer not to have a waiting list, but doing it this way allows us to let people in only as we’re sure our infrastructure can handle the load. The number of people we let in each day keeps increasing, as our existing users give us feedback (thanks guys!) which helps us improve our product for the next batch of people coming in.

One of the areas we are most interested in is collaboration – this is, after all, a web application. We want to encourage existing users to invite their friends to become users and start collaborating with them, so we have given existing users the ability invite friends directly. So if you want to get an account faster, ask a friend for an invite.

If you are on the waiting list, we haven’t forgotten about you. We will get to you soon, and we really appreciate your patience.

I found a bug, what do I do?
What kind of feedback do you want?

Whether you actively found a bug, something just doesn’t seem to work or doesn’t work as expected, you can’t do something you want to do, or you have feature requests, please please please ! The whole purpose of this limited beta is to get your feedback and use it to make Heroku awesome and rock solid.

What about my existing tools and editor?
Do you support subversion?
Can you make your editor better?

We are hardcore vi, TextMate, and subversion fans. We will not consider Heroku completely usable until editing and version control either works as well as those tools, or there is a way to continue to use those tools with our service.

The existing Heroku editor absolutely works for making Rails applications. We know because we use it. So we also know that it kind of blows, as real developer editors go (so far we do think we’ve beat Notepad, though perhaps just slightly). It is getting better all the time, and we have some specific reasons we want to make a browser-based editor, which we’ll talk about in another post soon.

In the meantime, there are a couple of things you can do:

Import & Export

If you want to edit locally and deploy to Heroku, you can make liberal use of the import and export features. Setup your whole app locally, then just import it into Heroku. Your archive will replace the existing code base. If you make changes on Heroku and want to continue working locally, just export the app.

Snapshots

Snapshots allow you to take a named snapshot of your app’s code and data at any point. You can take as many snapshots as you want for version control purposes. Take a backup snapshot before you import, or take a snapshot before you try some crazy edits.

Can I import my huge complicated app?
What about MySQL versus PostgreSQL?

Yes, you can import your huge complicated app. It may or may not work. If it doesn’t work, please about it. Also, there is currently a 10MB limit for the storage footprint of each app. If your uploaded app is larger, you will see an overlimit message.

We are using PostgreSQL internally for several really important reasons, but we do plan to fully support MySQL database dumps, both in and out. We are almost done with this feature, so look for it soon.

comments

tagged: news

A couple of weeks ago we quietly started accepting signups for our private beta. We knew people would be excited about Heroku; I mean, we’re pretty excited about it. Word seems to have gotten out, as over the last several days well over 1,000 people have signed up.

We are inviting users off the waiting list all day, every day, as fast as we can. So we’re also receiving a constant stream now of feedback email. Some quotes:

OH – MY – GOD, Heroku! It’s absolutely great. In my opinion, it’s really a revolution in Rails development. – Chris

Wow. This is impressive, I like what I see. – Ben

This is exactly what I was looking for right now. I’ve started teaching myself ruby on rails, and it’ll be fantastic to be able to have something online to mess around with. – Micah

I am really excited about this project. It may become my de facto rails development environment. – Tony

Boy this looks awesome! When you see it, you go… “Well, of course! Why didn’t I think of that?” – Dirk

Wow what an awesome idea. – Bill

There have been some nice blog posts too, including Peter Cooper’s Ruby Inside.

We are glad to hear so many of you are so excited. Thanks to all of our users for your enthusiasm and feedback. We can’t wait to see how you feel about all the features we have planned…

comments

tagged: news

The Big Kickoff

by Adam – Oct 30

Unless you're a big company with lots of marketing dollars, rarely does a product launch start with a bang. It's a gradual process - first you show a few close friends and family members, then some coworkers from your previous job, then some friends of friends. The word starts to spread as you and your partners furiously hack away, trying to make the product stable enough to stand up to a pummeling from the general public. So there's no big kickoff; just a quiet emergence. And if your product offers something of real value, awareness in your target market will grow steadily and strongly over time.

So it is with Heroku. James, Orion, and I have spent the last several months developing what we think fills an important niche in the Rails world: a hosted development environment that is dead-simple to get started with. How many people have gotten excited about learning Rails, only to be stymied by the complexity of installing local development tools - before they even get the chance to write a "Hello, World" program? Or how often have you thrown together a small app for personal use, something that would be really useful to a few friends - but it's too much bother to deploy it onto a public-facing webserver? These are some of the problems that Heroku will be able to solve in the very near future. (We have grander plans for the long term, but we'll save that discussion for another day.)

This blog will serve as a changelog for our product. As we deploy new features and other changes we'll post here. Incidentally, this is as much to coordinate between ourselves as it is to communicate with our users.

If you don't have an account on Heroku yet (as of this writing, only a handful of people do), sign up on our waiting list. We hope to be able to start slowly sending out invitations within the next week or two.

comments

tagged: news