Improving Business Processes Using Blockchain, Microservices, or Cloud Computing : a Goal-Oriented Approach
Abstract
Abstract
Business processes, which are collections of business activities and interactions by software,
hardware, and peopleware to produce services or products for customers, act as the context
in which software systems are to function. Software systems are designed and built to
support business processes for achieving business goals and alleviating business problems.
Blockchain technologies are intended to help enhance the trustworthiness of business processes
among independent stakeholders by improving transparency, traceability, and immutability
of business logic and information. The adoption of microservices aims to align business
processes with software changes in a timely manner by decomposing a monolith into a set of
small-sized services that are independently deployable. Using cloud computing is intended to
alleviate scalability issues, such as under-provisioning computing resources at peak times or
over-provisioning computing resources at non-peak times.
However, there is a lack of systematic approaches to adopt blockchain, microservices, and
cloud computing. Concerning blockchain, although over 80,000 blockchain projects have
launched globally, around 92% of blockchain projects have known as failed. This is because
of a lack of understanding and guidance on why and where blockchain is fit for purpose and
what kinds of blockchain technologies are appropriate for each organization while carefully
examing the side effects of using blockchain. Concerning microservices, a lack of work aligning business processes with microservices can result in a wrong-cut issue, which makes software
systems harder to understand and change. In addition, as multiple software teams deliver
microservice changes independently that are not collectively assessed, notified, or verified, it
is time-consuming to trace problematic changes (e.g., code or infrastructure changes) across
the independent teams that cause runtime performance issues. Concerning cloud computing,
it is difficult to estimate the future performance and cost of cloud-based systems in a fast,
inexpensive, and reliable manner before moving to clouds. Using cloud simulation alone
can yield wrong throughput estimates. On the other hand, using cloud benchmarks can be
expensive and time-consuming.
This dissertation presents Fides, Hermes, Harmonia, and Silverlining to improve business
processes by using blockchain, microservices, and cloud computing in a systematic and
rational manner. Fides is a goal-oriented framework for exploiting blockchain towards
enhancing the trustworthiness for business process reengineering systematically and rationally.
Hermes and Harmonia are goal-oriented frameworks utilizing microservices to help align
changes in business processes and software systems changes in a timely manner. Silverlining
helps estimate the performance and cost of cloud-based system design alternatives in a fast,
inexpensive, and reliable manner before making decisions to adopt cloud computing by using
cloud benchmarking and cloud simulations in a complementary manner.
In order to validate Fides, prototype systems using Ethereum and Hyperldeger Fabric are
developed in two consequent senior design project courses. Feedback from domain experts
and students showed that the use of Fides leverages the level of confidence in the quality of
the reengineered business processes with enhanced trust in utilizing blockchain. The initial
applicability of Hermes is described through a simulation that helps explore microservice
boundary design options, evaluate the trade-offs among them, and select one. A reference
microservice application is used to illustrate how Harmonia captures and correlates changes
in deployment time and runtime performance changes. Silverlining simulation results show 90.42% accuracy as it has 9.79% of Mean Absolute Percentage Error (MAPE) compared to
benchmarks results collected from Amazon Web Service (AWS) and Google Compute Engine
(GCE) by using the Yahoo! Cloud Serving Benchmark (YCSB).