
Ask HN: What is the good time to move out of AWS? - kinj28
we are nearing 10k&#x2F;month in aws billing. Barring S3 &amp; RDS - we are not using any other major AWS platform service.<p>RDS is a mjor cost for us at this point. I fully understand that this can be too less information for you to give any suggestions, but I will be glad to see if there are any decision frameworks to look at moving out to own infra &amp; also importantly what could be other alternatives that we can look at to reduce costs (like digital ocean)?<p>I have seen dropbox do this. But I understand they do it as a much larger scale. Would be keen to know if any one in our shooting range has done anything to reduce this cost.
======
CyberFonic
IMHO the missing information is how much revenue you are generating with that
10k expense. If you are generating 100k+ / month revenue, then 10% of that for
storage is just the cost of doing business.

If you have to hire somebody at 100k p.a. to manage your bare-metal based
infrastructure, then, again, it doesn't make good business sense. And there
always are costs and lots of debugging in switching as well.

Although there are technical considerations in switching, I would be inclined
to understand such decisions from a business point of view. Of course, I'm
assuming that you are not flush with cash, otherwise you wouldn't be concerned
with your burn rate.

~~~
stephenr
Revenue is irrelevant.

They need a database server/cluster. Aws provide one, other places can host
one cheaper.

Less money spent is less money spent regardless of your revenue.

Also, this strawman of “you can’t save money outside aws, you need someone to
manage your racks” is beyond ridiculous.

If virtual machines work for you in aws, they’ll work for you elsewhere, and
there are fucking thousands of companies who will rent you virtual machines
for a fraction of what aws charges.

Ok, so yes you need someone to look after those servers. So? Are you seriously
suggesting it’s wise to use AWS provided infrastructure without someone to
look after it?

Anyone who says “aws means we don’t need ops” has no fucking clue what they’re
talking about.

~~~
ddorian43
What are these places with cheaper aws-rds ?

~~~
stephenr
RDS is a database service. I said you can host a database cluster of your own
at other providers for less money, not that other places have a literal RDS
clone.

~~~
bellt0wn98121
You'll have to know how to setup and maintain your own database
infrastructure, though, right? I'm not an infrastructure engineer, but
patching, security, OS updates, database software updates, being able to
quickly redeploy in case of failure, redundancy, etc.

I've read horror stories about the poor engineers at AWS who are on call and
have to detail with physical pagers paging them at various hours of the night.
Systems fail, dependencies fail, shit happens... So now you will need to hire
some small team to do these things for you.

I'm not saying you never need to be concerned with any of these things if
you're on Azure or AWS.

I am saying that you need to factor in these components into your costs.

Infrastructure management might not be a core competency at my company. That's
why I pay some premium but hand it off to the Azures and AWS's of the world.

Is hosting your own database cluster at some other company for a smaller
monthly fee actually saving you money each month? What are the other costs to
your business from making the move?

The answer _could_ be yes, it's cheaper and makes 100% business sense. All I'm
saying is these questions have to be asked, investigated and concluded.
Arguing on one side or another without going through these steps is
shortsighted.

~~~
stephenr
Unless you're running something particularly esoteric (which means you _aren
't_ used RDS anyway), software updates will come from either your distro's
packages if you use them, or the vendors packages (e.g. mysql, percona,
mariadb, whichever flavour of postgres, etc). So updates are straightforward,
regular maintenance, not that different from any other Linux server. Who
maintains the servers that your app/site runs on?

Security is basic OS security, and then DB specific security, which is IMO
easier to deal with than AWS security.

Your infrastructure setup should be repeatable, regardless of whether you use
AWS or a bunch of old laptops in a closet. This can be anything from shell
scripts to your own custom apt repo and private packages - so if you need to
'redeploy' because you don't have a HA failover (I dunno, maybe you like to
live dangerously?) you re-run the setup process on a new cluster, and import
the last backup you have.

Sure, for some organisations AWS may be the best case scenario, but I've yet
to see one where it actually is. More likely, is organisations that somehow
believe AWS means "I dont need ops" because a developer with zero ops
capabilities/experience clicks some 'create instance' buttons, and follows a
web tutorial on 'how to run your site on AWS'.

------
damm
If you are spending 10k a month basically on a datastore don't you think you
could use a managed hosting service like Softlayer (IBM), Internap, Rackspace
... there's also some smaller mom and pop datacenters that will image a server
for you with x or y.

You can chop that 10k into 2k a month for 2 large boxes on Internap (10gig
uplink, 128gigs of ram, 16tb sata with 480gb ssd and this isn't the actual
price it's actually about 250 less than 1k, no guarantee you can get the same
price)

There is a setup cost both from the managed hosting provider and from whatever
you provide to install the datastore and configure replication and backups.

Its easily worth it but there's work involved if you up to it it's not going
to break you. It will make you stronger.

------
chatmasta
The most important question is how AWS costs scales in relation to number of
users. Specifically, here are the questions that I would ask:

