Develop/Assemble – Assembling a solution and
configuring its inner components including hardware
elements (such as images, VMs, routers, etc) and
software services (such as remote web service API
calls, configuring Web-service gateways, setting up
cross-enterprises identities, etc). This phase may
include new designs or adjustments to existing
solutions.
Provision (deploy) – Since in a public cloud the
notion of provisioning a service actually defines
connecting to one provided by a third part, the need
is for configuration of agreements. This
configuration means setting up a contract with the
service provider, and providing the data necessary
for the provider to perform the service. Regular
provisioning still applies when internal services and
applications, as well as infrastructure that the
enterprise owns or has access to, are distributed and
deployed on regular or virtualized environments.
Secure – Security concerns include identity
management that bridges domains as well as
applying security interception according to policies.
Example are limitations on the deployment locations
of servers (known as physical boundary limitations),
as well as network segmentations that enable
multiple different Composite Applications to co-
exist on the same environment. Such a configuration
of network firewall and relevant identities depends
not just on the theoretical assembly constructed on
the modelling environment, but rather self-adapts to
a selected location (internal, external, or hybrid),
protecting applications and data.
Change – Automation of the change process is
comprised of two categories: self-adaptive, and
workflow-driven. Workflow-driven implies that
change is defined and actuated firstly based on needs
and pre-configured triggers, to later on be reused by
automation tools. Self-adaptation is a change that
usually changes the system’s inner state in order to
optimize a goal, such as optimize a QARCC defined
thresholds. Self-Adaptation changes can be
comprised of automated workflow-driven changes,
if massive similar changes are applicable. An
example for self-adaptation is to structure a system
with five servers for load balancing, and a self-
adaptation rule that can increase the number of
servers up to ten according to load, and decrease the
number of provisioned servers to three in case the
system is not in use more than one day. The change
automated provisioning workflow that can be
defined once and reused many times according to
the self-adaptation rule.
Monitor – Metrics, thresholds and eventually
key performance indicators (KPIs), highlight the
status of the monitored Composite Applications by
aggregating and accumulating sources of
information into manageable knowledge. The
knowledge can be provided by automation tools and
humans, driven by machine or human perception,
and eventually can be transformed into actions.
Notice that monitoring includes measuring business
processes and real-world outcomes, not just
automated data provided by managed machines. An
example may be providing an event that informs on
the quality of the ground-mail service: “Did the
package arrive on time?”, in contrast to “What is the
average response rate of the package-delivery
company Web service API?” Thus, daily
operational information can be more than low-level
infrastructure driven one by becoming an element of
managing the application and business solution. For
example, “Do not create a new LDAP ID” or “Add a
user to SAP” indicate usage patterns that might
trigger a need for improvement that will affect the IT
service itself and not part of the underlying system.
Consequently, monitoring is set with composite
KPI at the business level, such as “95% of my
purchase orders should be completed in 2 business
days with no human intervention”
Analyze /Optimize – The result of carefully
configured monitors, can serve for analysis and
reasoning on the root-cause of a problem, optionally
leading to a resolution. An example may be that the
system correlates “unresolved requests”, with
“server transactions load”, and analyzes it to “My
web application server is aborting requests under
load”. The triggered resolution of this analysis will
be to provision additional capacity in order to reduce
the load that will increase the system quality.
Analysis can serve for alternative design
between similar services (global optimization), or
finding where to improve in a given service (local
optimization). Optimization can be done on a single
attribute (such as capacity), achieved by automated
changes, or done on multiple attributes that will
trigger a massive refactoring and replacement of a
service.
Changes are part of the dynamic nature of an
elastic cloud environment that can expand and
contract on need, regulation, or business
requirements. Accordingly, using analysis and
optimization for evolving and adjusting existing
solutions is an inherent part of this dynamic world.
As an example, consider the case of an enterprise
running a marketing campaign. In such a case the IT
department will need to rent more warehouse space,
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
74