Current Research

My research interests are primarily in the area of Cloud computing and Web services. My dissertation research focuses on using abstractions to make cloud applications

Cloud Computing

My research in cloud computing in a nutshell can be said as the use of abstractions for data and program portability. In other words, I am looking at ways to make it easier to work with clouds - during application development, deployment and management. There are two important facts to consider.

  • When programming for a cloud environment, using cloud specific features or libraries result in code that is hard to port. This however it sometimes necessary, as mandated by some cloud vendors.
  • When interacting with clouds (to deploy and manage applications), it is not at all possible to use the same workflow. Each cloud vendor has their own interface, procedures and parameters, even when the same outcome is anticipated.

In my research, I focus on the above two issues.

I have investigated the viability of using domain specific languages (DSL) to specify applications and then generate cloud specific applications. DSLs are indeed a practical way of providing programming abstractions, albeit in a domain specific context. This is in fact not as serious since there are many domain specific applications of the cloud that can be exploited using DSLs. For example, My research has shown that using DSLs to generate cloud programs in a scientific computing context is fairly useful and doable.

The more pressing issue is adoption. Even when DSLs can be fairly useful, technical users hesitate to embrace it for the apparent lack of control.

I have also investigated the use of Middleware to provide process abstractions for cloud interactions. Cloud interfaces (APIs) are notorious for being heterogenous and cloud service consumers would typically use a specific tool or process to deploy and manage applications in the cloud. Many of these cloud interactions can be represented by simple semantics and thus one can successfully provide a uniform interaction pattern to most of the clouds.