+ All Categories
Home > Internet > The 27th Australasian Conference on Information Systems

The 27th Australasian Conference on Information Systems

Date post: 26-Jan-2017
Category:
Upload: uts-university-of-technology-sydney
View: 99 times
Download: 0 times
Share this document with a friend
59
Cloud Computing Adoption: An Effective Tailoring Approach by Mahdi Fahmideh School of Information Systems, Technology and Management, UNSW Business School, Sydney [email protected] December 2016 Australian Conference on Information Systems (ACIS 2016)
Transcript
Page 1: The 27th Australasian Conference  on Information Systems

Cloud Computing Adoption: An Effective Tailoring Approach

by Mahdi Fahmideh

School of Information Systems, Technology and Management, UNSW Business School, [email protected]

December 2016

Australian Conference on Information Systems (ACIS 2016)

Page 2: The 27th Australasian Conference  on Information Systems

/322

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 is a promising IT innovation to address such requirements through offering a wide range of service delivery models that 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

Page 3: The 27th Australasian Conference  on Information Systems

/323

Advantages of cloud computing have motivated IT-based organisations to either move their existing legacy systems to the cloud, or build new systems using cloud services.

According to Gartner's account, by 2020, a corporate ‘No-Cloud’ policy will be as rare as a ‘No-Internet’ policy is today (Gartner 2016).

Legacy system are key assets of IT-based organisations They deliver everyday services of organisations and contain massive data over a long

period of time.

The multi-faceted nature of cloud computing technology introducing many potential (Armbrust et al. 2010) challenges such as

SecurityMigration costOrganisational change Incompatibility and interoperabilityLegislation and regulation rulesVendor lock-in

A poor cloud migration may cause failing business processes, raise security issues, incur excessive costs, and resulted in unwanted maintenance overhead (Babar and Chauhan 2011).

Page 4: The 27th Australasian Conference  on Information Systems

/324

Researches pinpoint that transition to the cloud needs to be organised, anticipated, and viewed from the methodological perspective, that specifies activities involved, techniques to support these activities, and definition of any required models and roles involved during the migration process (Andrikopoulos et al. 2013; Chauhan and Babar 2012; Jamshidi et al. 2013; Mohagheghi et al. 2010).

Page 5: The 27th Australasian Conference  on Information Systems

/325

Chauhan’s method (Chauhan and Babar 2012)

REMICS method (Mohagheghi 2011)

Cloud-RMM (Jamshidi, Ahmad et al. 2013)

Strauch’s method (S. Strauch 2014)

Zhang’s method (Zhang, Berre et al. 2009)

Oracle method (Laszewski and Nauduri 2011)

ARTIST method (Menychtas, Santzaridou et al. 2013)

Amazon (Varia 2010)

Legacy-to-Cloud Migration (Ahmad and Babar 2014)

Some existing methods for moving legacy systems to cloud environments

Page 6: The 27th Australasian Conference  on Information Systems

/326

Knowledge gaps in the current literature

Page 7: The 27th Australasian Conference  on Information Systems

/327

Lack of a support for method tailoring

Choice of a migration method is dependent on factors such as selected service delivery model, organisation characteristics, and requirements of legacy systems.

Example: Moving legacies to IaaS Moving legacies to SaaS Example

According to (Louridas 2010) there is a difference between the US and the EU in addressing the ultimate data protection in the cloud. In the US, a cloud provider is responsible for complete data protection whilst in the EU cloud consumer is responsible to ensure cloud provider satisfies data protection requirements. Any misunderstanding of this fact may affect the systems security, and will raise exposure to vulnerabilities.

The methods agree on and define a collection of fixed activities for planning, feasibility analysis, identifying candidate cloud services, re-engineering, testing, and monitoring legacy systems that are to utilise cloud services.

Each method differs in its focus, scope, and the application domain. Each method may have weaknesses in certain situations and strengths in others. A

