Tried out Uhuru public cloud

We recently got a query from one of our customers on how fast we can cloud enable some of their applications. Most of the applications were developed using .net 1.1/ 2.0 and we already won the contract to modernise those to latest stack.

Most of the applications were web based applications. Some key facts about the suite of applications considered during evaluation are

1) They have a mix of Oracle and SQL Server used. They already had migrated from SQL Server to Oracle for a couple of applications as part of consolidation. Guidance was to use Oracle in the long run

2) Adobe flash was used on UI. They don’t support any mobile devices yet. But it’s in their vision and wanted the UI to be accessible from smart phones particularly IPhone and Android within one year.

3) Applications weren’t stand alones but pretty much integrated. E.g. there were data feeds from three different applications to another application

4) Some of the applications handle very high volumes of data. One application we checked was handling around hundred thousand file uploads in a typical business day of various file sizes.

5) High availability was desired for some of the applications.

6) The client is a pioneer in cloud computing. Obviously they had preference for their own cloud solutions.

During initial analysis it was clear that Microsoft Azure public cloud is a no-no for them (because of corporate guidance). We suggested Flash on the UI to be replaced with HTML 5 and that was easily accepted.

Also it was clear that Oracle has to be retained as the database server. We suggested to go for Oracle RAC.

The only thing now was left to cloud enable middle tier. We were clear that we can go for IAAS. But wanted to see if we could go a bit further and use PAAS.

At this point we tried to evaluate a couple of private cloud solutions and wanted to try out the fastest possible way.

We bumped into Uhuru during this evaluation.

We had already written a small POC and hosted in Windows azure at http://ace-factory.cloudapp.net/ (publicly accessible). It’s a small Healthcare application that uses Asp.Net MVC, Jquery, REST, ACS, WCF Data Service. It consumes data exposed as a service from another application.

We quickly modified the application to run on Uhuru. We understood if it can run on Uhuru public cloud it can run on the Uhuru private cloud as well. We hosted the application at http://ace-factory.uhurucloud.net.

The complete workflow of the application is described below.

Patient registartion workflow
Patient registration on Uhuru cloud

Some of the positives about Uhuru cloud beta were

1) Modifications and deployment to Uhuru cloud was pretty straight forward. In fact we didn’t have to touch code at all.

2) Learning curve was pretty low. We didn’t spend much time on it. We had a back ground on Azure already.

3) Support was good. It was a very personal touch.

4) We came to know many upfront design issues that we couldn’t have discovered had we not tried on Uhuru.

Some of the -ve things were

1) The platform was a bit a slow. Initially we saw out of memory error thrown by asp.net compiler and were a bit puzzled.

2) We removed some services to focus only on our Core research area. E.g. we removed ACS from Uhuru cloud.

3) We saw some time out exception because of network latency. The data service that we are consuming is hosted at Microsoft Data center at Singapore where as Uhuru services were hosted at Romania. For many pages the data couldn’t be loaded. We added various checks and reduced the data set. In a Mashup scenario network latency and speed plays a role and that needs improvement.

4) Support should be automated to a certain degree. E.g. it takes a while to get the crdentials and raise a ticket because of manual involvement. It’s not possible to scale up in the long run.

5) Better error handling and error messages. For quite some time we didn’t understand why we are getting a compilation error.

6) Data base management support. We initially planned to port our data base as well on Uhuru. But because ours is not a simple one, we instead focussed on the service. Asking each developer to create there table structure from code is a daunting task.

Overall our experiment went pretty well and Uhuru private cloud was suggested as the cloud platform for the customer.

5 thoughts on “Tried out Uhuru public cloud

  1. Hi debashish I am also building a WCF application in UhuruCloud, but I am having lots of errors.

    Can you tell me what port did you use for the WCF connection? 80? Or did you ask the admins to open a specific port?

    I am sorry for asking, these simple questions, but maybe someone is having the same problems.

    Thanks in advance.

    1. I used port 80. The data service was running on azure and front end was running on Uhuru. I wanted to test mash-ups with different clouds. I didn’t ask for any specific port opening. Let me know if it helps.

Leave a comment