specific characteristics that may affect the actual cost
of running an application. For large-scale distributed
applications, and in particular for scientific applica-
tions, this issue is more prominent.
With these challenges in mind, we present
CLOUD-METRIC: A lightweight framework that
adds cost-awareness to the application development
life cycle. Our aim is to provide a framework that
helps in the design of cloud native applications by
making cost considerations an integrated part of the
development life cycle rather than an operational af-
terthought. Importantly, CLOUD-METRIC provides
these cost-estimates both based on the provisioned re-
sources and on an analysis of the actual utilization of
the deployed resources.
The rest of the article is organized as follows: sec-
tion 2 present related work. The functionality of the
framework together with features are presented in-
detail in section 3. Section 4 describes the framework
architecture. An evaluation of the framework is pro-
vided in section 5 where the utility of the framework
is highlighted based on two challenging use cases.
Section 6 illustrates the framework performance and
section 7 presents concluding remarks.
2 RELATED WORK
Several efforts have been made to address the chal-
lenges of metering and cost estimation in cloud envi-
ronments. Liew at al. in (Liew and Su, 2012) used
a queuing model to predict the cloud computing re-
sources used by a targeted application and based on
that it estimates the deployment cost. The cost is es-
timated considering the applications’ resource costs
and services costs. The performance requirements
of the application is predicted using defined policies.
In contrast, CLOUD-METRIC relies on performance
monitoring data for an application running in private
resources.
A related solution to our work is proposed by Hui-
hong He et al. in (He et al., 2012) in which they pro-
pose an approach to estimate the cost of running an
application on AWS during the design phase. They
model the application execution service with an UML
activity diagram. The UML activity is extracted au-
tomatically with a proposed extraction algorithm. In
addition, they propose a cost model to estimate the
operational cost and the performance need of an al-
gorithm during the design phase in order to produce a
suitable deployment.
Recently Cloudorado (Clo, 2016) deployed a web
application that provides cost comparisons for cloud
servers across different cloud service providers in-
cluding Google Cloud, AWS, Microsoft Azure and
Cloudware. They provide an interface that allows
users to specify server capacity requirements and
the application provides matching servers on several
cloud providers together with cost estimates. While
helpful to users to compare cost for virtual private
servers, it does not provide dynamic pricing based on
users’ application resource utilization.
Microsoft, being one of the major cloud services
providers, have developed a tool that helps IT man-
agers to quickly assess the running cost of an existing
on-premise workload on the Azure cloud environment
(Mic, 2016). The tool performs a scan on the exist-
ing on-premise workload and recommends matching
instances on Azure. It also provides a monthly cost
of the matching instances on the Azure environment.
However, the tool is limited to Microsoft and VMware
technologies such as Hyper-V, SCVMM, vCenter and
ESXi. In our proposed framework, we perform an in-
stance matching routine similar to Azures’ matching
routine but we match instances provided by different
providers such at AWS and GCP.
None of above mentioned works address all the
challenges we have highlighted in section 1. The
framework presented in (Liew and Su, 2012) can ad-
dresses C-1, whereas the UML-based framework (He
et al., 2012) provides a limited solution to C-2 and C-
3. Cloudorado is a commercial project, offering ad-
vanced features and covers a range of IaaS providers.
It addresses most of the highlighted challenges but the
requirement of providing manual information seems
unrealistic for applications with dynamic workloads.
The Azure tool (Mic, 2016) addresses most of the
challenges except C-4, since the solution is designed
exclusively for the Azure platform, leaving the risk
for vendor lock-in and a sub-optimal cost for running
the applications.
3 CLOUD-METRIC
CLOUD-METRIC is a light-weight framework with
the capabilities of metering computational and stor-
age resources, cost estimation for clusters, both
micro-(node based) and macro-(application-based,
including all resources) level views of the execution
platform, as well as recommendations for optimized
resource type based on actual usage data.
CLOUD-METRIC currently provides cost-
estimates for Amazon Web Services (AWS) and
Google Cloud Platform (GCP) but it can easily be
extended to different cloud service providers. The
software and deployment guide is available via a
Github repository (CLO, 2016). In order to enhance
CLOSER 2017 - 7th International Conference on Cloud Computing and Services Science
488