Cloud'N' Developer Guide..

Cloud'N' is a service delivery platform providing an easy way to boost business applications with algorithmic data refining power. This developer guide explains how. The guide is organized into three separate documents targeted to different developer roles which are algorithm module developers, algorithm architects and application developers. The figure below shows how they relate to the overall conceptual design of Cloud'N'

Guide for Algorithm Module Developers

In Cloud'N', an algorithm module means software implementation of a general-purpose data processing step. Although modules may involve some really complex data processing, they should not be confused with algorithms which are defined to be data refining processes beneficial to at least some customers. Thus, in this sense Cloud'N' terminology differs clearly from the academic world which is less interested in the commercial benefit. To ordinary scientists, any finite list of instructions is an algorithm regardless of its applicability to real world use. And then they wonder why business people cannot see the commercial potential of algorithms...

Redefinition of term 'algorithm' was a necessary step on the way of making the Algorithms-as-a-Service concept a commercial success. Algorithms must be meaningful to paying customers and worth of the money. We are sorry if this causes you a bad headache, but we felt it was about the time to shake the jammed old-school thinking and close the semantic gap between problem owners and solvers (business people vs scientists).

Cloud'N' algorithm modules can be practically anything from a short script to some really complex data processing method. Their common properties are:

  • Modules read input data from a given directory
  • Modules write output data into a given directory
  • Output data is somehow refined from the input data
  • Both input and output data are well-specified


Guide for Algorithm Architects

In Cloud'N', algorithm architecture means modular design of an algorithm created by an algorithm architect. An algorithm architect solves real world data refining needs by connecting general-purpose algorithm modules together so that one's output is another's input and optimizes configuration for specific use cases. In addition, the algorithm architect is responsible for maintenance and support of solutions based on his/her algorithm architectures. So, he/she is the one who answers questions raised by Cloud'N' customers using the solutions and reacts to possible problems related to the data refining quality. Algorithm architect is a living advertisement, the face associated to a solution - both in good and bad.

Algorithm architect may participate implementation of algorithm modules, but not necessarily. He/she is more like a team leader or project manager who has a vision and takes care of the big picture letting developers focus on implementing concrete data processing steps.

Among algorithm developers, algorithm modules are sometimes called "science legos" (scilego) which illustrates well the overall principle of solution designing. Following this metaphor, algorithm architect is like "an innovative child playing with the legos and building fabulous structures from those simple elements".


Guide for Application Developers

Software-as-a-Service (Saas) providers and other application developers probably recognize themselves in the middle of hard competition against vendors each providing roughly a similar set of features. How to differentiate? How to make customers prefer my solution? The only sensible option seems to be to develop something new which would attract customers. But what? And how?

The answer is: create content which meets your customer needs better. In other words, refine the data already inside your system to a completely new level not yet seen on the market. This makes competing solutions look hopelessly ancient and gives you long-term advantage which is hard to copy.