Monday 26 October 2009

Replacing Oracle

At my previous employer (Tideway Systems, now part of BMC Software) we did some work to help Oracle customers identify how much Oracle they were using. More specifically, Tideway automated some of the work involved in discovering what Oracle databases existed in a customer environment. People knowledgeable in Oracle licensing, like the fine folk at Rocela, use this information to identify opportunities to optimise the customer's use of Oracle and the way it is licensed.

Big Oracle customers have hundreds of Oracle databases and spend many millions per year on "maintenance" fees, so there are significant adjustments to be made simply by changing the way in which Oracle is being used and licensed. And Oracle's licensing is sufficiently complex (no doubt intentionally so) that companies such as Rocela can earn a living helping people navigate it.

It seems to me that there is a bigger opportunity here.

While I am prepared to accept that there are probably some applications that make full use of all of the bells and whistles that Oracle provides, I strongly suspect that in many of Oracle's largest customers, there are a significant number of applications which could be moved to an open source database - postgres, for example - without suffering an unacceptable hit in terms of performance or availability.

Simply in terms of avoiding the recurrent Oracle maintenance costs, this could be a huge cost saving.

Is anyone doing this? It looks like a good business opportunity to me. A services-led engagement to identify candidate applications, migrate them from Oracle to a lower cost alternative, then provide ongoing support would be a starting point. Longer term, how about developing tools to assist in the migration, or to remediate those applications that rely on Oracle-specific features?

If you know of examples of people doing this, I'd love to know about it.

Cut bankers' bonuses

It is intriguing to see the various arguments being deployed around bankers' bonuses. The apologists for the bankers, such as Dominic Lawson in the Sunday Times, argue that cutting the bonuses would be a Bad Thing.

I think that Mr Lawson makes some good points, particularly in highlighting that the reasons for the financial collapse go further than the way in which bankers were paid. But I suspect he underestimates the way in which the incentive structures in banks encouraged behaviour that was dangerous and destructive.

By contrast with Mr Lawson, the view of the leader writer of The Economist is much more critical of the banks and their remuneration regimes.

The Economist points out a number of things that Mr Lawson ignores. Perhaps the most important is that all the banks (yes, even Goldman Sachs) have been the recipients of state aid of one kind or another. All the banks are benefiting from the extraordinarily low interest rates set by all the major central banks. Many have been bailed out explicitly at huge expense. Others benefit because their counterparties were bailed out. Governments should attempt to claw this subsidy back on behalf of the tax payers that provided it.

Underlying the arguments of many who wish to leave the bankers to get on with it is a fear that the bankers will up sticks and move elsewhere if governments restrict their ability to earn huge bonuses. But perhaps we don't want the kind of banks that pay these bonuses. In the light of events of the last couple of years, it is tempting to conclude that a highly profitable investment bank is simply an accident waiting to happen, and that we should seek to minimise our exposure to them rather than compete to attract them to or retain them in London.

Ban introductory deals

Why not ban "introductory deals"?

I'm thinking of the kind of sweeteners that encourage people to switch credit card providers by offering an initial period at a low or even zero rate of interest.

Such deals are a loss leader for the companies that offer them. Clearly they hope to entice new customers to join them and then either lock them in to more profitable rates later, or to remain with them through inertia.

Is this a good thing?

Reading a couple of blog posts about the demise of Washington Mutual, a big US financial firm - and one of the biggest to collapse in the recent financial disaster - makes me wonder whether such deals are a symptom of a kind of banking that is in nobody's interest.

Read more here and here.

Detecting hard-wired IP addresses

A few times recently, I've spoken to people that are looking for a way to spot instances where their applications are using hard-wired IP addresses rather than DNS.

This can be a problem if the IP addresses are expected to change. For example, if you have an application that expects to be able to connect to a database on IP address 10.1.1.1 and the database server moves to 11.2.2.2 then the application will break unless you are able to identify the places where the application uses "10.1.1.1" and change them to "11.2.2.2".

Well written applications will use names "dbserver.foo.com" which get looked up in the DNS, so when the server's IP address is changed, the application will continue to work.

The extreme case is where there is a big change coming such as a data centre move. This could involve hundreds or even thousands of servers. If the move will result in changes to the IP addresses of servers, how can you be sure that nothing will break?

One solution is to inspect all of the source code of the applications. If there are hundreds of applications, this is not going to be a trivial task. Needless to say, this is not an appealing approach for many.

What else can you do? I'm open to suggestions.

One possibility is to use "tcpdump" or something similar to do packet traces of activity from each server looking for instances where a connection is opened to an address that has not previously been returned as a result of a DNS lookup. This should identify cases where an application is using an IP address rather than a DNS name. This might help, but it would still fall short of an ideal solution since it would not identify the process responsible for the connection. Better than nothing, though.

I guess you could go a step further and build an agent that would do much the same thing, running continuously on the box. Has anyone come across anything that does this?

Other approaches? Dtrace on Solaris, perhaps? Suggestions welcome.


Monday 19 October 2009

Why vote?

There will be a general election in the UK by summer 2010. I probably won't bother voting. Here's why.

For those of you who don't know, I guess I should explain what general elections are and how they work.

In the UK, the control of the government is held by the party that wins the most seats in a nationwide poll. The poll must happen at least once every five years, but the government can choose the date.

The election is to select members of parliament, 645 of them, each one representing one constituency, a geographical area.

Here's the first problem, and one reason why voting is probably a waste of time for me. I live in central London, in a constituency that is predominantly Conservative. Under almost all conceivable outcomes, the Conservative candidate will win by a large majority. My vote might slightly reduce this large majority but since the opposition will be divided between the two other main parties (Labour and Liberal Democrat in this case) there is no chance of a change. A Conservative MP will be elected to this constituency regardless.

This voting system means that the ratio of votes for the different parties is not accurately reflected in the number of MPs elected for that party. A proportional voting system would fix this but there's no chance of this happening as the only way it could be changed is by the government, which pretty much by definition, does not see such a change to be in its best interest.

So much for democracy.

The second problem is that MPs and Parliament itself seems to be completely useless. Parliament repeatedly fails to hold the executive to account. Perhaps the most egregious example is the Iraq war. Parliamentary debate on the Iraq war was 7 hours. For the vote on banning fox hunting, it was 700 hours. I know foxes are important to some people but are they really more important than the lives of at least 85,000 Iraqis (and probably far, far more). What a farce.

MPs in general just vote along party lines. If that is all they do, there is little or no value in having them there.

Since MPs fail to stop the Government from doing stupid things, what are they useful for? One response is that they work tirelessly (we are told) in the interests of their local constituents. Well, perhaps. Perhaps beefing up the powers of Citizens Advice Bureaux would provide a more cost effective substitute.

Third reason. Holidays. MPs seem to spend most of their time on holiday. Last year, they took 24 days for Christmas and this summer, they went into recess on 21st July and returned to work in 12th October. I see no evidence that they do anything of value during the recess but it appears we carry on paying their salaries regardless.

Fourth reason. Expenses. Enough has been written about the expenses scandal already.

So that's why I probably won't bother voting. OK?