As of today, the solutions offered in business platforms are based on the development and exploitation of scalability features and cost-saving actions by means of platform virtualization using effective technologies designed to modularize their components.
It may sound ironic, but the cloud concept is dominated by the desire to centralize services that are part of the decentralized worldwide network (i.e., the Internet). This notion covers a wide range of services often described as a stack, given the number of implementations built on top of one another. As a result, certain development scenarios emerge where scalability, flexibility and a continued technical implementation are key aspects for the future development of such services.
Depending on their layer of implementation, we can sort cloud services into three different categories:
a) Software as a service (SaaS): found in the top layer, these are comprehensive applications offered as a service over the Internet. Their greatest benefit relies on the fact that they are universally accessible through the Internet.
b) Platform as a service (PaaS): the idea behind these applications is the same applied to SaaS but the provider offers the “middleware” to the customer (i.e., it is the encapsulation of a development environment and the packaging of a series of modules and plug-ins that provide a horizontal functionality).
c) Infrastructure as a service (IaaS): any infrastructure that is provisioned and managed through the Internet, granting access to virtualized components. They allow for the vertical reduction and scaling of resources.
Chrome OS, a Google-developed operating system widely used in micro-laptops (especially in the US) that universalizes access to services, is a good SaaS case study example. It is designed to work in the cloud and uses the browser as main interface.
In the SaaS and PaaS layers, the supplier provides scalability as part of the service pack. The evolution in the implementation of MVC architectures is closely linked to the solutions proposed for these scenarios, which have to do with virtualization possibilities at the IaaS level.
The virtualization of platforms linked to domestic consoles is being used to monitor technical developments and stretch their marketable service lives through the pre-processing of certain effects that would otherwise require a vast allocation of resources. Another example would be that of Folding@home, a distributed computing project where resources belonging to PlayStation3 devices are used to carry out simulations on molecular dynamics for the medical field.
The scientific world is making the most of universal services implemented without the need of a physical infrastructure. The IBM Quantum Experience project, which gives all devices universal access to a quantum computer, is a worthy example. It works with a five-quantum-bits processor (the latest development in quantum architecture) and may escalate to bigger systems.
In next week’s post, we shall cover development solutions for the implementation of software architecture modules based on the modularization of components to exploit scalability.