Conference PaperPDF Available

Economics-Driven Approach for Managing Technical Debt in Cloud-Based Architectures

Authors:

Abstract and Figures

Cloud-based Service-Oriented Architectures are composed of web services, offered via the cloud. The substitution decision may introduce technical debt, which needs to be managed, cleared and transformed to value-added. We define the concept of technical debt for Cloud-based SOA. We formulate the problem of web service substitution and its technical debt valuation as an option problem (option-to-switch between services). We use options analysis to manage and clear technical debt. We report on the formulation, which exploits Binomial Options Analysis. We evaluate the approach using an example.
Content may be subject to copyright.
Economics-driven Approach for Managing Technical
Debt in Cloud-Based Architectures
Esra Alzaghoul
School of Computer Science
University of Birmingham
Birmingham, UK
E.F.A.Alzaghoul@cs.bham.ac.uk
Rami Bahsoon
School of Computer Science
University of Birmingham
Birmingham, UK
r.bahsoon@cs.bham.ac.uk
Abstract—Cloud-based Service-Oriented Architectures are
composed of web services, offered via the cloud. The substitution
decision may introduce technical debt, which needs to be man-
aged, cleared and transformed to value-added. We define the
concept of technical debt for Cloud-based SOA. We formulate
the problem of web service substitution and its technical debt
valuation as an option problem (option-to-switch between ser-
vices). We use options analysis to manage and clear technical debt.
We report on the formulation, which exploits Binomial Options
Analysis. We evaluate the approach using an example.
KeywordsReal Options; Service Selection; Technical Debt.
I. INTRODUCTION
We view the cloud as a marketplace [1]. In this context,
Cloud-based Service-Oriented Architectures (CBSOA) can be
composed of web services, which can be leased off the
cloud [2]. Moreover, Service-Oriented Architectures allow web
services to be integrated to create a web application that
offer more extensive functionalities. In cloud environment,
web services can be offered through various cloud providers
with different cost, Quality of Service (QoS), features, and
functionalities. This can make the problem of selecting and
composing Service-Oriented Architectures benefiting from the
cloud market complex and challenging. This is because the
selection and composition need to consider multiple providers,
their diverse provisions and the likely long-term value-added
of a candidate selection. The need for web service substitution
could be driven by business objectives or technical ones. For
example, the need can be attributed to changes in QoS, the
need to reduce operational cost, upgrade to a new web service,
with better price, features and/or QoS. Web service selection
decisions have been driven by cost and QoS. The majority
of approaches has looked at the viability of the solution for
the short-term and has ignored the long-term cost and value
as a result of a selection. We argue that poor and unjustified
selection decisions, which are not long-term, may introduce a
technical debt - an operational liability which may incur an
interest if not managed, cleared and transformed from liability
to value. Factors, which may contribute to technical debts
in web service selection, may be related to poor and swift
selection decisions, mismatches in applications’ requirements
with the service provision, falsely accelerating the velocity of
the integration, testing and deployment process due to budget
restrictions, and/or through accidentally acquiring the debt via
an untrusted provider/market.
The novel contribution of this paper is in two folds; (i) we
introduce the concept of technical debt for cloud-based service
selection and composition and discuss its causes, (ii) we
describe an approach for managing technical debt in selection
and subsequent composition of web services in CBSOA using
real options thinking catering for uncertainty in long-term
value potentials and technical debt. We have applied an option-
based approach to inform the selection of candidate web
services with varying costs, utilities and value. For a candidate
selection, we quantify the technical debt and the extent to
which it can be cleared out and provide future options. In
previous work, we have reported on some initial results where
we have modelled technical debt in relation to growth options
[3]. Whereas in this paper, we formulate the problem of web
service substitution with respect to technical debt and long-
term value creation as a real options problem. In particular,
we look at option to switch between services. We also report
on the formulation, which exploits Binomial Options Analysis.
The analysis can provide the application architect with insights
into economic viability of the technical solution, expressed
in value-added and technical debt. Specifically, application
architect can make use of our technique to inform the decisions
of web service switching, which has the promise to add long-
term operational value and reduced technical debt.
II. BACKGROU ND A ND RE LATE D WOR K
Real Options in Software and System Engineering: Real
Options theory has been investigated in many fields, such as
software design [4], software architecture [5], systems design
and engineering [6], software refactoring [4], and COTS-
centric development [7]. Yam et al. [8] have addressed the
decisions of businesses migrating to the cloud using options.
In particular, they have looked at the decisions, which driven
by security requirements, whereas our approach looks at the
options in improving the utility through switching web services
with the view of improving QoS, value and reducing technical
debt. Up to our knowledge, we are the first to explore the link
between Real Options and technical debt for the case of web
service selection in the cloud marketplace.
Technical Debt and Real Options: There are different types of
technical debt such as design, development, and testing debt
[9]. However, none of the available work mentioned technical
debt in web service selection and composition field and their
link to value-added. Also, there is a general lack for models
and techniques for identifying and quantifying technical debt
in service-oriented systems. Our work attempts to characterize
technical debt and understand how the debt can be quantified
in systems [3]. Nevertheless, the link between technical debt
and options was explored in [10, 11].
Web Service Selection has been examined in different fields
such as service description and discovery (e.g. [12]), QoS-
aware selection and composition (e.g. [13]), etc. The majority
of work has focused on technical aspects in selecting web
services by looking at QoS and cost. None of the approaches,
however, have linked selection decision to technical debt and
long term value-added. For more details refer to [3].
III. CLO UD MTD: OPTION-BAS ED A PP ROAC H TO
TECHNICAL DEB T MANAGEMENT
Technical debt concept was introduced by Cunningham
[14], explicating code-level: ”Shipping first time code is like
going into debt...[14].Afterward, the term technical debt has
been developed broadly and has covered wider aspects of the
systems development life cycle (SDLC). For example, software
architecture [10], rework [15], software testing [9], etc.
Unlike previous work, we introduced a new dimension of
technical debt explicating service-level. We posit that technical
debt on the service level has a lifecycle; (1) when it starts,
(2) when interests are incurred/accumulated and (3) payback
process: when the selected web service is expected to clear out
the technical debt and generate future options. We argue that
technical debt is sensitive to some tradeoffs such as operational
cost and value generated as a result of acquiring the web
service, which are associated with web service lifetime. We
formulated technical debt using the following equation:
T D = max[1(OP RW ),0] (1)
Where TD is the technical debt, OP is the option value, and RW
is the rework cost, which includes but not limited to the upfront
cost of acquiring the new web service plus the accumulated
interest over time, if any.
A. Technical Debt on Service Level
Technical debt in CBSOA can be attributed to different
web service selection challenges, such as (1) the selected web
service features do not fully match the requirements of the
application; fixes may be required to reengineer the solution
to better fit the changes in requirements. (2) In the absence of
publicly available benchmarks and historical performance data
to verify web service provision and its compliance, uninformed
quick selection and substitution decisions may carry likely
risks, which can lead to Service Level Agreement (SLA)
violations. (3) The potentials of the architecture following
composition are not fully utilized and the operational cost tends
to exceed that of the generated benefits. (4) Poor and quick
decisions may add a value in the short-term but can introduce
long-term debt in situation where scaling up is unavoidable.
(5) Technical debt can also occur accidentally when service
providers rush the release of their web services to the market
under the pressures of meeting deadlines, through falsely
accelerating the velocity by reducing testing and verification
of the features delivered with web services. In this context,
when web services are selected based on the sole trust of
the service provider, the choice may accidentally introduce a
technical debt, which is often left to the application developer
to visualize and manage.
Technical Debt on service-level can be unintentional that is
because of bad engineering practices, and intentional that is
when we decide to take on the technical debt for generating
future value [10]. The debt could be visible in different
situations. In case of poor selection, for example, the debt can
be accumulated as a liability and interest on the web service.
To manage and clear the debt, we may call for switching.
Consequently, an intentional technical debt is introduced and
visible as a rework cost due to switching.
We manage the technical debt on the service level by switching
from one web service to another and we consider cost and
value along the option lifetime. Figure 1 illustrates three
different possible situations of Technical Debt on the Service-
Level. It describes patterns, which are related to some selection
challenges described above. For example, the unintentional
technical debt may occur due to unsuitable web service
selection and may accumulate on the current web service
before switching (T DW Scurr ), illustrated in Figure 1-part(A).
The second type of technical debt, which is the intentional
one, may for instance occur on the rework cost (T DRW )
due to switching as we decide to take on the technical debt
in order to gain future value-added, illustrated in Figure 1-
part(B). Furthermore, Figure 1-part(C) illustrates our third
case scenario when we decide to minimize the unintentional
technical debt by exercising an option, which can carry its own
debt (intentional T DW Snew ). Though the option is deemed to
be a debt, it is likely to unlock future value-added (Vt
W Snew )
on the structure and clear the debt. We formulated technical
debt management as shown in Equations 2 and 3.
T DRW +T DW Snew << T DW Scurr (2)
Vt
W Snew >> T DW Scurr +T DRW (3)
Fig. 1: Technical Debt positions on service-level.
B. Binomial Option-Based Approach
Below we provide the basics of the valuation using the
general Binomial model. Section IV illustrates how our ap-
proach is applying the binomial model to the case of Web
Service selection. Ozkaya et al. [5] adapted the binomial model
to value the utility of a structure in supporting a change.
Following their argument and utility model, subsequent steps
will be used to produce the Binomial Tree:
First, the asset/system value is calculated at each node of the
tree, starting with t0at the left end and moving toward the
right end using u, d and p coefficients. The total value of the
system is calculated using formula 4:
Vt=Vs+Vqos1(t)+Vqos2(t)+... +Vqosn(t)(4)
Where Vtis the total value of the system following the
substitution at time t,Vsis the current system value before
substitution, and Vqosn(t)is the utility value in supporting the
QoS such as scalability, availability, etc. following substitution
at time t. We will assume that the utility value of supporting
a specific QoS is the Revenues number of active users and
is measured by £.
Second, the option price at the end nodes (terminal nodes) is
calculated using equation 5, as we are modelling a call option.
f= max(0, V C)(5)
Where fis the option price, Vis the system value (correspond-
ing to the stock price in the Binomial valuation), and Cis the
maintenance cost.
Finally, the backward induction/folding back process is com-
pleted through calculating the option price (equation 6) at each
node by folding back the option price from right-side toward
the left-side of the binomial tree.
f=pfu+ (1 p)fd/(1 + r)(6)
Where fis the option price, and pis the probability coefficient
related to the improvement (equation 7.). fuis the expected
payoff when the asset value goes up and fdis the expected
payoff when the asset value goes down. ris the interest rate.
After calculating the option price, we will extract the switching
cost out of the option price to get the option value, i.e. option
value = option price - switching cost.
p= (1 + r)d/u d(7)
Where uand dare respectively the percentages increase and
decrease in the structure utility in supporting the QoS. u,dand
pcould be elicited using stakeholders input, historical data, or
based on a given underlying asset valuation.
IV. MYSOCIALBOO K EXAMPLE
MySocialBook is a social network CBSOA which is run-
ning in a highly uncertain environment, as the load tends
to fluctuate and the demand for its constituent services is
highly uncertain. We view the investment of MySocialBook in
substituting one or more of its web services as buying strategic
long-term options with likely debt, which needs to be modelled
and managed. The hypothesis is that substituting a web service
at specific time may embed flexibility to accommodate future
load and generate a value. The substitution decision may incur
a technical debt, which can be translated into future options, if
properly managed. MySocialBook business goal is to maximize
the system’s availability and throughput as more fulfilled
requests may imply revenue and will improve the utility value
of the structure through supporting more users. MySocialBook
business goal should be also debt-aware. Let us consider the
case where MySocialBook needs to substitute only one of its
constituent web services to meet changes in requirements. Our
approach, CloudMTD, will test the implication of substituting
one web service on the utility. MySocialBook system will
be evaluated with respect to the following assumptions: (1)
We view the investment in web services as a loan, which
will incur interest by time and signal a probable technical
debt, which needs to be monitored and managed for value
creation. (2) MySocialBook has been offered different web
services with comparable functionalities from different cloud
web service providers. Each web service comes with different
SLA provisions, Golden and Silver, as shown in Figure 2.
Golden and Silver SLAs vary in price and QoS. (3) The
Fig. 2: Web service substitution in CBSOA
system business value will be improved by £1 in supporting
an additional user, and vice versa. (4) Once a web service is
acquired, there is an expiry date associated with the acquisition
(end of contract), which we view as the expiration date of the
option. The system will be monitored and the technical debt
will be tracked during the life of the option. Here, we assume
that it is equal to 6 months. (5) Value-added is attributed to
the likely increase in revenues generated by improving the QoS
expressed as utility (V=Vt1V0).
Based on the previous assumptions, a binomial tree will be
build for each offered web service (steps in Section III-B).
The below illustration shows the analysis for one selection.
The upper cells represent the system value, generated using
formula 4. The lower cells are the value of the option, based
on formula 6.
A. Option to switch: Managing unintentional Technical Debt
Due to deadline restrictions, MySocialBook has subscribed
to a web service and has accidently taken a quick decision
focusing on the short-term cost and value. Since the selected
service features do not fully match the requirements of MySo-
cialBook application; service switching may be necessary in
order to better fit MySocialBook requirements. MySocialBook
has considered a new web service provider and needs to model
switching in relation to technical debt.
CloudMTD Analysis and Discussion: The web service selec-
tion decision can be viewed as buying option (flexibility) on
an asset (web service) and can be modelled as a call option.
Call Option gives the right -without the symmetric obligation-
to buy (select) an asset (web service) of uncertain future
value for an exercise price (switching cost), where there is
a potential benefit associated with exercising this option. In
cloud-based systems, such as MySocialBook, the utility can
describe the system value. CloudMTD analysis will be carried
out to know whether if the value of the new web service will
cover the rework cost (which is incurred due to switching) and
will deliver a value-added relative to the current web service.
We use CloudMTD to model the current web service’s value
against the candidate web service’s value.
Let us assume a scenario, where we need to model the value-
added and the technical debt on the structure (expressed in
utility). Looking at the case of availability, where 100% avail-
ability is likely to increase the structure utility by an average
of 40% per month. Similarly, we assume that the architecture
is likely to experience 10% unavailability on average during
the valuation period leading to an average of 40% decrease in
its utility. We use the option value minus the operational cost
to quantify the debt at a given time (Equation 1). If the service
capacity will be fully utilized, the situation is assumed to be
optimistic benefiting from 40% increase in utility. The option
value is likely to exceed that of the operational cost clearing
any debt. Alternatively, when the operational cost exceeds that
of the option value, the debt will be visible. We use CloudMTD
to inform the decision of replacement to another web service
with higher availability, which has the potential to improve
the option value and reduce the technical debt. The analysis
shows that the current system value (utility) is decreasing
on average due to the unavailability of the service and lost
opportunity in supporting expected load (Figure 4). Figure 3
shows that technical debt started to be visible as of the 3th
month while showing a decreasing trend in the option value
reaching zero on the 4th months. We argue that utility may
be improved by switching from the current web service to
another one with higher availability. Though short-term cost-
benefit analysis shows that switching looks to be unattractive
decision for the first four months, option calculation reveals
likely value-added following the 4th month. The case justifies
that taking on an intentional technical debt due to rework is
likely to create an option, which will outweigh rework cost.
Fig. 3: Clearing TD vs. Option Value over 6-month evaluation
Fig. 4: Current web service 1st and 2nd months option value
V. CONCLUSION
We defined the concept of technical debt for cloud-based
service-oriented architectures. We formulated the problem of
web service substitution and its technical debt valuation as
an option problem using Binomial Options valuation. We
looked at option-to-switch and we discussed its use through an
example. Results showed that the analysis can link selection
and substitution decision in cloud-based service-oriented ar-
chitectures to its utility, long term value creation and technical
debt reduction. In future, we will look at the implication of dy-
namically selecting multiple services within the configuration
and their implication on the structure’s utility as a whole.
REFERENCES
[1] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and
I. Brandic, “Cloud computing and emerging IT platforms:
Vision, hype, and reality for delivering computing as the
5th utility,Future Gener. Comput. Syst., vol. 25, pp.
599–616, June 2009.
[2] V. Nallur and R. Bahsoon, “A decentralized self-
adaptation mechanism for service-based applications in
the cloud,” IEEE TSE, vol. 99, 2012.
[3] E. Alzaghoul and R. Bahsoon, “CloudMTD: Using Real
Options to Manage Technical Debt in Cloud-Based Ser-
vice Selection,” in The 4th Workshop on Managing Tech-
nical Debt, in conjunction with 35th ICSE, 2013.
[4] K. Sullivan, P. Chalasani, S. Jha, and V. Sazawal, “Soft-
ware Design as an Investment Activity: A Real Options
Perspective,” in UNIVERSITY OF VIRGINIA DEPART-
MENT OF COMPUTER SCIENCE, 1999.
[5] I. Ozkaya, R. Kazman, and M. Klein, “Quality-attribute
based economic valuation of architectural patterns,” in
Proceedings of the 29th International Conference on
Software Engineering Workshops. Washington, DC,
USA: IEEE Computer Society, 2007, pp. 84–.
[6] C. Y. Baldwin and K. B. Clark, Design Rules: The Power
of Modularity Volume 1. USA: MIT Press, 1999.
[7] H. Erdogmus, J. Vandergraaf, and J. V, “Quantitative
Approaches for Assessing the Value of COTS-centric
Development,” in Sixth International Symposium on Soft-
ware Metrics, Boca, 1999.
[8] C.-Y. Yam, A. Baldwin, S. Shiu, and C. Ioannidis,
“Migration to cloud as real option: Investment decision
under uncertainty,” in Proceedings of the IEEE 10th
International Conference on Trust, Security and Privacy
in Computing and Communications. Washington, DC,
USA: IEEE Computer Society, 2011, pp. 940–949.
[9] J. Rothman, “An incremental technique to pay off testing
technical debt,” stickyminds, Weekly Column, 2006.
[10] N. Brown, Y. Cai, Y. Guo, R. Kazman, M. Kim,
P. Kruchten, E. Lim, A. MacCormack, R. Nord,
I. Ozkaya, R. Sangwan, C. Seaman, K. Sullivan, and
N. Zazworka, “Managing technical debt in software-
reliant systems,” in Proceedings of the FSE/SDP work-
shop on Future of software engineering research, 2010.
[11] C. Seaman, Y. Guo, C. Izurieta, Y. Cai, N. Zazworka,
F. Shull, and A. Vetro, “Using technical debt data in
decision making: Potential decision approaches,” in 3rd
Workshop on Managing Technical Debt (MTD), 2012.
[12] M. Crasso, A. Zunino, and M. Campo, “Easy web service
discovery: A query-by-example approach,Sci. Comput.
Program., vol. 71, pp. 144–164, April 2008.
[13] L. Zeng, B. Benatallah, A. H.H. Ngu, M. Dumas,
J. Kalagnanam, and H. Chang, “QoS-Aware Middleware
for Web Services Composition,” IEEE Trans. Softw. Eng.,
vol. 30, no. 5, pp. 311–327, May 2004.
[14] W. Cunningham, “The wycash portfolio management
system,” SIGPLAN OOPS Mess., vol. 4.
[15] R. Nord, I. Ozkaya, P. Kruchten, and M. Gonzalez-
Rojas, “In search of a metric for managing architectural
technical debt,” in WICSA and 6th ECSA, 2012.
... Ostatní publikovali jen jeden dokument a tato skutečnost se opět zdá být potvrzením, že propojení metod není lehce uchopitelné nebo v podobě, popsané autory není z hlediska dalšího zkoumání "zajímavé". jsou otázky přechodu z jedné služby na jinou [98], zvažováním dvou různých růstových opcí [99] a hodnocením časové flexibility prostřednictvím vyčkávací opce [100]. ...
... The need for establishing a metric to manage effectively the technical debt, when delivering a product, is also emphasized in [21], pointing out that the value of the delivered features and the impact of the cost should be considered in the decision-making process. On the other hand, an economics-driven approach in cloud-based architectures is discussed in [22], where the problem of the web service substitution and its technical debt valuation is described as an option problem, while a critical evaluation of the technical debt in cloud-based architectures using real options is performed in [23]. Although there are related work approaches in the literature regarding the technical debt from different viewpoints, there is currently little work in the area of technical debt estimation in mobile cloud computing and, therefore, a research gap for introducing a linear technical debt metric, which applies to the mobile cloud computing paradigm from the service capacity perspective, is witnessed. ...
Conference Paper
As network bandwidth and coverage continue to increase, the adoption rates of mobile devices are growing over time and the mobile technology is becoming increasingly industrialized. In mobile cloud marketplaces, the cloud-supported mobile services can be leased off. However, the mobile service selection may introduce technical debt (TD), which is essential to be predicted and quantified. In this context, this paper examines the incurrence of technical debt in the future when leasing cloud-based mobile services by proposing a novel quantitative model, which adopts a linear and symmetric approach as a linear growth in the number of users is predicted. The formulation of the problem is based on a cost-benefit analysis, elaborating on the potential profit that could be obtained if the number of users would be equal to the maximum value. The probability of overutilization of the selected service in the long run is also researched. Finally, a quantification tool has been developed as a proof of concept (PoC), which initiates the technical debt analysis and optimization on mobile cloud-based service level and aims to provide insights into the overutilization or underutilization of a web service when a linear increase in the number of users occurs.
... An architecture and measurement-based perspective is researched in [20], as the need for establishing a metric to manage effectively the technical debt when delivering a product, is motivated. Additionally, an economics-driven approach in cloud-based architectures is discussed in [21], while a critical evaluation using real options is performed in [22]. Although there have been previous research efforts from different viewpoints, a research gap for measuring the technical debt on mobile cloud-based service level is witnessed and, more specifically, when fluctuations in the number of users occur; therefore, the need for predicting it, is imperative. ...
Conference Paper
Full-text available
Enterprise mobility has become a top technology priority for companies over recent years and many organizations are accelerating the adoption of mobile cloud application models. The mobile cloud can be considered as a marketplace, where the mobile services of the mobile cloud-based system architectures can be leased off via the cloud. In this context, this paper elaborates on a novel fluctuation-based quantification model, which is based on a cost-benefit appraisal, adopting a non-linear and asymmetric approach. The proposed model aims to predict the incurrence and the risk of entering into a new technical debt (TD) in the future and provide insights to inform effective investment decision making. The lease of a cloud-based mobile service was considered, when developing the formula, and the research approach is investigated with respect to the cost that derives from the unused capacity. The probability of overutilization or underutilization of the selected service is examined, as fluctuations in the number of users are forecasted. A quantification tool has been also developed as a proof of concept, implementing the proposed model and intending to quantify and evaluate the technical debt on mobile cloud-based service level, when fluctuations in the demand occur.
... An option-based approach is taken into consideration in order to inform the selection of candidate web services with varying costs, utilities and system value along with a quantification approach measuring the extent to which the debt is cleared out and provide future options. The same authors introduce an economics-driven approach related to cloud-based architectures (Alzaghoul & Bahsoon, 2013b), where the problem of web service substitution and its Technical Debt valuation is formulated as an option problem. Two types of options are considered (i.e. ...
Chapter
Full-text available
Predicting and quantifying promptly the Technical Debt has turned into an issue of significant importance over recent years. In the cloud marketplace, where cloud services can be leased, the difficulty to identify the Technical Debt effectively can have a significant impact. In this chapter, the probability of introducing the Technical Debt due to budget and cloud service selection decisions is investigated. A cost estimation approach for implementing Software as a Service (SaaS) in the cloud is examined, indicating three scenarios for predicting the incurrence of Technical Debt in the future. The Constructive Cost Model (COCOMO) is used in order to estimate the cost of the implementation and define a range of secureness by adopting a tolerance value for prediction. Furthermore, a Technical Debt quantification approach is researched for leasing a cloud Software as a Service (SaaS) in order to provide insights about the most appropriate cloud service to be selected.
... An option-based approach is taken into consideration in order to inform the selection of candidate web services with varying costs, utilities and system value along with a quantification approach measuring the extent to which the debt is cleared out and provide future options. The same authors introduce an economics-driven approach related to cloud-based architectures (Alzaghoul & Bahsoon, 2013b), where the problem of web service substitution and its Technical Debt valuation is formulated as an option problem. Two types of options are considered (i.e. ...
Chapter
Full-text available
Predicting and quantifying promptly the Technical Debt has turned into an issue of significant importance over recent years. In the cloud marketplace, where cloud services can be leased, the difficulty to identify the Technical Debt effectively can have a significant impact. In this chapter, the probability of introducing the Technical Debt due to budget and cloud service selection decisions is investigated. A cost estimation approach for implementing Software as a Service (SaaS) in the cloud is examined, indicating three scenarios for predicting the incurrence of Technical Debt in the future. The Constructive Cost Model (COCOMO) is used in order to estimate the cost of the implementation and define a range of secureness by adopting a tolerance value for prediction. Furthermore, a Technical Debt quantification approach is researched for leasing a cloud Software as a Service (SaaS) in order to provide insights about the most appropriate cloud service to be selected.
... An option-based approach is taken into consideration in order to inform the selection of candidate web services with varying costs, utilities and system value along with a quantification approach measuring the extent to which the debt is cleared out and provide future options. The same authors introduce an economics-driven approach related to cloud-based architectures (Alzaghoul & Bahsoon, 2013b), where the problem of web service substitution and its Technical Debt valuation is formulated as an option problem. Two types of options are considered (i.e. ...
... Furthermore, a metric for managing promptly the Technical Debt is investigated in [20] from an architecture-related viewpoint, intending to optimize the development cost. Alternatively, managing the Technical Debt on cloud-based service selection using real options can be found in [21], while an economics-driven approach is adopted in [22] associated with cloud-based architectures. Finally, Alzaghoul and Bahsoon in [23] present a critical evaluation of the Technical Debt in cloud-based architectures using real options. ...
Conference Paper
Full-text available
Identifying and managing effectively the Technical Debt has become an issue of great importance over recent years. In cloud marketplaces, where the cloud services can be leased, the difficulty to promptly predict and manage the Technical Debt has a significant impact. In this paper, we examine the Technical Debt, which stems from budget constraints during the software development process as well as the capacity of a cloud service. In this context, the budget and the cloud service selection decisions may introduce Technical Debt. Towards reaching a conclusion, two approaches are taken into consideration. Initially, a cost estimation approach is researched, which is related to implementing Software as a Service (SaaS) in the cloud for three scenarios aiming to predict the incurrence of the Technical Debt in the future. The Constructive Cost Model (COCOMO) is exploited, in order to estimate the implementation cost and define a range of secureness. In addition, a Technical Debt quantification approach is adopted, which is associated with leasing a cloud Software as a Service (SaaS), towards indicating the most appropriate cloud service to be selected.
Conference Paper
Elasticity is a cloud property that enables applications and their execution systems to dynamically acquire and release shared computational resources on demand. Moreover, it unfolds the advantage of economies of scale in the cloud through a drop in the average costs of these shared resources. However, it is still an open challenge to achieve a perfect match between resource demand and provision in autonomous elasticity management. Resource adaptation decisions essentially involve a trade-off between economics and performance, which produces a gap between the ideal and actual resource provisioning. This gap, if not properly managed, can negatively impact the aggregate utility of a cloud customer in the long run. To address this limitation, we propose a technical debt-aware learning approach for autonomous elasticity management based on a reinforcement learning of debts in resource provisioning; the adaptation pursues strategic decisions that values the potential utility produced by the gaps between resource supply and demand. We extend CloudSim and Burlap to evaluate our approach. The evaluation indicates that a debt-aware elasticity management obtains a higher utility for a cloud customer, while conforming expected levels of performance.
Conference Paper
Cloud elasticity provides the underlying primitives to dynamically acquire and release shared computational resources on demand. Therefore, elasticity constantly takes adaptation decisions to adjust the resource provisioning constrained by quality of service and operating costs minimization. However, dynamic trade-offs for resource provisioning rarely consider the value of the adaptation decisions under uncertainty. Part of the problem stems from the lack of a utility-driven model to reason about it. In this paper, we introduce the concept of elasticity debt as an approach to reason about elasticity decisions from a utility-driven perspective, where we apply the technical debt metaphor in the context of cloud elasticity. Moreover, we extended CloudSim as a proof of concept to show that a debt-aware elasticity decision-making can achieve a higher utility over time. We provide an elasticity conceptual model that links the key factors to consider when adapting resource provisioning and the potential debts incurred by these decisions. We propose a new perspective to value elasticity decisions in the uncertain cloud environment by introducing a technical debt perspective.
Conference Paper
Full-text available
The management of technical debt ultimately requires decision making - about incurring, paying off, or deferring technical debt instances. This position paper discusses several existing approaches to complex decision making, and suggests that exploring their applicability to technical debt decision making would be a worthwhile subject for further research.
Conference Paper
Full-text available
In cloud marketplace, cloud-based system architectures can be composed of web services, which are leased or bought off the cloud. These architectures can add value to its composition by switching and substituting its constituent services. The value-added can relate to improved Quality of Service (QoS), new revenue streams by enabling new business models, reduced operational cost and so forth. The selection and substitution decisions may introduce a technical debt, however. We specifically look at the debt of substitution decisions in support for scaling up scenarios. This debt may need to be managed, cleared and transformed to value-added. We take an option-based approach to inform the selection of candidate web services with varying debt. For every selection, we quantify the extent to which it can clear the debt and provide future options.
Article
Full-text available
Cloud computing, with its promise of (almost) unlimited computation, storage, and bandwidth, is increasingly becoming the infrastructure of choice for many organizations. As cloud offerings mature, service-based applications need to dynamically recompose themselves to self-adapt to changing QoS requirements. In this paper, we present a decentralized mechanism for such self-adaptation, using market-based heuristics. We use a continuous double-auction to allow applications to decide which services to choose, among the many on offer. We view an application as a multi-agent system and the cloud as a marketplace where many such applications self-adapt. We show through a simulation study that our mechanism is effective for the individual application as well as from the collective perspective of all applications adapting at the same time.
Article
Full-text available
If cloud is so good then why aren't companies using it more? In this paper we look at how companies should make a decision to move some IT services or their IT infrastructure into the cloud. The move may initially look attractive in that it offers cost benefits but there is also considerable uncertainty, not least around security and information stewardship. Within the paper we propose the use of a real option model to help think about when to switch to cloud based on the expected benefits, uncertainties and the value a company puts on money.
Conference Paper
Full-text available
Delivering increasingly complex software-reliant systems demands better ways to manage the long-term effects of short-term expedients. The technical debt metaphor is gaining significant traction in the agile development community as a way to understand and communicate such issues. The idea is that developers sometimes accept compromises in a system in one dimension (e.g., modularity) to meet an urgent demand in some other dimension (e.g., a deadline), and that such compromises incur a "debt": on which "interest" has to be paid and which the "principal" should be repaid at some point for the long-term health of the project. We argue that the software engineering research community has an opportunity to study and improve this concept. We can offer software engineers a foundation for managing such trade-offs based on models of their economic impacts. Therefore, we propose managing technical debt as a part of the future research agenda for the software engineering field.
Conference Paper
Practices designed to expedite the delivery of stakeholder value can paradoxically lead to unexpected rework costs that ultimately degrade the flow of value over time. This is especially observable when features are developed based on immediate value, while dependencies that may slow down future development efforts are neglected. The technical debt metaphor conceptualizes this tradeoff between short-term and long-term value: taking shortcuts to optimize the delivery of features in the short term incurs debt, analogous to financial debt, that must be paid off later to optimize long-term success. In this paper, we describe taking an architecture-focused and measurement-based approach to develop a metric that assists in strategically managing technical debt. Such an approach can be used to optimize the cost of development over time while continuing to deliver value to the customer. We demonstrate our approach by describing its application to an ongoing system development effort.
Article
Web services have acquired enormous popularity among software developers. This popularity has motivated developers to publish a large number of Web service descriptions in UDDI registries. Although these registries provide search facilities, they are still rather difficult to use and often require service consumers to spend too much time manually browsing and selecting service descriptions. This paper presents a novel search method for Web services called WSQBE that aims at both easing query specification and assisting discoverers by returning a short and accurate list of candidate services. In contrast with previous approaches, WSQBE discovery process is based on an automatic search space reduction mechanism that makes this approach more efficient. Empirical evaluations of WSQBE search space reduction mechanism, retrieval performance, processing time and memory usage, using a registry with 391 service descriptions, are presented.
Article
With the significant advances in Information and Communications Technology (ICT) over the last half century, there is an increasingly perceived vision that computing will one day be the 5th utility (after water, electricity, gas, and telephony). This computing utility, like all other four existing utilities, will provide the basic level of computing service that is considered essential to meet the everyday needs of the general community. To deliver this vision, a number of computing paradigms have been proposed, of which the latest one is known as Cloud computing. Hence, in this paper, we define Cloud computing and provide the architecture for creating Clouds with market-oriented resource allocation by leveraging technologies such as Virtual Machines (VMs). We also provide insights on market-based resource management strategies that encompass both customer-driven service management and computational risk management to sustain Service Level Agreement (SLA)-oriented resource allocation. In addition, we reveal our early thoughts on interconnecting Clouds for dynamically creating global Cloud exchanges and markets. Then, we present some representative Cloud platforms, especially those developed in industries, along with our current work towards realizing market-oriented resource allocation of Clouds as realized in Aneka enterprise Cloud technology. Furthermore, we highlight the difference between High Performance Computing (HPC) workload and Internet-based services workload. We also describe a meta-negotiation infrastructure to establish global Cloud exchanges and markets, and illustrate a case study of harnessing ‘Storage Clouds’ for high performance content delivery. Finally, we conclude with the need for convergence of competing IT paradigms to deliver our 21st century vision.