ICT Role in 21st Century Education & its Challenges.pptx
Presentation 2019 08-30
1. My journey in design science research
Dr. Mahdi Fahmideh
Lecturer, University of Wollongong (UOW)
Mahdi@uow.edu.au
Software Engineering Winter School, Sydney, 8-9 July 2019
2. Who am I ?
Information system
Development
Postdoctoral
Researcher
(Oct 2016 – Dec 2018)
Teaching
(March 2015 – present)
Mahdi
PhD
UNSW Business School
(September 2013- July 2017)
ranked 4th in Australia, 45th in the world, 2018 QS World University Rankings
UTS
is-a
was-a at
is-a
Cloud computing
IoTBlockchain
Data analytics
Service engineering
Enterprise Database
Management
Network Project
Management
php Web-
Backend
Programming
Software
Engineering
course
Lecturer @ UOW (Feb 2019 - ? )
IT Infrastructure/Network
System Analysis
and Design
Researcher
(2012 – present)
published
15 Journals/Papers
2
To be helpful for IS/SE
community
3. IS SE
Disruptive
technologies
Information Systems:
- Design science research (DSR)
- IS Theories (Positivism, Interpretivism)
- methodological pluralism
- quantitative approaches (e.g., surveys)
- qualitative approaches (e.g., interpretive case
study, interview, and domain expert review)
Software engineering:
- Software processes
- Software architecture
-RE
-Method engineering
-Model-driven SE
- SE Methodologies
- DSS Frameworks
- Conceptual models
- Software tools
What about myself?
Mahdi’s 3-pillars research product lineSocial
science
Synergy
Applied
Context
Output
4. Disruptive
technology
IS SE Output Year
IoT - Domain
expert review
- Systematic literature
review (SLR)
- Exploration of IoT platform development process-
- Information Systems – Journal (Core A* journal)
2019
Cloud
computing
-DSR
-Web-based
survey
-Qualitative
case study
-Domain expert
review
- Software process
- Metamodeling
- Method engineering
- Generic Cloud Migration Process
- EJIS (Core A* journal, Basket of 8 journals)
2018
Cloud
computing
-Web-based
survey (104
domain
experts,
statistical tests)
-SLR - Challenges in Mig. Apps to the cloud
- Information Systems – Journal (Core A* journal)
2017
Data analytics -DSR - Goal-oriented
modeling
- Fuzzy math
- Data analytics architecture design
- Computers and Industrial Engineering
- Q1, Impact factor Impact Factor: 3.518
2018
Examples of Mahdi’s research product line
6. Many enterprise systems supporting IT functions are characterised by the need for high computing
capability, reducing the cost of maintenance and upgrading, efficient resource utilisation, less
environmental impact and electrical energy consumption (Armbrust et al., 2010, Buyya et al., 2008, Koçak
et al., 2013).
Cloud computing has received attention to address such requirements through offering a wide range of
service delivery models which are universally accessible, dynamically acquirable and releasable, and
payable on the basis of service usage amount.
It is estimated that the global cloud computing market will grow from $40.7 billion in 2011 to $241 billion in 2020 (Ried S,
2011).
High computational capabilities
Reduced infrastructure cost
Efficient resource consumption
Low electrical energy consumption
Less environmental impact
Cloud Computing Technology
7. “Like any software development project, migration projects
require careful planning and good methodology to ensure
successful execution”
Laszewski and Nauduri (2011), designer of a methodology for moving
Oracle legacy applications to the cloud
“In the beginning it [legacy migration] was
motivated by the lack of documentation, but in
the last years it has been motivated by
adaptation to new technologies. Each new
technology has required new and renewed
approaches and technologies to ad- dress the
migration process in a more effective way.”
Benguria et al., 2013, REMICS project
“A well- structured methodology can aid
developers to carry out an effective and safe
application migration, instead of struggling to
under- stand “what” and “how” to carry out
such a transition in an ad-hoc manner which
may latter result in poor and erroneous
migration and maintenance overhead.”
Fahmideh, et al. “Cloud migration process—A survey,
evaluation framework, and open challenges”, Journal of
Systems and Software 120 (2016): 31-69.
Need for software engineering methodology
11. Narrowing down in implementations and platform-specific details
Chauhan’s method [S46]
There is a need to detach the cloud application development process from specific cloud platforms (Hamdaqa et al., 2011)
Knowledge gaps in the current literature (Continue)
12. Same migration process BUT from different viewpoints
There is a corresponding/link among these definitions. Nevertheless, this link has not been explicitly harmonised and
integrated so far.
Cloud migration knowledge domain is a multi-faceted, fragmented, and dispersed area
Select: This step will select the best supplier based on value,
sustainability, and quality Conway et al. in [S4]
Selected Cloud Environments: Identify a set of potential cloud
computing platforms based on a project’s nature, data
confidentiality and sensitivity requirements, budget constraints
and long-term organisational objectives Chauhan et al. in [S9]
Select Target Platform: Selecting appropriate technology for
the modernised system and technology that can run alongside
and communicate with the legacy system Huru in [S32]
Knowledge gaps in the current literature (Continue)
13. One-size-fits-all assumption (tailoring not supported)
Choice of a migration method is dependent on factors such as selected service delivery
model, organisation characteristics, and requirements of legacy apps.
Example:
Moving legacies to IaaS
Moving legacies to SaaS
A support for the strategy/method tailoring does not exist in the current literature
“One solution can never fit all problems; there is a need of customised cloud for individual businesses”
(Mahmood, 2013 ).
“there is no one-size-fits-all cloud, and it is up to each business to decide how much change is tolerable
and to decide how far into the cloud to step” [S62]
Knowledge gaps in the current literature (Continue)
16. Research Objective
A generic, platform-agnostic customizable development process model for cloud migration.
A problem/solving endeavour
This research objective can be addressed by Design Science Research (DSR)
DSR focuses on the problem solving aspects by designing and prescribing artificial innovations
(Gregor and Hevner 2013), (Peffers, Tuunanen et al. 2007)
Problem
Identification
Design
Iteratively refine the artefact
Validation
Observer the
efficacy of the
artefact
(Iterate back to
design, if required)Artefact
Cloud Computing
Literature
Existing IS or SE
Theories/Approach
es
analytics, case studies,
experiments,
simulations, or
naturalistic evaluations
Artefact, i.e. process model
18. Metamodeling in SE (Atkinson & Kuhne, 2003), (Gonzalez-Perez & Henderson-
Sellers, 2008)
Metamodels capture common concepts, relationships, and ways of
working
They are often suggested for achieving knowledge interoperability
and integration of a domain of interest
A Meta-method !
19. Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
Development of a Generic Cloud Migration Process Meta Model
Existing guidelines for the metamodeling were used
(Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
20. Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)
A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a
particular topic of interest.
Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”,
“Methodology”, “Process Model”, “Reference Model”, and “Migration”
Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley
InterScience, ISI Web of Knowledge, Google scholar.
Inclusion criteria: validated using example application, simulation, empirical study (case study,
controlled experiment), or experience from real examples.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
21. 78 Studies Identified
existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making
framework .
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
23. Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
Development of a Generic Cloud Migration Process Meta Model
Existing guidelines for the metamodeling were used
(Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
24. Extracting Constructs (e.g. tasks, work-products)— An example
Step 2
Construct selection criteria:
Relevant to challenges in cloud
application development
Sufficiently generic
The extraction of constructs from Chauhan and Babar’s Methodology
26. An example of an construct related to Choose Cloud Provider
Construct Source Definition from the Source Paper
Choosing a Cloud Provider [S23] “Choose a proper cloud provider”
Decision on Cloud Providers [S27] “Once the requirements are elicited and prioritised, an important activity is to consider the cloud (PaaS) provider”
Platform Selection [S63] “Choose a suitable cloud provider as well as service model that fulfils the SME Cloud Requirements”
Select [S4] “This step will select the best supplier based on value, sustainability, and quality”
Select [S67] “Engage and select one or more Cloud supplier and negotiate the deal”
Select Cloud Data Store or Data
Service
[S11] “The concrete target data store or data service for the migration is selected in step three by mapping the properties of the Cloud Data
Hosting Solution specified in the previous step to the set of available data stores and data services that have been categorised according to
the same non-functional and functional properties”
Select Target Platform [S32] “Selecting appropriate technology for the modernised system and technology that can run alongside and communicate with the legacy
system”
Selected Cloud Environments [S9] “Trade-off analysis documents specifying pros and cons of the environments identified during the previous activity and their suitability
with applications from business and technology perspectives”
Selection [S14] “Selection of an appropriate CEM-compatible cloud profile candidate”
Selection [S60] “Selection of an appropriate cloud profile candidate”
Selection [S61] Nil (No definition was provided)
Selection and Evaluation [S44] “Based on this cost metrics (response time, labour cost, licensing cost, or energy efficiency) the alternatives can be evaluated and selected”
Step 2
27. Step 1. Preparing a knowledge source
(identifying papers from the literature)
Step 3. Harmonising constructs’
definitions (reconciliation of
differences among definitions)
Step 2. Extracting constructs/fragments
from the identified papers
Output
Development of a Generic Cloud Migration Process Meta Model
Existing guidelines for the metamodeling were used
(Lopes, 1997), (Beydoun et al., 2009), (Othman et al., 2014), (Keller and König, 2014), (Gholami et al., 2010), (Cicchetti et al., 2011)
Cloud Computing
Literature
Cloud Migration Process Model
* An activity performed during the
migration process
* A work-product produced during the
migration process
28. Choose Cloud Provider
Step 2.1 Grouping Similar Constructs— an iterative approach
An example: 35 studies refers to the notion of cloud provider selection
Step 3— Creating an Initial Metamodel (Continue)
29. Step 2.2 Harmonising the Constructs’ Definitions
There is a link between different definitions
Reconciliation of the various definitions
An Example: Choose Cloud Provider
Step 3— Creating an Initial Metamodel (Continue)
30. Defining Relationships between the constructs
Association, , Specialisation and Aggregation
An Example
An application is analysed to assess its compatibility with the potential cloud computing
environments. For example, it may be the case that a target PaaS cloud does not support
frameworks or specific technologies being used by an application. If such issues are identified, then
these need to be resolved first” Chauhan’s methodology (denoted by [S9])
Step 3— Creating an Initial Metamodel (Continue)
38. Purpose: To assess whether the process model constructs are sound and
perceived as important by experts
Survey design
Pilot test: a sequential review process
A panel of four cloud experts
Expert 1: 8 years of experience in using Amazon services
Expert 2: 7 years of experience in IBM
Expert 3: 3 years of experience in developing cloud applications for Bank sector
Expert 4: An academic reviewer (editor chief in a cloud-related journal )
Data collection
LinkedIn, Twitter, and Facebook
Each profile was screened to assure
he/she had sufficient experience
in application migration to cloud
515 qualified experts were invited
144 responded
104 usable responses (response rate of 20%)
39. The null and alternative hypothesises were
defined
H0: the mean of the importance of each
construct is = 5 (Somewhat Important) vs. H1:
the mean of the importance of each construct is
significantly > 5
One Sample T-Test
Normality assumption
N = 104
Tenant Isolation (t-test statistic of= -1.499, p-
value of=0.06) and Virtual Machine
Specification (t-test statistic of=0.513, p-value
of =0.30)
42. Purpose: As the process meta model is generic and platform-agnostic, it is
expected that real-world migration scenarios can be expressed/represented by the
process model.
Real-world migration process
Cloud migration process meta model
Instanceof
Real-world migration process
Real-world migration process
43. Case study 1— InformaIT
Location: Sweden
Legacy system technologies: Microsoft .NET
Migration type: IaaS
ISD method: in-house
Industry sector: Document processing and management
InformaIT is a small independent software vendor (ISV) in Sweden involved in the design and development document
management systems (Rabetski and Schneider, 2013). The Document Comparison (DC) system, developed by InformaIT, was a
Web-based enterprise solution for enhancing document management processes. DC provided a fast and easy way to
compare textual and graphical contents of different digital documents. DC was originally designed to offer services to
medium and large organisations which had enough resources, own infrastructure, and technicians to install and run the
application. InformaIT was considering to promote its competitiveness power via expanding DC’s services around small
companies. However, there were several issues in running DC on customer’s premises:
Small companies couldn't afford DC as they would be confronted with a high financial commitment. The reason was
due to the high cost of installation as well as the usage cost of users. Instead of being charged per user and per
installation, small companies would prefer to use the application instantly and pay for their usage that is the number
of compared digital documents. A SaaS version of the application would potentially provide such features for this
class of customers.
DC had been distributed among a large number of customers’ network. InformIT had to convince each customer to
replace their existing package and also to cooperate during the actual upgrading. A cloud model could facilitate an
efficient and agile maintenance environment for the DC.
43-page document of this project.
Tracing technique (Sargent, 2005)
Examining the origination of the process model constructs to real-world migration models
45. Case study 2— TOAS
• Location: Finland
• Legacy system technologies: J2EE Technology
• Migration type: IaaS
• ISD method: in-house
• Industry sector: Telecommunication
• Tieto Oyj is an IT service company in Finland that had built an open source platform called Tieto Open Application Suite
(TOAS) based on J2EE technology (Vainikka, 2014). This platform was used for developing and running business
applications in cloud environments. The TOAS platform aims to increase the development speed, automation, and the
integrity of cloud applications through providing an integrated set of middle-wares, tools, and services according to
service models IaaS, PaaS, and SaaS. During the spring of 2014, a cloud migration project was launched by Tieto to
migrate a legacy application from the current Tieto’s infrastructure to this new TOAS platform. The application had been
developed using J2EE-based technology and was processing batch tasks. Due to the outdated hardware infrastructure and
software platform, moving this application to TOAS IaaS was a promising way to enhance the application performance
and reduce its infrastructure costs.
47. Case study 3— SpringTrader
• Location: United State
• Legacy system technologies: J2EE Technology
• Migration type: IaaS and PaaS
• ISD method: Scrum
• Industry sector: Finance
• SpringTrader is an open-source Web-based application that has been originally developed by Pivotal company and
maintained by many contributors over time. The application allowed users to establish an account to view and manage a
portfolio of stocks, lookup stock quotes, and buy and sell stock shares. Pivotal company had launched its own private
cloud platform, which named Pivotal Cloud Foundry. The platform is an open-source platform for developing and
deploying portable cloud-native enterprise applications. Pivotal company decided to move SpringTrader to this platform
because it would enable (i) users to access real-time stock market data and more interactivity with the application, and (ii)
the individual scaling up/down of SpringTrader’s components (also called micro services) and their maintainability.
49. • It was found that the process model has a deficiency to support the construct Use Logging. This construct was added as a
new subclass of Apply Design Principles to the process model.
• Logging mechanism is to facilitate the system debug and resource monitoring when running in the cloud.
A Generic Cloud Migration Process Model (version 1.2)
51. Expert 1 (E1): A professor and institute
partner at the Institute for Software in
Switzerland.
Expert 2 (E2): An associate professor and
former principal investigator and the
architecture theme lead of the Irish centre
for cloud computing and commerce (IC4) in
Ireland.
Expert 3 (E3): A practitioner with expertise
in cloud computing, SOA, software architect,
object-oriented design, domain-driven
design, and Microsoft .Net platform. He has
been a Scrum master in several IT projects.
Expert 4 (E4): A former academic researcher
at the Software and Systems Sections, IT
University of Copenhagen, Denmark.
55. Prototype
The prototype semi-automates using the process model.
Helps IS managers (or cloud strategists) to create, configure, standardise, and share customised cloud
migration methods through reusing the proposed process model.
Implementation
Microsoft .NET Framework 2015
C# programming language
Microsoft Access Database
MLSAC (Migrating Legacy Software Applications to the Cloud)
56. User can brows the process model and learn about the typical cloud migration
process.
64. Created Method
Method product (e.g. XML)
Software DevelopersIS Manager (or Cloud Strategist)
Enacted by
software
developers
65. Contributions
- Theoretical
- facilitating knowledge sharing about cloud migration process
- Practical
- Augmenting in-house methods to support cloud migration projects
- As an evaluation framework to assess and select other methods
- Providing a foundation for method engineering
66. Prof. John Grundy, Monash
university
Prof. Didar Zowghi, UTS
Dr. Farhad Daneshgar, UNSW Prof. Ghassan Beydoun, UTS
Senior Prof. Willy Susilo, UOW
Prof. Fethi Rabhi, UNSW
Collaboration (alphabetically ordered)
70. Systematic literature review (Kitchenham, Pearl Brereton et al. 2009)
A well-recognized procedure to identify, analyse, and interpret all relevant studies regarding a
particular topic of interest.
Search Strings: The main terms “Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”,
“Methodology”, “Process Model”, “Reference Model”, and “Migration”
Selected Study Sources: IEEE Explore, ACM Digital Library, SpringerLink, ScienceDirect, Wiley
InterScience, ISI Web of Knowledge, Google scholar.
Inclusion criteria: validated using example application, simulation, empirical study (case study,
controlled experiment), or experience from real examples.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
71. 78 Studies Identified
existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision making
framework .
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
73. Extracting Constructs (e.g. tasks, work-products)— An example
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
Construct selection criteria:
Relevant to challenges in cloud
application development
Sufficiently generic
The extraction of constructs from Chauhan and Babar’s Methodology
74. Extracting Constructs- An example
In total 511 constructs were identified.
Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)
76. Step 2— Creating an Initial Metamodel
The gradual formation of metamodel
Guidelines introduced in (Beydoun, Low et al. 2009; Othman, Beydoun et al. 2014)
77. Step 2— Creating an Initial Metamodel (Continue)
Choose Cloud Provider
Step 2.1 Grouping Similar Constructs— an iterative approach
An example: 35 studies refers to the notion of cloud provider selection
78. M. Fahmideh, F. Daneshgar, G. Low, G. Beydoun, “Cloud Migration Process— A Survey, Evaluation Framework, and Open Challenges”,
Journal Systems and Software, 120 (2016): 31-69. Impact Factor: 2.444 , Ranked as Q2.
79. Step 2.1 Grouping Similar Constructs— an iterative approach
Iteration 1:
Generic software development lifecycles (Pressman 1992; Sommerville 2004)
Generic reengineering lifecycles including Butterfly (Wu, Lawless et al. 1997), Renaissance
(Warren and Avallone 1999), Sneed’s approach (Sneed 1995), and Architecture-Driven
Modernization horseshoe (Khusidman and Ulrich 2007)
Challenges in cloud application development, [S10], and [S68]
Iteration 2:
Work-products
Generic software development introduced, generic reengineering lifecycles
Iteration 3:
Restructuring and perfecting
Tuning granularity of constructs (Henderson-Sellers and Gonzalez-Perez 2010)
An example of decomposition: Enable Multi-Tenancy - > Isolate Tenant Data, Isolate
Tenant Performance, Isolate Tenants Availability, Enable Application Customisation
[S35], [S65] and (Bezemer and Zaidman 2010)
Output: 72 common constructs, i.e. 65 tasks and 7 work-products.
Step 2— Creating an Initial Metamodel (Continue)
80. Step 2.2 Harmonising the Constructs’ Definitions
There is a link between different definitions
Reconciliation of the various definitions
An Example: Choose Cloud Provider
Step 2— Creating an Initial Metamodel (Continue)
81. Defining Relationships between the constructs
Association, , Specialisation and Aggregation
An Example
An application is analysed to assess its compatibility with the potential cloud computing
environments. For example, it may be the case that a target PaaS cloud does not support
frameworks or specific technologies being used by an application. If such issues are identified, then
these need to be resolved first” Chauhan’s methodology (denoted by [S9])
Step 2— Creating an Initial Metamodel (Continue)
89. Scope Authors title Focus Developed metamodel (artefact) Unit of analysis Key Contributions
Cloud
architecture
(Hamdaqa, 2011) Demystifying cloud computing vocabularies, relations between them,
and design elements
Metamodel of cloud computing applications Cloud application A metamodel as cloud modelling language aiding developers to better understanding cloud application architectures.
(Liu et al., 2011) Conceptualization the of cloud computing architecture Metamodel of cloud computing enterprise architecture Enterprise architecture Demystifying the main constructs are incorporated in cloud migration including actors, architectural components, interactions between actors, and activities.
(Lenk et al., 2009) A hierarchical model of cloud computing technologies Integrated cloud computing stack Enterprise architecture Facilitating interoperability of cloud services, providing a reference point for mash-ups, and guidance on how to combine and interchange cloud services.
(Tsai et al., 2010) Combining the notions of cloud computing and service computing Four layer cloud service computing architecture style Enterprise architecture Proposing an open architecture for cloud service computing open which standards and ontology are embraced.
(Zimmermann et al., 2013) An overall architecture building blocks of big data cloud computing
applications
Metamodel of big data application architecture Big data cloud applications Supporting semantic analysis and program comprehension of service-oriented big data applications.
(Zhang and Zhou, 2009) Standardization of a configurable and extensible cloud computing
architecture model
Metamodel of principles of cloud computing architecture Enterprise architecture Isolating the enterprise architecture from infrastructure enablement during cloud architecture design process by formulating architectural principles and modules.
Green Cloud (Procaccianti et al., 2014) Distilling knowledge of green practice for designing cloud
infrastructures
Green cloud metamodel cloud infrastructure A metamodel formulating recurrent and reusable architectural tactics and goals and addressing the problem of reducing energy footprint in green cloud architectures. The
metamodel can be used for the refactoring of existing applications for cloud enablement.
(Nowak et al., 2014) Distilling knowledge of green practice for IaaS-based business
processes
Green cloud metamodel Business processes A catalogue of green practice for designing green business processes. It aids developers to design virtual machines for execution of cloud-based business processes.
(Dougherty et al., 2012) Capturing common features/requirements of virtual machines
performed in cloud
Metamodel-based auto-scaling resource management
approach
IaaS-based virtual machine Developers can express requirements such as energy consumption per hour and cost attribute for VM instances using an instantiable metamodel of common features of
virtual machines. The metamodel optimizes energy consumption of cloud auto-scaling infrastructure to create greener computing environments that reduce emissions
resulting from superfluous idle resources.
Cloud Services (Nunez et al., 2013) A language for describing and measuring accountability attributes of
cloud service and providers
Metamodel of cloud services accountability Cloud service A language for describing none-functional properties of cloud services in terms of entities, evidence and actions. The language facilitates defining meaningful measures for
accountability properties of cloud provider including transparency, verifiability, observability, liability, responsibility, attributability, and remediation.
(Cimato et al., 2013) A language to express domain concepts of cloud service certification
process
Metamodel of cloud services certification process Cloud service A unified metamodel for the defining of the security properties to be certified, the types of evidence underlying them, and the phases of the certificate lifecycle, as well as all
mechanisms for instantiating supporting evidence.
Cloud
application
interoperability
and portability
(Ardagna et al., 2012) Portability and interoperability of applications in multiple clouds Using model transformation techniques Cloud application Allowing developers to design application in a cloud-agnostic way and instantiate it for different cloud environments. This way provides closed-loop between the run-time
and design-time environments of application and triggers the dynamic deployment of the application.
(Caballer et al., 2014) Execution of scientific applications in cloud infrastructures Using the concept of container to encapsulate programming
model logic and the infrastructure needed to execute it in the
cloud.
Scientific Cloud applications Developer can adapt, deploy and execute parallel applications covering different programming models (such as Master/Slave, Parallel/MPI, MapReduce and Workflows)
to the cloud backend.
(Maximilien et al., 2009) Managing application deployment and cross-cloud interoperation Cloud-agnostic APIs Middleware architecture A meta-model to model cloud platforms at an abstraction level to support application deployment and redeployment in the cloud.
(Kopp et al., 2012) Business process interoperability and portability on multiple clouds Extending BPMN with specific elements for transformation of
business process to a specific platform
Business Process Providing automated modelling and transformation for planning, tailoring and deploying composite business processes on different IaaS providers and workflow engines.
Modeller defines abstractly what kind of service should be invoked without concrete references to services. Instantiation information such as virtual machines is then added
by Plan Portability APIs.
(Wettinger et al., 2013) Model-driven configuration management High-level configurative metamodel Cloud application A model-driven support for specifying configuration templates in a higher level of abstraction including topology template, node types, and relationship types in
application configuration.
Cloud
architecture
design best
practices
(Fehling et al., 2012) Formalizing best practice design of cloud-based application
architecture
A pattern language Cloud application A language to describe common design patterns for cloud computing architecture design.
Domain specific
language
(Sledziewski et al., 2010) Increasing productivity of application development for Cloud DSL for describing cloud application Cloud application A domain language allowing developers to generate high-level representation of an application and to generate application codes to be deployed in the cloud.
(La and Kim, 2009) Maximizing the reusability and customizability of SaaS applications Model-driven SaaS development process SaaS application Defining a lifecycle including guidelines to model a high-level architecture of SaaS including features, communalities, variation points and scope of variations. Cloud
platform specific information is added to application models when application is to be deployed in a specific cloud platform.
(Zech et al., 2012) A central model from which risks related to the cloud deployment
can be deviated and analysed.
DSL for generating deployment model of application in the
cloud
Cloud application Allowing developers to describe cloud deployment model by their functional and none-functional security-related properties. The defined model then is enriched by a
vulnerability knowledge based to do security analysis. The language facilitates expressing the variety of deployment models.
(Brandic et al., 2010) Simple and flexible compliance information management DSL for specifying compliance requirements of cloud
consumers
Cloud application A language to express user requirements and compliance level agreements such as, security restrictions, privacy, trust, and compliance level agreements. It supports semi-
automatic deployment of applications in the cloud.
Related work on metamodeling in cloud computing literature
90. Source Migration Task Aim Availability Migration Type
[S7] Analyse Context
Supporting decision making during the suitability analysis of migration in terms of operational cost,
organisational change, energy consumption, and stakeholder analysis. Not-specified V
[S10]
Resolve Incompatibilities
Supporting the data tier migrating to the public cloud and the refactoring of the application components.
Available IV
[S12] Design Cloud Solution
Allowing developers to model application components and define relevant criteria for the splitting
components in the cloud.
Not-specified V
[S33]
Recover Legacy Application Knowledge Discovering legacy application components.
Available
II
Resolve Incompatibilities Resolving interoperability problem between legacy components and third-party cloud services.
Design Cloud Solution Generating a platform specific implementation model from the cloud architecture model.
Test Application Creating test cases and test scenarios.
Configure Network
Generating a platform specific implementation model from the architecture model by taking into account
the constraints relevant to the deployment of applications in the cloud.
[S59] Recover Legacy Application Knowledge Extracting the ontology of source code, data, and architecture of the legacy application. Available All
[S64]
Analyse Context Analysing business and technical migration feasibility.
Available II
Recover Legacy Application Knowledge Representing high-level and platform-specific models of the legacy application.
Resolve Incompatibilities Transforming legacy codes to the cloud target platform.
Test Application Supporting functional and non-functional testing.
Configure Network Deploying application components in the cloud.
[S71]
Enable Elasticity Configuring amazon services (e.g. storage, resource).
Available V
Resolve Incompatibilities Integration legacy components with amazon cloud services.
Configure Network
Configuring network and dynamic resource provisioning (e.g. elasticity, virtualization, auto-scaling).
Related work on cloud migration
91. Overview of key concerns in cloud migration process
# Concern Definition
C1 Analysing Organisational Context Assessing the feasibility and business value of the cloud to empower legacy applications in terms of in terms of user resistance, loss of governance, dependency on legacy application, risk of unauthorised access, legal restriction, physical
location of IT resources, energy consumption, variation on responsibilities, technical suitability, impact on organisational and daily activities, type of legacy application , required efforts and migration cost , scalability (workload fluctuation),
and financial suitability.
C2 Understanding Cloud Migration
Objectives and Requirements
Analysing cloud migration goals and application requirements that should be satisfied by cloud services.
C3 Proper Cloud Migration Planning Defining a plan to guide the migration process and roll-back plan.
C4 Understanding Legacy
Application
Identifying the characteristics of legacy application that may influence cloud migration such different types of dependencies to other applications, interaction points and message follows between application components, as well as the
quality of code blocks for reuse and adaptation.
C5 Target Cloud Platform/Service
Selection
Analysing available cloud services, their offered model, and their influence on platforms on the required effort for the rest of migration process. Also, training developers on new programming concepts such as asynchronous interaction,
distributed state and session management, caching, scale out across data centers and providers (scalability), multi-tenancy.
C6
Re-Architecting Legacy
Applications
C6.1. Defining Cloud Architecture Model Identifying suitable legacy application components for migration and their deployment (topology) in the cloud with
respect to data privacy, expected workload profile, acceptable network latency and performance variability, availability
zone of cloud providers, the affinity of components in the cloud, and the geographical location of cloud servers.
C6.2 Enabling Application Elasticity Defining elasticity rules and mechanisms in the application in order to support dynamic scale up/down and acquire and
release cloud resources in a adequately manner.
C6.3 Enabling Multi-Tenancy C6.3.1 Security Isolation Addressing tenant isolation with respect to the security (i.e. assuring each tenant can only access to its data and to be
protected from unauthorised access by other tenants which are running in the same cloud), customisability (adding
configuration points, in the form of application template, in the code blocks of the application so that each tenant can
customise the sequence of application workflow and code customisation on basis of his/her requirements), fault
(monitoring the application state to detect the faults, preventing their propagation, and repairing them in a timely
manner), and performance (guaranteeing the performance of one tenant from the negatively being affected by the
performance usage of other tenants in unforeseen behaviours).
C6.3.2 Tenant-Based Application Customisation
C6.3.3 Fault Isolation
C6.3.4 Performance Isolation
C6.4 Addressing Interoperability and Incompatibility C6.4.1 Code refactoring Modifying legacy codes so that they can interact with the cloud services.
C6.4.2 Developing Integrators/Adaptors Wrapping incompatibilities between legacy and cloud services by using adaptors.
C6.4.3 Data Adaptation Resolving incompatibilities between legacy data base and cloud solution database through data type conversions,
query transformation, database schema transformation, and developing runtime emulators for stored procedure,
views or triggers.
C6.5 Applying Architecture Design Principles C6.5.1 Application Decoupling Re-architecting a legacy application to target cloud architecture with respect to design principles such as application
decoupling, stateless programming, handling transient faults, and availability.C6.5.2 Stateless Programming
C6.5.3 Handling the Unpredictability of Cloud Environments
C6.5.4 Replicating and Synchronising
C7 Environment Configuration Reconfiguring organisation network setting such as ports, devices, firewalls, and anti-virus, reachability policies, and connection strings to the database so that legacy components can invoke cloud services, giving privileges to application
tenants/users to assure the security of application is satisfied in the cloud environment, creating installation scripts and setup different third-party libraries and tools that may be used for monitoring and reporting runtime application
behaviour.
C8 Testing Ensuring that the migrated application satisfies cloud migration objectives/requirements.
92. Examples: respondents’ comments about the importance of constructs (activity/work-product) for
inclusion in the process model
Analyse Context
“Cloud migrations will almost always result in significant change to (often longstanding) business processes. Many employees will begin to worry
about job security - similar to outsourcing projects. Be prepared to deal with resistance in equal quantities from business users, as well as engineers and
developers”
A system analyst with 4 years experience in cloud computing
Identify Incompatibilities
“Provider selection may produce additional requirements in terms of implementation. This refers to the fact that based on what provider (e.g. Google
App engine or Azure), specific requirements may be posed on the technical implementation. For example, if you go for PaaS, then providers usually
support only a subset of the available Java frameworks. If the migration is from an SQL-based DB for example to a SQL based service DB, then
migration is easy. If migration involves the alteration of the data model (e.g. to a NoSQL solution), then significant modifications must be performed
and more importantly to check the constraints of the new used paradigm. Thus you must take that under consideration, especially when you want to
reutilize existing code, which is the case in application migration. Checking which frameworks are supported against which frameworks have been used
for your initial application gives you an indication of how complex it would be to migrate to that specific provider”
A software developer with 4 years experience in cloud computing
95. Expert 1 Expert 2 Expert 3 Expert 4
Selection of experts
Expert 1. A professor and institute partner at the
Institute for Software in Switzerland.
Skills: cloud computing, service-based system design,
software architectures, and knowledge management
Expert 2. A/professor and former principal investigator
theme lead of the Irish centre for cloud computing and
commerce (IC4).
Skills: cloud migration, legacy system migration to the
cloud
Expert 3. Practitioner
Skill: cloud computing, Scrum master, software architect,
object-oriented design, domain-driven design
Expert 4. Researcher at the Software and Systems
Sections, IT University of Copenhagen, Denmark,
Skill: cloud migration, software architecture
Researcher
96. E2 said “determining licensing issues of legacies should be made more visible in the process model as it can turn out to
be a major task in the migration process”
Resolve Licensing Issues as a special construct was added in Design Phase of the process model.
E3 said “the migration process model should contain a construct to show rollback for the migration process”
the process model was refined by extending the construct Define Plan to Define Roll-Back Plan.
A Generic Cloud Migration Process Model (version 1.3)