Archive

Posts Tagged ‘Cloud computing’

Government cloud

Today I was visiting one of our companies clients, meeting people – users of our software and mostly discusing usability issues.

There are a bunch of UX issues, people seeing too much or too little information, doing repetitive, not automated tasks andor simply clicking too much to achieve very little. This product is quite new indeed and has to meet a lot of different perspectives and requirements.

Putting aside the bad things we can surely take pride in our cloudy way of technology, which basically lets us solve the problems in multiple different approaches. Everything is decoupled into single (or at least narrow scope) responsibility WCF services so we have the option to redeploy software per service. That also means that if one service is down, unstable or simply written by monkeys, only the part of solution is doomed. Yet, if there are problems in the mission-critical services (read: workflow service, responsible for workflow execution) we are all still in big big trouble and hot fix procedure is kicked in (developers working overtime, all kinds of madness).

Our repository is not based on hadoop or anything so nice and open-sourcy, instead a service is dedicated to that problem. It handles the repository requests and offloads the services into one of two different targets – SQL database or file system. File system can be connected with shares or database can be replicated, so we don’t have any performance or scalability issues.

Aside from the actual backbones of our cloud we have quite flexible front-end which is based on ASP.NET MVC framework and really gives the possibility to make great impact in small amount of time and deploy new features daily. It is a lightweight frontend for us – though it often goes into something much more like OCR’ing images, distributed cache transactions, report generation, etc. Still most of the work is done with Javascript. We are currently looking into knockout.js to rewrite most of the spaghetis in it.

All of this infrastructure would be nonsense, huge pile of pointless technology if it would not redefine the way our users are working. It gives the opportunity to make government organizations effective in a way no other solutions would make possible. There is a different database for every organizational unit to implement accounting, labour payments, staff control, document processes, subordination, tasking and whatever else there is going on in that unit – even for example accounting of payments made by parents for kindergarten. These database are then consolidated into a business intelligence cubes for analytical data processing, at any time we can now any little number that concerns us – how much we spent on fuel this day last year, how many invoices were payed from this company, how many documents are now overdue and where they are stuck at. So while we see government work as mostly inefficient bureaucracy, paper pushing and mystified processes, it is all being put in place, according to the law and mostly common sense – not exactly copying what people do in paper, but transfering and optimizing these processes. At first a lot of people were rejecting these changes, these new winds and the discomfort of new experiences in their life. But even the coldest hardest clerk now realize that this is for the best and we are going on the right path.

What really here matters for us, people with technical responsibilities, is to take note, that no technology is itself meaningful and great if it does not serve meaningful and great purpose. You can have IBM bladecenter servers, running cutting-edge, straight-out-of-Silicon-Valley technologies, built with newest cloud development tools and deployed on Google apps engine or Windows Azure. But if no one uses it and you are not making impact by solving peoples problems – it’s all garbage.