Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Switching Costs in Software Development (professorbeekums.com)
127 points by beekums on Sept 13, 2016 | hide | past | favorite | 41 comments


Amazon has a great service, but when I experiment with things on AWS the cost always seems to end up at $30-$100 to run the experiment on AWS where when I use Google they typically send me a bill for $1.48 or more recently I got a $0.24 bill. It always seems more expensive to even kick the tires on something with AWS versus GCP.

Having said that the company I work for now was spending so much on AWS they had to do something to reverse the trend. We changed how we provision and deploy services on AWS and it has brought our costs down approximately $75,000 / mo. I don't know what we were paying before versus now though so I'm not sure how much we saved as a percentage.


If you have an MSDN license through your employer, Azure offers $50-150/mo credits depending on license types for dev and test environments. I've never run into issues getting feedback on prototypes in test from real customers, nor have I ever broken through that credit on a single app. Occasionally I'd pass $150 if we were running 3-5 apps simultaneously all with some measurable load but often the "usage" was in the $5-50/mo range.

Whether your employer will let you use their credits for personal use is another issue entirely (I've had several who didn't use them at all and several who let you use some).


On a similar note, startups can take advantage of the Azure credits through Microsoft's BizSpark program[1], which is essentially a handful of free MSDN subscriptions.

[1] http://bizspark.microsoft.com/default.aspx


You could pay for the care and feeding of five developers for that kind of money (including taxes, infrastructure and support costs).

Maybe something to consider in future build vs buy decisions.


Exccept that its really really hard to hire people. Especially in a overblown market were lots of companies want the good people.


Also, a company using $75k of Amazon services probably doesn't really care about $75k of expenses per month.


When I tried out the AWS free trial thing, they had some issue where EC2 instances would become totally unreachable within minutes of being created. Support asked me to leave some bugged instances running so they could investigate. Then I was billed for these instances. I asked for a refund, but Amazon says they have no record of the charges, even though I can see them in my Amazon account.

Great.


Hi. Can I help you burn your money?


I think it is an interesting point but it doesn't really compel me to use GCE over AWS. Now if he had written, "here is our abstraction library and we run on both AWS and GCE so switching to either one is seamless." that would have been a good example of containing the risk of having to switch vendors.

The argument is much better if you say, "While I'm using vendor X, I'm putting together the technology to use other vendors easily so that I won't be a victim of sudden switching costs." And I suppose that would also be followed by "Our company isn't based on data from one company I can get no where else."


> With all the important things being equal, I choose the service with the much smaller market share and encourage others to do so as well.

The problem with this is it increases your risk that the company will simply go out of business, which could be even worse than raising prices 10x as in the example.

I think it can also raise risk that the company will significantly change it's pricing model too, they don't want to be a 3% market share.


This. I'm struggling to remember the right game theory term here, but there's a mismatch between what you want for yourself and what you want others to do. It's great if other people to pick the service with the smaller market share, thereby increasing competition, but you yourself probably want to stick with the larger service because of the various network effects associated with being part of the larger service (e.g. not going out of business, third party service compatibility, etc.).



A financial company I used to work for had a legacy software product used by banks, that the banks themselves had estimated would cost something on the order of $50 million to replace.

The product licensing fees reflected that fact and it was basically a cash cow for the company.


Ditto. I used to work for a bank and they had this same issue. Requesting changes to the system cost a lot more than was actually involved.


Sounds like our experience when Tutum, now "Docker Cloud" decided to go out of beta with a pricing model that punished users with many containers, and little data/usage. Like startups..

We jumped to Rancher.


I don't understand the correlation between the opening of the story and AWS vs. GCE at all.

Establishing a long-term dependency on "Scaling R Us" was the problem, not Amazon. If you diversify AWS with GCE so that you have established choices, that's cool -- but "Scaling R Us" is still a problem.


I'm not at all following the argument that being cognizant of switching cost should lead one to choose the underdog. Am I missing something?


The argument is that if no one chooses the underdogs, then eventually there'll be a monopoly and no choice, regardless of switching costs..


I think he's saying, if no one chooses the underdogs, the overdog (e.g. Amazon) will have a monopoly and can (and will) take advantage of the high switching costs to gouge their customers.


the company with the smaller market share cannot make moves so easily because can't afford to lose customers and even more market share, so it will be the nicer guy probably


I always wonder why people think the only 'fair' pricing is pricing based on costs. This is not how free markets work.


>> I always wonder why people think the only 'fair' pricing is pricing based on costs. This is not how free markets work.

In a real free market that is how it should turn out. If someone is charging too high above cost, a competitor will likely step in to grab market share by offering the same thing at a lower cost. Companies go to great lengths to make the playing field uneven - "unfair" practices, unfair employment agreements, patents (government granted monopolies), lobbying for barriers to entry, etc...

Lots of people like to talk about "free markets" when they really want no such thing. In a real free market, everything tends toward commodity pricing.


Even in a perfectly free market, there would not be "perfect competition" for every product. This page lists the many reasons https://en.m.wikipedia.org/wiki/Perfect_competition


