
I left Heroku for OpsWorks and shaved 40% off response times - swrobel
http://www.stefanwrobel.com/heroku-to-opsworks
======
iagooar
While I can understand the advantages the author of the article mentions, I
must say that one should think about making the move to OpsWorks, because you
can't compare their prices without considering other costs / tradeoffs.

A friend of mine and I have been working on a startup for the last 8 months.
It has been tough as we have been working full time for a company and hacking
like crazy once we got home, or on weekends.

We chose to use Heroku because of the dead simple workflow that would allow us
to spend time developing features instead of maintaining the infrastructure.
This may sound like a cliché, but boy was it a good decision. The platform is
rock solid, deployments are a bless and the add-on system is just one of the
best time savers you can get.

We know OpsWorks (or earlier Scalarium) from our full-time job, and we know
how cool it is. But we also know that it requires a lot of time and additional
effort to keep things running.

This may pay off if you run a company which can afford it, but you should
think about it twice if you have limited resources (and other, more important
things to do!).

Even now, after we have launched, we still see no reason why we should move
from Heroku to OpsWorks (or another platform). We have made some optimizations
and clever (to us) decisions to avoid running into scalability problems. Maybe
we will think about migrating once we get a ton more clients and even more
traffic. It is cheaper to just add some dynos than spending time on server
administration.

In the end, it's all about making the right decision, so don't hurry and if
you think Heroku is too expensive for your business, maybe you are not making
enough revenue from your customers. On the other hand, if you have the money
and time, than go for it.

~~~
Aqueous
If companies think Heroku is more expensive they are failing to factor in how
expensive it would be to have an employee to do all the work that Heroku takes
off their plate. I work 45 - 50 hours a week developing. If I have to do
devops - provisioning, deployment and system administration work - to maintain
a server infrastructure there goes 15 - 20 hours! Surely my company is paying
less to Heroku to manage that redundant, and at this point formulaic
infrastructure than to me to do the same things that they've automated away. I
can then work on our products. That seems less expensive, not more.

~~~
grey-area
Once you have done the setup once and have it all automated, it's more like 1
hour per week keeping on top of upgrades, backups etc. So for many people
heroku is an expensive option, even when starting out. Nothing wrong with
using it, but outsourcing your infrastructure does not come cheap, compared to
other options like a VPS.

~~~
Aqueous
VPS is much more expensive because you have to do all the work to provision
(either manually or automatically) the software stack you are working with,
configure every new instance either, configure your deployment and testing
pipeline using a CI server and using git hooks, and keep the whole edifice up
and running. The time overhead is very large, and it ends up taking over as
the major cost driver.

~~~
grey-area
Having done most of the steps you mention above for multile clients, I'd
contend the time overhead is not very large - most things can be automated,
and once that is done an extra instance is just a matter of spinning up a
server and deploying - also you can scale a very long way on one or two
instances when the hardware is beefy enough (e.g. this website), backup,
deploy, testing can all be automated. There are definitely some situations
where a service like Heroku or AWS makes a lot of sense, but it can get
expensive very quickly; you're trading time to setup/manage for higher ongoing
costs forever. VPS is cheaper but requires some setup. That's a trade-off each
company has to evaluate individually given the talent and money they have.

------
ericd
Based on his mention of SSD-backed instances (c3.large) being only $100/mo, I
looked at EC2 pricing again to see if it had become more competitive. Turns
out it only has 2x16 gigs of storage and 1 physical core.

Looking at the c3.8xlarge instances, they're specced pretty much exactly like
the servers I just built for $9k/each, except they have half the ram (60 vs.
128) and half the storage (2x320 vs 4x320). And they cost the same to rent for
6 months as it does to buy one, including coloing.

So, if you need more than a fraction of a physical server, EC2 still loses
pretty hard on the pricing. It seems as though it has become competitive with
Softlayer, though, at least.

EDIT: Ah, but if you pay $11.6k upfront to reserve it for three years, it
reduces the monthly bill from $1728 to ~$370, which is a much better deal than
Softlayer offers. That's actually a pretty reasonable premium compared to
racking them yourself, though you lose flexibility and the hardware is worse
than what you'd get yourself. Well played, Amazon.

~~~
ericd
>Your servers are also likely 2-5 times as fast in the CPU department too.

FYI, you've been hellbanned, Sssnake.

They use slightly better processors for the C3s than I use (2x8 core 2.8 vs.
2x8 core 2.6). I'd assume that if you get the largest instance, you probably
have the whole machine to yourself and don't have issues with bad neighbors,
so it's probably actually slightly faster than mine.