method might be suitable for moving large and distributed workloads from legacy data centres to public IaaS whilst another method might be best suited for enabling legacy systems to work as a SaaS.

Page 8: The 27th Australasian Conference  on Information Systems

/328

Lack of a support for method tailoring

Methods need to be configurable and responsive towards the specific characteristics of a given cloud migration scenario.

“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” (Banerjee 2012).

Only methods REMICS (Mohagheghi et al. 2010) and ARTIST (Menychtas et al. 2013) consider the notion of method tailoring.

REMICS method is stored as a set of building blocks that can be selected and assembled to create a method that match characteristics of a project at hand. But there is not a support of method customization.

ARTIST method, on the other hand, provides a tool which allows the customisation and instantiation of the base method with respect to results of a cloud migration feasibility analysis. Nevertheless, this method is associated with common reengineering activities and there is no focus on defining activities relevant to different service delivery models.

Combining existing methods into a comprehensive migration method cannot be a proper solution since a set of locally-based activities in each method cannot be linearly integrated or sometimes they become irreconcilable and inconsistent.

Page 9: The 27th Australasian Conference  on Information Systems

/329

Research objective: To develop a framework which supports the creating, maintaining, and sharing of

customised methods for conducting cloud migration scenarios.

Research questions What are the important fundamental methodological constructs for incorporation

into the process of moving existing legacy systems to cloud environments?

How to create a customized method for a given cloud migration scenario?

This framework is viewed as a specific IS artefact.

Design science research (DSR) as a proper research methodology (Hevner et al. 2004; Peffers et al. 2006; von Alan et al. 2004).

DSR focuses on the problem solving aspects in IS by designing and prescribing artificial innovations (Gregor and Hevner 2013), (Peffers, Tuunanen et al. 2007).

Page 10: The 27th Australasian Conference  on Information Systems

/3210

DSR process specialized for this research

Problem Identificatio

n

Design

Iteratively refine the artefact

EvaluationObserver the efficacy of the

artefact(Iterate back to

design and refine the artefact)Artefact

Cloud computing literature Existing IS or SE

Theories

analytics, case studies, experiments,

simulations, or naturalistic evaluations

Method engineering

approach

(Situational) Method engineering. The method engineering is a discipline to design, construct, and adapt methods, techniques, and tools for the development of information systems (Brinkkemper, 1996).

It proposes constructing a customized methods or tailoring existing ones through the notion of method fragments (atomic and reusable piece of methods) (Brinkkemper, 1996).

(Peffers, Tuunanen et al. 2007)

Page 11: The 27th Australasian Conference  on Information Systems

/3211

Design Phase

Page 12: The 27th Australasian Conference  on Information Systems

/3212

A conceptual framework for method tailoring

Page 13: The 27th Australasian Conference  on Information Systems

/3213

Step 1: Developing a consolidated repository of method fragments Common method fragments for incorporation into the cloud migration process was

developed. A systematic literature review based on guidelines in (Kitchenham et al. 2009). Identifying all studies related to the cloud migration and then extracting method

fragments, harmonising their definitions and reconciliation of differences, and organising them into generic migration steps.

Sufficiently generic to and platform independent. Forty-six distinct method fragments were identified from the literature.

Design phase (Task 1)

A conceptual framework for situational method construction

Cloud computing literature

Page 14: The 27th Australasian Conference  on Information Systems

/3214

Output of Task 1

Page 15: The 27th Australasian Conference  on Information Systems

/3215

Representation of the method fragments (a generic process model for cloud migration)

Output of Task 1 (Continue)

Page 16: The 27th Australasian Conference  on Information Systems

/3216

Output of Task 1 (Continue)

Page 17: The 27th Australasian Conference  on Information Systems

/3217

A conceptual framework for situational method construction

Step 2: Developing a procedure for constructing, configuring, maintaining, and publishing situational methods for a given cloud adoption scenario.

