Information Technology Reference
In-Depth Information
Cloud infrastructure or platform. Some attempts
try to reduce this undesired code by hierarchically
structuring servers to achieve scalability without
significantly restructuring the program (Song et
al, 2009). Other common technique is based on
the usage of profiles. These profiles aim at captur-
ing experts' knowledge for scaling applications
without binding to specific Cloud infrastructure
(Yang et al., 2009). Although some remarkable
attempts have been made that try to add automatic
scaling capabilities to service-based systems (see
(Poggi et al., 2009) for example), these are often
hard to develop, too dependent on the specific
application, and hardly generalizable to be offered
as a general-purposed service.
Being application domain or even application
specific, these attempts fall close to the need to
scale SaaS applications. Indeed, PaaS applica-
tions could be regarded as a special type of SaaS
devoted to support service development. However,
SaaS scaling is not just about having a scalable
underlying (virtual) hardware or programming
frameworks that help to increase application
scalability.
Not all the applications are equally suited for
the Cloud as a scalability-enabling environment.
Although the Cloud is especially interesting for
Web applications, transactional applications
cannot be so easily ported to the Cloud. Web ap-
plications are usually stateless so, services can
be migrated with minor effects on user-perceived
performance. Also, if new service replicas need
to be added (horizontal scaling), load balancers
can reroute requests to any available service at
any location. Transactional applications cannot
be ported to the Cloud straightforwardly. They
are inherently stateful and rollbacks and commits
prevent easy service migration or database replica-
tion. Database replication and sharing are usually
executed by expert administrators and is highly
dependent on the specific data model, making it
difficult for an automated scalability environment
such as the Cloud. New transactional-like SaaS
applications should rely on some basic program-
ming concepts that web applications have been
using to achieve high performance or high avail-
ability in large-scale deployments (Barroso and
Hölzle, 2009), not trying to emulate traditional
transactional architectures (Cáceres et al., 2010).
Summing up, although IaaS Clouds have
pushed scalability a step beyond by, defining
automatic scalability actions based on custom
service metrics is not fully supported (the degree
of integration with underlying monitoring systems
offered by most existent Cloud systems is to be
further developed). Elements to help to select
accurate utilization metrics are still to be defined
towards effective on-demand scaling are still
needed for public Clouds, in which it is difficult
to extract relevant metrics from unknown and
uncontrolled hypervisors or physical devices (e.g.
network probes are difficult to locate). However,
IaaS scalability is still too VM-level oriented, scal-
ing decisions are made and executed on the basis
of infrastructure metrics and the service provider
is supposed to deal with these tasks manually. Full
automation and application of scalability rules (or
load profile-based models) to control services in
a holistic manner are being produced on top of
IaaS Clouds.
These scaling automation capabilities lay close
to the aforementioned PaaS features. However,
there is more to service lifecycle management
than scaling the application horizontally (i.e.,
adding more VMs and load balancers). More
elements helping to support scalable application
design, development, parallelization, debugging,
versioning, updating, etc. are still very much
needed. SaaS application scalability is currently
supported by exploiting traditional programming
techniques to increase the scalability of services
by minimizing its resource consumption.
SaaS delivery models imply a series of “hid-
den” requirements for the different players:
for IaaS Cloud providers: these players will
have to use underlying scalability mecha-
nisms (such as VM replication, migration,
Search WWH ::




Custom Search