On My Watch

Monday, May 11, 2009

On Developer Cloud Services

Developer cloud services are an increasingly viable options for architects, developers and managers. By developer services, putting my "developer hat" on, I mean services that developers access to provide necessary application functions as opposed, for example, to application level services (like creating a customer record) and lower level infrastructure services (like storage). In fact, developer level services sit between the other two as the (admittedly) simplistic diagram shows below.

Essentially, developer services are those functions (typically with an API) that developers need to build out applications and are typically managed by the platform (just as J2EE or .Net do). Some key services would include data/database, caching, logging, authentication, validation, messaging and text/XML processing services. These services could even include specific types of common data, like zipcodes and stock quotes. Storage services may belong here as well depending upon what type of interface and control there is (e.g. developer level vs storage administrator). Multitenancy, a critical consideration for public clouds, could generally be managed here either as a built in function going across other services or as a distinct service accessed by the developer as needed. While some are starting to emerge in platforms like Google AppEngine (BigTable, logging, etc.), it would be great to see these built out further. And they'd make the higher level, higher value application services (that we all need) easier to build - since less time and effort would be spent (wasted) on plumbing, necessary but reusable plumbing. Plus they'd hopefully be better implemented with more, better implemented. features, such as monitoring, reporting and analytics.

This in fact aligns pretty well with the IaaS, PaaS and SaaS breakdown folks are using - as mapped below.

One man's call ...

Labels: , ,