"In a real free market, everything tends toward commodity pricing."

No.

This assumes people only buy products based on price and would choose cheaper alternatives.

Doesn't look like this to me, e.g. I'm a consultant, I base my pricing on value not cost (what is my cost anyway?) and people pay on value. Other consultants are not undercutting my prices, for various reasons, e.g. because reducing prices would diminish value perception. I'm not a commodity and never will be (perhaps if AI makes great leaps forward).

Same happens with Apple devices which are far from cost based pricing. Assuming others have the same product - I don't want to get into quality, brand recognition etc. just pretend - if they base their products on cost and undercut Apple, they would move out of the luxury/premium segment. One could argue Apple pricing is high because of an 'Apple monopoly on Apple devices', but the same works for any premium segment (Nike and Adidas premium shoes for example).

Beside the premium argument there are other examples where "In a real free market, not everything tends towards commodity pricing" - in particular only commodities do.

(Interesting side note: Read about value maps, evolution of products towards commodities and strategies from Simon Wardley)


>> I'm not a commodity and never will be

Consultants can be somewhat specialized and can have high demand. Gold is a commodity, but scarcity (or perceived scarcity) makes it higher priced than other metals. If there weren't as many consultants out there, you might be able to charge even more.

Android is a cheaper alternative to iPhone, as is Nokia. You are correct that there are other factors at play that make the situation less like a commodity market. Copyrights and patents - both government sanctioned monopolies - are the primary thing enabling Apples high prices. That's not to say I'm against those things, just pointing to the real reason for what's going on.


No.

Brand is the primary thing enabling Apples high prices.


>> Brand is the primary thing enabling Apples high prices.

Trademarks are another government enforced monopoly.


You seem to be suggesting that something unfree is going on here, but in this case there is no evidence for any of the candidate causes that you list. The reality is that the tendency towards commodity pricing is only a tendency, with a highly situation-dependent lag and inertia, even in the absence of more direct restrictions on competition.


That's very very true. However, "fair pricing" is mentioned because companies tend to use the term in their marketing explanations for raising prices. In free markets, it is also the responsibility of consumers to understand not only the prices they pay today, but the prices they allow companies to set tomorrow.


You are right that pricing on costs is not how it should work. A better pricing would be based on the value created. In this case however the value created correlates to the man hours saved (vs. e.g. managing instances manually without the tool). And since manually managing a large instance is not more work than managing a smaller one, there is no additional value created, so the pricing logic is unreasonable.


Value created has its own sets of problems. Customers with very basic use cases are not entitled to preferential pricing - i.e. Microsoft is not interested in offering big discounts to people who use the Office Suite as a "TV typewritters". Rather they should select a tool that better matches their needs.

On the other side of the spectrum, "value added" can be used as an excuse to charge more money to wealtier customers. Using the same example above, Microsoft should not be able to charge a million dollars for an Excell license that is used by financial wizards to make billion-dollar decisions. The potential is there in the tool, but most of the value added comes from the expertise of the user.


I like all the guesses on which company “Scaling R Us” represents. My guess is RightScale.


I wish more web services provided opensource versions (Service-as-a-Software). Large orgs would still pay for service contracts even if they self host, and just having the option makes everyone more likely to invest on top of your service.


This is a very good point. Even if you don't want to self-host and you'd rather use a service, having the software available as open source so you can self-host if you so choose, makes it more rational to use the service, because it makes it harder for you to be screwed the way OP's startup was.


But you can bet what then most of your customers do, right? This sounds good in theory but is really tough in practice ...


I wonder if and how you plan this economically, like adding a future cost for each hour of work sunk into the platform. Where you eventually reach a margin where it's no longer economical to sunk more hours into the irreplaceable.


I think the "sunk cost fallacy" is related here, although I'm not sure how to draw it out.

In general, it seem obvious if any third-party platform is irreplaceable for your business, you are running a significant risk. I'm not sure "irreplaceable" is always correlated with number of hours you've sunk into it.

It could be irreplaceable despite having very few hours sunk into it.

Also, even if you've sunk a bazillion hours into it, if there's a viable replacement that could be put into place _without_ spending a corresponding bazillion hours on it, it might not be irreplaceable at all. (This part might be the 'sunk cost fallacy' -- just cause you've spent a lot of hours on it, doesn't neccesarily mean it would be a bad idea to throw all that away and start over -- if you can afford to.)

Anyway, the hard part, of course, is avoiding an irreplaceable dependency on a third-party platform. Especially because using such third-party platforms significantly decreases your total cost to launch or operate. The trick is figuring out how to take advantage without making them irreplaceable. I'm not sure there are any obvious or easy answers. Using the option with the smallest market share, as the OP suggests, might help encourage a better marketplace, but probably _increases_ your actual direct local risk.


cough...EngineYard...cough.. cough...


As an East-coaster, it's always a delight to hear about products "in the wild" where you've actually met people that worked on it!


That was the first that came to my mind too.


they've got a long way to go before they are on par with what GCE or AWS offer. They do have a nice offering though, just nowhere near what I need.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: