Showing posts with label cloud computing stack. Show all posts
Showing posts with label cloud computing stack. Show all posts

Saturday, November 8, 2014

Cloud Computing: Strata

Ph. D. Julio Fernandez Vilas
¿Any comments? jfvilas@gmail.com

There is no standard definition of what "Cloud Computing" is, and two reasons are responsible for this lack:
  1. There are different implementation models (infrastructure, application, software ...), so there is no precise definition.
  2. b) There are very multifarious offerings providers, so that a strict definition would not include all offerings.

But if I had to define what Cloud Computing is, I would choose the definition included in Wikipedia (read the interesting Wikipedia entry here):
"Cloud computing Relies on sharing of resources and coherence to Achieve Economies of scale, similar to a utility (like the electricity grid) over a network. At the foundation of cloud computing is the concept of Broader Converged Infrastructure and shared services. " The figure below is a good graphic illustration of generic architecture of cloud computing, where we can observe 3 clearly defined levels:


Here we can see the main "three flavors" of cloud computing offerings, infrastructure as a service (IaaS) platform as a service (PaaS) and application (it stands for "application software") as a service (SaaS). In the market and specialized press we can find other types of cloud offerings, focused on specific areas of technology, Security as a Service (SECaaS), Storage as a Service (STaaS), etc., but ultimately, any offering cloud will be framed in any of the three categories we've mentioned:

  1. Infrastructure (IaaS) refers to the possibility of consuming infrastructure services in the cloud, such as computing power, storage, connectivity, etc. At this level, management done by the customer (subscriber) is performed at virtual machine level or storage unit (LUN) level, for example, while the provider of infrastructure services (provider) is responsible for "only" managing the hardware (plus all related concepts to the cloud, such as scalability, high availability, etc.).
  2. Platform (PaaS). When a client wants to get rid of costs and tasks associated with the management of the infrastructure (machine maintenance, procurement of space, bandwidth allocation, etc.), he has the option of using services in a “platformed” mode, where the level of management that must been made by the subscriber is much lower than the one a provider to does. In this model, the client focuses on the development of applications, in fact the real solutions to their business problems. As an example, in Azure platform, it is possible to develop a .net web application and deploy a packetized version to a cloud server without installing anything. Here is Microsoft itself who is responsible for configuring and managing machines and application servers, clients only have to worry about generating deployable software packages on the platform. At this level of the cloud computing stack is where you would frame the old ASP's (application service providers).
  3. Software / Application (SaaS). At the highest level of services providing in the cloud we find Software as a Service. It is easier to understand, since it is the stratus that we find closest to the business needs, and therefore farthest from the technical stuff. It can be easily understood with these examples: Office 365 or Gmail.

Friday, December 9, 2011

Cloud Application Layer Part II.

Ph. D. Julio Fernandez Vilas
¿Any comments? jfvilas@gmail.com

One of the strongest arguments to defend cloud computing is its cost model, as we have seen in previous articles. Although performing control on costs is important, to move from a model based on CAPEX and OPEX to a pay per use model (CAPEX = 0, there is no CAPEX and OPEX is lineal), it remains especially important being able to be tied to a provider.

It is vital to be able to change provider without cost or at least paying the minimum possible cost, since the prices offered by vendors will probably be subject to revision, which could undermine the competitive advantages of the pay-per-use model.

A change of provider must be performed, typically by modifying configuration files or any kind of helper-class if needed.

Again, it is necessary, when we are talking about integrating cloud services into business applications, to create an intermediate layer that isolates applications from using the cloud services they use.

We are talking again about the Cloud Access Layer, which in this case is embodied in a software layer, typically a connector or adapter. This piece of software is what (inside our cloud computing stack) we call the cloud access point.

Develop or adapt applications that accesses the cloud via access points in the future ensures the ease of changing a provider.

This ease of switching providers will take advantage of competitive rates for the same service (form different providers), so that the cost of changing the provider is so small that could exploit the slightest variation in the cost of cloud services that we are using.

Now that we have introduced the concept of provider as an important element within the cloud computing stack, we will redesign the stack. This is CCS2.0 (Cloud Computing Stack 2.0).