By: Teresa Tung
Last time I defined a Cloud Reference Model to bring concreteness to cloud-based application architecture. Here I provide an example that illustrates the components of this 7-layer stack. Consider media transcoding where users input data files of one format and the application outputs the files in a different format.
Here the Application Layer contains the program that transcodes each file and that creates the end-user interface for accepting the commands and presenting the data files. The code interfaces with the APIs from the Transformation Layer with minimal concern for the underlying computing platform.
Next the Transformation Layer transforms the program code and collected data to suit the platform. In the case where Amazon provides the platform for storage and message queue, these transformations handle the details of an Application Layer’s “put” and “get” instructions specific to the underlying Amazon interface: the code with APIs for SQS to log status and with S3 to access the files, and the data for storage in S3. For example, this is breaking a large data object into smaller pieces for storage on the cloud, and upon retrieval recombining and checking the object. Changing the platform from Amazon requires updates to “put” and “get” implementations.
At this point, let’s assume that the lower layer implementation of the message queue and storage are handled by Amazon. In return we accept Amazon’s guarantees for this functionality: 99.9% availability and no latency guarantees. What remains our responsibility is to complete the platform to handle the processing.
Within the Control Layer, controller logic determines the number and type of appliances to meet desired guarantees, that is, it requires 5 large images to meet a time constraint of 24 hours, and locate in Amazon’s west coast region to be physically close to the data stored on S3. With the help of constant monitoring from the Instantiation Layer below, logic scales the number of appliance to meet delays. By implementing the logic, we control the placement of appliances, the time constraint, and the availability.
Based on the determination of the Control Layer, the Instantiation Layer automates the scripts to provision the appliances. For Amazon’s EC2, these provisioning scripts supply Amazon credentials, apply configuration, load the content, and perform error handling if the returned appliance is faulty (e.g., memory errors).
The responsibility to create the EC2 machine image is at the Appliance Layer. In this case, create a job scheduler appliance by installing the BOINC control process software to choreograph and distribute the files and a worker appliance using the BOINC client software that runs the transcoding program.
Finally within Amazon, Xen virtualization software carves the virtual machine from the physical resources at the Virtualization Layer. And the Physical Layer deals with data center concerns with supplying power, cooling, compute to support the virtual machines.
At each layer, the IT functions focus one level of abstraction with minimal concern for other details. Combining the solutions forms the overall cloud architecture. Stay tuned next time for an overdue definition of cloud and how to use the model.
Kevin’s Urgent Jobs at Accenture
Leave a Comment so far
Leave a comment