~~~
vinceguidry
Possible he's been hellbanned, but his latest post is the only dead one.

~~~
ericd
Ah you're right. Sorry if it was a false alarm, Sssnake.

~~~
vinceguidry
It was you that's right, he has indeed been hell-banned.

~~~
ericd
Agh he has. That's a shame, his comments seem to above average. I wonder how
that happened.

~~~
vinceguidry
Look at the last post he made before he was hell-banned.

------
andrewvc
Opsworks is nice, and it's a good packaged solution. A large number of smaller
apps would benefit from a switch. It's also more fairly priced.

That being said, opsworks is still based on chef, which is still cumbersome.
For most people Ansible is far easier to deal with if they don't fit into the
opsworks box. The overhead of starting from scratch with ansible can be made
up for with the faster overall development time.

~~~
darklajid
Ansible: I was in the "Don't go there" camp a while ago - they documentation
was horrible, the whole website a mess and lots of things weren't discoverable
at all (people using ansible told me that they used google site search to find
stuff in the manual).

I returned a couple of days ago to look at the current state of things and I
have to admit that I was impressed. Technically I really liked ansible for
quite some while. Now it even comes with decent documentation. I'd back the
suggestion to check it out.

~~~
ghayes
I was really excited by ansible, but I quickly found out that using `register:
result` and `when: result|success` throughout so many playbooks meant I was
back to the mess that is understanding the flow of a chef script that you
didn't personally write.

Maybe that's not a problem since I rarely found an open source ansible
playbook for anything I needed and had to always write my own.

~~~
zenojevski
Hi, I've published some reusable roles for ansible. They are still quite
basic, but I'd love for you to have a look at them.
[https://github.com/search?q=%40zenoamaro+ansible](https://github.com/search?q=%40zenoamaro+ansible)

~~~
ghayes
Always great to see people putting up open-source projects like this. I'll
definitely give them a look, and at the least, get a grip on how other people
found solutions with Ansible. Thanks man.

------
joeblau
Nice writeup. I recently switched from Nodejitsu over to Heroku for my open
source project gitignore.io and I noticed there was a slight slowdown in
response time. The app score index in New Relic went from around 92 to 100
though so I guess Heroku's servers on AWS were a bit more reliable. I also
added in a CDN to increase the speed of serving the static assets.

All in all, I can say that I'm happy with the transition, but I'm also running
one Dyno which I'm far from maxing out. I feel like for a larger product,
Heroku would be more problems down the line than it's worth.

~~~
swrobel
Exactly how I felt, great at small scale, but increasingly painful to use as
you reach scale.

By the way, great tool, thanks for building it!

------
incision
One limitation with OpsWorks is that as far as I know, there's no option to
use spot instances whereas it's not a problem with EC2 launch configurations
for AutoScaling Groups. Also, ASGs and OpsWorks both have options for time and
load-based scaling with different interfaces.

It's easy enough to understand how this happened as OpsWorks came about via an
acquisition, but consistency would certainly be nice.

Presenting overlapping yet incompatible features under the blanket of AWS is
confusing and potentially pretty frustrating.

------
DrJ
FYI OpsWorks runs their Chef on Ruby 1.8, make sure your cookbooks passes on
1.8, and it doesn't depend on +1.9 :)

This is nothing on AWS OpsWorks, as they greatly simplified interface into
managing clusters (for deployments, organization).

I found about this recently as I updated a community cookbook(python), as the
Chef community is moving forward (with Chef 11+) that 1.8 has reach EOL and
1.9 is stable (2015) and 2.0 current, and 2.1 is new-hot-ness.

------
banachtarski
What do Opswork, Chef, and the Heroku platform have to do with response time?

Did the author investigate why the response time were that slow to begin with?

~~~
swrobel
I wouldn't say they were "slow to begin with" but improved speed is always
nice. I think the major contributing factor was access to newer, more powerful
instances. Heroku Dynos run on very old EC2 instances.

------
juandazapata
At WeHostels we moved from Heroku to Rackspace last year and we shaved ~30%
off response times.

~~~
thinkbohemian
Curious from a user experience perspective would you consider going back to
try out the PX dyno service? Do you use chef or puppet or any other software
to manage your Rackspace instances?

------
Ryel
How's Science-inc working out for you?

~~~
swrobel
That's a whole other conversation ;)

~~~
Ryel
Hopefully good, lol. I've been watching them recently and thinking about
reaching out with a couple prototypes.

