Are you unable to test your solution fully except in production? This could well be because your business can't afford to buy licenses for the same software as is in production to be installed on UAT, QA and Development environments. I've seen clients where things like web servers, application servers, messaging middleware and storage solutions just can't be the same as production because it's too darn expensive.
One reason this happens is because these kind of software purchases tend to be costed based only on production needs, most often this occurs when procurement sits off to one side away from the rest of the business. In fact in one organisation I saw a few years ago the development part of the organisation had to negotiate separately to buy the same software since procurement dealt solely with "operational" systems.
Frankly I also think it happens because some software vendors are hoping clients will have to come back and ask for lots more licences once they realise they need to start testing things. I've seen this happen too, although to be fair I also know of vendors who throw in test and dev licences for free. (of course some vendors will gladly sell you expensive test tools to test their expensive complex software, but thats a whole other story....)
The lack of a representative "production like" environment causes numerous problems, in fact most outages I've seen could have been prevented had something more representative of production been available. When I say representative I mean environments where the performance delta's between them are relatively easy to measure and model, that gets much harder when you are running different software or radically different hardware. I'm now of the view that if you can't afford to buy the licences for all of production, UAT, QA and development then you can't afford the software at all.
Once you go down the road of relying on some expensive software (or hardware) to scale things on production you are running increasing risks: an outage becomes more and more likely and you are letting a software or hardware vendor control the cost of scaling your business. I think it's much better to go with commodity hardware, and software where you choose what to pay for and when - this seems to be what works for the best known "internet scale" companies.
I think software licensing and hardware costs can damage software quality as they make scaling the ability to test software too expensive. It's just not enough to scale production, you have to have a cost effective way to scale the means of getting high quality software into producution as well.
One reason this happens is because these kind of software purchases tend to be costed based only on production needs, most often this occurs when procurement sits off to one side away from the rest of the business. In fact in one organisation I saw a few years ago the development part of the organisation had to negotiate separately to buy the same software since procurement dealt solely with "operational" systems.
Frankly I also think it happens because some software vendors are hoping clients will have to come back and ask for lots more licences once they realise they need to start testing things. I've seen this happen too, although to be fair I also know of vendors who throw in test and dev licences for free. (of course some vendors will gladly sell you expensive test tools to test their expensive complex software, but thats a whole other story....)
The lack of a representative "production like" environment causes numerous problems, in fact most outages I've seen could have been prevented had something more representative of production been available. When I say representative I mean environments where the performance delta's between them are relatively easy to measure and model, that gets much harder when you are running different software or radically different hardware. I'm now of the view that if you can't afford to buy the licences for all of production, UAT, QA and development then you can't afford the software at all.
Once you go down the road of relying on some expensive software (or hardware) to scale things on production you are running increasing risks: an outage becomes more and more likely and you are letting a software or hardware vendor control the cost of scaling your business. I think it's much better to go with commodity hardware, and software where you choose what to pay for and when - this seems to be what works for the best known "internet scale" companies.
I think software licensing and hardware costs can damage software quality as they make scaling the ability to test software too expensive. It's just not enough to scale production, you have to have a cost effective way to scale the means of getting high quality software into producution as well.
0 comments:
Post a Comment