The proposed tailoring procedure is viewed as a class of the paradigm-based method engineering (Ralyté et al. 2003).

A new method is configured by instantiation from an existing method or metamodel, herein the repository, related to a particular domain or abstraction of an existing method

Specifying the parameters of a cloud migration scenario and then identifying relevant method fragments, commencing with a high-level method and recursively configuring it to meet requirements expected by a migration scenario.

Design phase (Task 2)

Page 18: The 27th Australasian Conference  on Information Systems

/3218

Output of Task 2

Page 19: The 27th Australasian Conference  on Information Systems

/3219

Evaluation:Prototype System

Page 20: The 27th Australasian Conference  on Information Systems

/32

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

20

MLSAC (Migrating Legacy Software Applications to the Cloud)

Page 21: The 27th Australasian Conference  on Information Systems

/3221

User can brows the process model and learn about the typical cloud migration process.

Page 22: The 27th Australasian Conference  on Information Systems

/32

Configuration of the process model

22

Page 23: The 27th Australasian Conference  on Information Systems

/3223

Created Method

Method product (e.g. XML)

Software DevelopersIS Manager (or Cloud Strategist)

Enacted by software developers

Migration scenario Moving a legacy system to Amazon EC2 Migration type: IaaS Enablement Phase

Cloud Migration scenario

Example:Designing and Sharing a

Customised Method for a Cloud Enablement Scenario

Page 24: The 27th Australasian Conference  on Information Systems

/3224

Step 1

Step 2

Page 25: The 27th Australasian Conference  on Information Systems

/3225

Step 3

Step 4

Instantiation a new method from the generic process model

Page 26: The 27th Australasian Conference  on Information Systems

/3226

Page 27: The 27th Australasian Conference  on Information Systems

/3227

Page 28: The 27th Australasian Conference  on Information Systems

/32

Configuration of the process model

28

Page 29: The 27th Australasian Conference  on Information Systems

/3229

Created Method

Method product (e.g. XML)

Software DevelopersIS Manager (or Cloud Strategist)

Enacted by software developers

Exporting the created method

Page 30: The 27th Australasian Conference  on Information Systems

/3230

Research contributions

Extending the method engineering approach to the cloud computing field.

Applying method engineering theory for the effective adoption of cloud computing technology

A knowledge sharing platform to assist consistent communication between scholars and practitioners.

a standard reference model allowing effective knowledge transfer across the community

Facilitating the understanding of cloud migration process. A unified and distilled representation of cumulated knowledge of the legacy system migration to

the cloud.

Underpinning a substrate for designing situation-specific methods for moving legacy systems to the cloud in a systematic manner.

As a framework for comparing existing cloud migration methods.

Page 31: The 27th Australasian Conference  on Information Systems

/32

Thank You

31

Page 32: The 27th Australasian Conference  on Information Systems

Appendix

Page 33: The 27th Australasian Conference  on Information Systems

Step 1— Preparing Knowledge Sources for Metamodel Creation

Page 34: The 27th Australasian Conference  on Information Systems

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)

Page 35: The 27th Australasian Conference  on Information Systems

78 Studies Identified existing methodologies, general approaches/frameworks, industrial experiences, patterns, decision

making framework .

Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)

Page 36: The 27th Australasian Conference  on Information Systems

Collected Demographic Data

Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)

Page 37: The 27th Australasian Conference  on Information Systems

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 developmentSufficiently generic

The extraction of constructs from Chauhan and Babar’s Methodology

Page 38: The 27th Australasian Conference  on Information Systems

Extracting Constructs- An example

In total 511 constructs were identified.

Step 1— Preparing Knowledge Sources for Metamodel Creation (Continue)

Page 39: The 27th Australasian Conference  on Information Systems

Step 2— Creating an Initial Metamodel

Page 40: The 27th Australasian Conference  on Information Systems

Step 2— Creating an Initial Metamodel