(1) What is the range of variable cost per user? Can you pass variable costs
onto users? For example, if one of your power users is consuming 500gb of
space in your DB, are they paying for the 500gb of space, or are they paying
the same as your customers using 0gb of space?

(2) How do storage/cloud requirements change with an additional 1 user, 100
users, 1000 users?

(3) Is your monthly revenue per user greater than your monthly cloud cost per
user?

(4) If you gained 100k users tomorrow, would you go out of business this
month?

(5) Do your costs scale linearly with number of users?

(6) Are your capacity requirements generally static and predictable on an
immediate (daily, weekly) basis? Or do you have large spikes in traffic?

Generally speaking, the advantage of the cloud is elasticity; you provision
capacity on demand only as you need it. If you are running instances 24/7, you
are almost definitely losing money. The first cost saving measure I would look
into is moving core, basic infrastructure onto dedicated or colocated servers.

By "core infrastructure," I mean the predictable capacity that you always
need. Keep that in one place with a low fixed cost. Any extra capacity you
need, use the cloud.

------
reacharavindh
If your needs are not complicated than S3 and RDS, then the following
questions come into play..

1\. Can I afford to run my own DB and Object storage with acceptable service
levels? Do I have the necessary skills in house? 2\. Is this cost relatively
long-term or very short time? If long, renting space for your own servers at
co lo datacenter might be well worth it. If you're not sure about your
business, it might be wise to stay put with AWS.

I think it is a conscious decision based on your future plans and business
goals. There is no direct answer to such infrastructure planning.

------
idunno246
Dropbox did this because their core business is data storage so it makes sense
to in-house data storage.

There’s some simple things you can do, like reservations, that can cut 30-40%
off your bill.

In most places I’ve worked, even if we dropped our aws costs down to zero, it
wouldn’t materially affect the business. Developers were generally the bigger
expense, so having one take say a month to research and migrate instead of
building a feature.. usually building features won because there’s no cap on
the upside. Cost savings were generally only done if they were quick wins.

------
FlyingAvatar
I don't believe there to be an ideal cut-off point, as the value of the trade-
offs are largely situational.

Questions you should ask:

\- How does the monthly rate change as we grow? (i.e. Do you have an
architecture that doesn't scale well?) Maybe what you have is fine as you will
grow into it. Maybe your cost growth will out-pace your revenue/user growth.
This one is really important to understand.

\- How optimal is my current RDS/S3 setup? Are you using instance types above
your needs? Are you retaining more data than you need? (i.e. Are you simply
over paying?)

\- How optimal is my application's usage of AWS? (i.e. Are you using
indiscriminately?)

\- How severely is the growth of my business impeded by the loss of
$2k-$10k/month? Where else could it be applied to grow the business? (i.e. Is
thinking about this the best use of your time, or is it just the most glaring,
easy thing? Remember that saving on monthly expenses doesn't get you customers
or grow your revenue.)

\- What hidden costs might there be from switching away from the status quo?
In addition to the monthly costs, what will the development/operational costs
be? Are you making trade offs in your availability or your ability to quickly
recover from technical issues by switching?

------
imauld
There are other costs associated with moving out of RDS. You may spend less on
your hosting/storage but you will likely be spending more time on maintenance.
You'll now be in charge of executing snapshots and making sure they work.

If you have someone on hand that has the time and is willing to be on call for
managing the DB that's great and it's probably worth it. But if you have to
hire someone or have to move someone of of other work to take care of the DB
it may not be worth it. And if you can't hire someone and don't have someone
with experience in managing a prod DB it could be a risky move.

Speaking of moving, the move itself can be risky. It can be tricky to move
data like this depending on whether or not you can take some downtime, how
much downtime, what your data access patterns are, if you can easily dual
write and how long it will take to transfer the data are some things to think
about. The cost of the move itself in dev time and testing costs (you will
probably want to make sure this works before doing it for real, which means
starting up copies of your DB in both AWS and your new provider) might blow
away any savings you might make for some time.

It also depends on the DB tech you are using. Some are more reliable than
others and require very little attention.

I don't know enough about your situation to give you definite advice but those
are the things I would consider before moving. There are a lot of non-direct
costs associated with something like this so it's best to think through
everything. Some other things to consider are dev familiarity (they used one
tool now they need to learn another), monitoring and observalbility (you
didn't mention using cloudwatch but it's there), security and
upgrades/updates.

Good luck with whatever you decide on.

------
stephenr
I’m currently moving a client’s RDS into a linode hosted percona cluster, and
we expect to pay no more, but gain flexibility (and reduce latency/wan sql
trafffic but that’s not a normal case), and they’re nowhere near what you’re
paying.

For RDS specifically it might be worth reaching out to Percona to get
advice/consultation about what a replacement solution might look like (not
affiliated in any way)

------
xstartup
We also spend upward of 200K per month on Google Cloud. And recently, we moved
some pieces to AWS and OVH. We only move things there is it's gonna save us
more than 50% of the cost. (including maintenance etc....)

------
mabynogy
Bare servers. You should divide that by 10. Don't waste your time with another
custom platform to learn.