The gradual formation of metamodelGuidelines introduced in (Beydoun, Low et al. 2009; Othman, Beydoun et al. 2014)

Page 41: The 27th Australasian Conference  on Information Systems

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

Page 42: The 27th Australasian Conference  on Information Systems

Step 2.1 Grouping Similar Constructs— an iterative approachIteration 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-productsGeneric 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)

Page 43: The 27th Australasian Conference  on Information Systems

Step 2.2 Harmonising the Constructs’ DefinitionsThere is a link between different definitions Reconciliation of the various definitionsAn Example: Choose Cloud Provider

Step 2— Creating an Initial Metamodel (Continue)

Page 44: The 27th Australasian Conference  on Information Systems

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)

Page 45: The 27th Australasian Conference  on Information Systems

Cloud Migration Lifecycle(Resultant Metamodel)

Page 46: The 27th Australasian Conference  on Information Systems

Resultant MetamodelPlan Phase class of constructs

Page 47: The 27th Australasian Conference  on Information Systems

Resultant MetamodelDesign Phase class of constructs

Page 48: The 27th Australasian Conference  on Information Systems

Resultant MetamodelEnable Phase class of constructs

Page 49: The 27th Australasian Conference  on Information Systems

Resultant MetamodelMaintain Phase classes of constructs

Page 50: The 27th Australasian Conference  on Information Systems

Conducting case studies (continue) New added constructs to the metamodel after the validation

Use Logging

Page 51: The 27th Australasian Conference  on Information Systems

Purpose: To assess evaluate whether the process model constructs were 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

144 responded 104 usable responses (response rate of 20%)

Page 52: The 27th Australasian Conference  on Information Systems

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)

Page 53: The 27th Australasian Conference  on Information Systems

Suggestions by respondents for improving the process model

Page 54: The 27th Australasian Conference  on Information Systems

Publications Journal Articles

M. Fahmideh, F. Daneshgar, G. Low, G. Beydoun, Cloud migration process—A survey, evaluation

framework, and open challenges, Published in Journal Systems and Software (JSS) M. Fahmideh, F. Daneshgar, F. Rabhi, A Consolidate Understanding of Cloud Migration Process,

Under review in journal of Information and Management (I&M) M. Fahmideh, F. Daneshgar, F. Rabhi, A Generic and Tailorable Cloud Migration Process, Under

preparation for submission to European Journal of Information Systems (EJIS)

Conference Papers M. Fahmideh, G. Low, G. Beydoun, Conceptualising Cloud Migration Process, 25th European

Conference on Information Systems (ECIS), İstanbul, Turkey, 2016 M. Fahmideh, F. Daneshgar, F. Rabhi, Cloud Computing Adoption: An Effective Tailoring Approach,

27th Australasian Conference on Information Systems (ACIS), Wollongong, Australia, 2016 M. Fahmideh, F. Daneshgar, F. Rabhi, Cloud Migration Methodologies: Preliminary Findings, 2th

International Workshop on Cloud Adoption and Migration, Vienna, Austria

Page 55: The 27th Australasian Conference  on Information Systems

Related work

Page 56: The 27th Australasian Conference  on Information Systems

Scope Authors title Focus Developed metamodel (artefact) Unit of analysis Key ContributionsCloud

architecture(Hamdaqa, 2011) Demystifying cloud computing vocabularies, relations

between them, and design elementsMetamodel 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

Page 57: The 27th Australasian Conference  on Information Systems

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 SolutionAllowing 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.

AvailableII

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 VResolve Incompatibilities Integration legacy components with amazon cloud services.

Configure NetworkConfiguring network and dynamic resource provisioning (e.g. elasticity, virtualization, auto-scaling).

Related work on cloud migration

Page 58: The 27th Australasian Conference  on Information Systems

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 CustomisationC6.3.3 Fault IsolationC6.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 EnvironmentsC6.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.

Page 59: The 27th Australasian Conference  on Information Systems

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


Recommended