Introduction
Technology and information systems have suffered a transformation from being merely support tools to become generators of new business models and enable competitive advantages for organizations. A sound information management and the setting of the right information infrastructures has become a necessity for organizations all over the world. One of the technologies that have evolved through these years and have become indispensable for businesses that want to remain sustainable and competitive over time is cloud computing. Cloud computing allows companies to increase efficiency and decrease operative costs and has become a fundamental tool in the knowledge era, in which strategic decisions are made based on innovative computer tools (Day & Bens, 2005).
Cloud computing offers to different organizations plenty of opportunities through the Internet to reduce their operational costs while improving their organizational processes. Thus, providing better products and services, and improving business models (Faroughiana et al., 2012).
Companies in the past have traded through large or small supply chains. Technology has offered companies new and more efficient ways to produce, sell, and acquire products, for example, through electronic markets (Zeng, Chen, & Huang, 2013).
Electronic markets improve the supply chain by avoiding a physical encounter with intermediaries. This is mainly due to the advantages of operating in the cloud (Bermúdez, García, & Giraldo, 2013). This technological innovation has directly influenced the growth of several companies (Day & Bens, 2005), by changing their operating models with technology, thus adding value to the business.
For years, cloud computing has appeared as a trendy topic or “new Internet paradigm” that can provide several advantages to a company, such as cost reduction and improved infrastructure maintenance (Moscoso-Zea, 2010). However, the cloud computing adoption is not growing as fast as expected. Researchers believe that this behavior is due to the lack of knowledge and expertise on how to perform a migration from traditional infrastructure to the cloud (Low, Chen, & Wu, 2011).
This paper presents a novel framework for migrating to the cloud based on best practices and experiences studied in diverse case studies.
Related Work
Cloud computing definition
Several authors and organizations have given definitions for cloud computing, although the one proposed by the U.S. NIST (National Institute of Standards and Technology) highlights the standard features widely used in the cloud computing community and denotes the key aspects of this concept (Dillon, Wu, & Chang, 2010):
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (Mell & Grance, 2011, p. 1).
According to (Amazon, n.d.), cloud computing is the on-demand delivery of computer power, database storage, and other IT resources through a cloud service platform. Amazon adds to their definition the “pay-as-you-go” pricing characteristic, meaning that the organization pays only what they use.
Cloud computing is opposed to the “traditional” on-premise model. Under the on-premise model, the company is responsible for its own IT infrastructure. This has presented several issues limiting the company’s growth speed and market potential (Saa, Moscoso-Zea, Cueva-Costales, & Lujan-Mora, 2017).
Cloud service models
Software as a Service (SaaS): This model provides software applications through the Internet, using a web browser. The client does not control any infrastructure (network, servers, operating systems, and storage) (Gorelik, 2013). Remarkable examples are Microsoft Office 365, Box.com, and Google Apps among others. SaaS has been criticized by Richard Stallman from the Free Software Foundation. He claims that SaaS violates the principles of free software because “the users do not have a copy of the executable file: it is on the server, where the users can't see or touch it” (Stallman, 2010).
Infrastructure as a Service (IaaS): It provides a web-based management access to resources such as processing capacity, disk space, and many others. IaaS allows the user deploy software in that infrastructure (Gorelik, 2013). Some well-known examples are DigitalOcean, Amazon Web Services (AWS), Google Compute Engine, and Microsoft Azure.
Platform as a Service (PaaS): This model provides a platform and environment to developers enabling them to create applications and services accessible through the Internet (Gorelik, 2013). The infrastructure is managed by the vendor allowing the customer to focus on the products. Some examples of PaaS are Heroku, Apprenda, and many others.
Deployment models
Private cloud: This deployment model provides an exclusive infrastructure to a single organization with multiple employees or customers. It can exist inside or outside the organization.
Community cloud: It is a collaborative environment in which several organizations share the infrastructure from a specific community with common concerns such as security, compliance, and jurisdiction. It can be managed internally or by a third-party, and hosted internally or externally.
Public cloud: The cloud infrastructure and resources such as virtual machines, applications or storage are made available to the public through the Internet (Armbrust et al., 2010).
Hybrid cloud: This is a cloud computing environment which uses a mix of on-premise, private cloud, and third-party public cloud services.
Existing frameworks for cloud computing adoption
Through the years, cloud computing has been studied by several authors as a “new and innovative technology” (Dillon, Wu, & Chang, 2010; Armbrust et al., 2010; Youseff, 2008; Hernandez & Florez, 2014). These studies focused on cloud computing as a concept, as well as its issues, challenges, evolution, and differentiated characteristics. Recent studies have finally focused on the business perspective and its implications (Day & Bens, 2005), (Leimeister, Böhm, Riedl, & Krcmar, 2010).
Several authors have analyzed the available cloud computing models to support cloud computing adoption (Pantelić, Pajić, & Nikolic, 2016). However, they have not proposed any framework or guidance to carry out the process. Others have studied the cloud computing adoption process in specific industries or institutions such as government agencies or universities (Mokhtar, Al-Sharafi, Ali, & Al-Othami, 2016; Ezzat, Zanfaly, & Kota, 2011). Although the proposed frameworks are useful, they are not applicable to every company as they focus on the specific industry or institution requirements.
Varia has proposed a six-step process to migrate existing applications to the AWS Cloud (Varia, 2010). These steps include:
Cloud assessment phase
Proof of concept phase
Data migration phase
Application migration phase
Leverage the cloud phase
Optimization phase
This process leaves out the vendor analysis as well as the cost/benefit assessment as it focus on AWS only.
Williams proposed a five-step iterative process instead (Williams, 2010). The steps are the following:
Investigation
Evaluation
Decision
Implementation
Iteration
That process aims to evaluate a certain service migration. If these steps were accurate and the migration successful, the process would start again with another service.
Saedi divided the cloud computing adoption per phase and proposed three aspects that need to be studied separately (Saedi, 2016):
Technology: cost-saving, relative advantages, data security, data privacy.
Organization: size, manager intention, ICT knowledge of employees.
Environment: competitors, government, IT consultants, business network members.
That framework is only theoretical and serves to identify some barriers for cloud computing adoption, which mainly include the lack of data security, the absence of data privacy, and the size of IT resources (Saedi, 2016). Even though it did not propose any step-by-step process or guidance, the aspect division should be taken into consideration while evaluating the cloud computing adoption.
Eman et al. brought forward a three-layer framework: the first layer is the integration between business, technical, and economic perspectives. The second layer describes the basic factors of each perspective from the first layer. The third layer is a deeper explanation of the factors listed on layer 2 and serves to achieve the goal of assessment and evaluation (Ezzat, Zanfaly, & Kota, 2011). Once again, it points out some key aspects for the decision-makers to evaluate before choosing to adopt cloud computing. However, a guidance on how to migrate is missing.
Method
In a previous study, a six step framework was proposed by studying several proposed frameworks and guidelines for cloud computing adoption. We analyzed their individual strengths and weaknesses to then combine them into a more robust, generic, and implementable framework (Paredes-Gualtor et al., 2017).
Based on the study mentioned above, this paper proposes an additional step to assess cloud computing migration to the chosen provider, considering the same business-focused framework.
Framework proposal
A seven processes framework is presented in Figure 1 in order to achieve a successful cloud computing migration along with an integrated monitoring solution within edge computing frameworks.
These processes cover the life-span of every cloud computing adoption project and will be described in subsection.
Processes explanation
Current situation definition
As many authors have established, the first step before adopting cloud computing services is to define the company-specific-scenario. This process includes the study of internal (organizational) and external (environmental) characteristics. As stated in the introduction of this paper, we are focusing on the business perspective.
Table 1 describes the proposed characteristics that are to be identified, which are explained as follows:
Organizational context
The organizational context describes attributes of the company itself without pointing out the industry, market, or the product they offer.
Company size: There are several theories on how to determine a company’s size. These theories are technological, organizational, and institutional (Kumar, Rajan, & Zingales, 1999). Certainly, for this category, we are going to use organizational theory. It is important to notice that most studies are mainly empiric, leading us to choose the classification we think is best. The most widely accepted concept to define the company’s size is based on the number of employees, and annual revenue (Moeller, Schlingemann, & MStulz, 2004). Therefore, the categories are described in Table 2.
It is important to mention that there is no formal definition for this categorization. Moreover, the information provided may vary from one country to another.
Company age: This shows how many years the company has been on the market, and how it has handled its growth as well as market changes. For this, we can identify two categories (Coad, Segarra, & Teruel, 2016).
Young: less than 10 years.
Old: 10 years or more.
Product/service
The products or services each company offers are key differentiators for the cloud service each company may need (Teece, 2010).
Infrastructure
It refers to installed network technologies and enterprise systems, which provide a platform on which the cloud computing applications can be built (Low, Chen, & Wu, 2011). The existing infrastructure defines the migration needs.
Customers
The current clients of the company are leading the business in a certain direction. Given the “online” character of the businesses we are studying, it is imperative to know about the following two aspects:
Customer distribution: whether the customers crowd in a specific area or if they come from different and scattered places.
Customer role: whether the company’s customers are end-customers or other businesses.
Environment
The environmental context refers to all the external factors that can affect the company. Competing companies are those which offer the same or a similar service/product, or a substitute product/service. The target market size describes the focus group at which the company aims its marketing efforts.
Requirements definition
Before setting the business’s objectives, the cloud computing quality-criteria needs to be defined. Choi and Song proposed seven criteria (AICIT, 2012):
Performance
Reliability
Capacity
Availability
Security
Regulations
Operativity
These criteria must be studied for each service the company needs such as email or file storage.
Providers Analysis
Once we have established the company’s real situation and its needs, it is time to determine the available alternatives to choose the best provider.
According to Gartner (Leong, Bala, Lowery, & Smith, 2017), the leading three cloud computing providers are the following:
Amazon Web Services (AWS)
Windows Azure
Google Cloud Platform
Assessment
This process aims to validate the business goals with the company’s current situation and the provider’s alternatives. The aspects to evaluate are:
Technical feasibility
Economic feasibility
Legal feasibility
Decision
Several studies describe the different decision models available and evaluate the effectiveness of each of them. The paper entitled “Analysis of available cloud computing models to support cloud computing decision process in an enterprise” has compared several decision-making models (Pantelić, Pajić, & Nikolic, 2016). We refer the reader to that paper to get more information about the decision process.
Migration
Following the decision of switching to a cloud computing provider, the people in charge of the migration need to follow a 7-step process. These steps have been proposed by AWS and adapted to this framework:
Learn about the cloud computing environment that the company is going to use and get familiar with it.
Build support among members of the organization.
Test existing software in the cloud.
Migrate the company data.
Migrate the company software applications.
Configure security, scalability, and maintenance options.
Deploy.
Once the company has successfully migrated its data and application to the chosen provider, there are follow-up needs. This was the last step on our first proposed framework (Paredes-Gualtor et al., 2017).
Follow-up
Once the migration process is concluded, IT directors will need to make sure everything is working properly. Therefore, the use of the right cloud monitoring technologies is needed to assure the performance of these applications. Recent researches shows that none of the existing widely-used cloud monitoring tools yet provides an integrated monitoring solution within edge computing frameworks (Taherizadeh et al., 2018). Hence, a detailed analysis for both functional and non-functional requirements is provided in order to address all kind of organizations’ needs for this step.
These features were investigated in order to find out an appropriate base-line technology for the needs of monitoring applications deployed based on edge computing framework. Table 3 shows a high-level analysis of functional requirements for cloud monitoring tools, while Table 4 a non-functional requirement analysis for cloud monitoring systems. This analysis was the result by comparing ten widely used cloud monitoring tools, both open source and commercial, along with their capabilities and shortcomings, as well as how these monitoring systems meet varied requirements (Taherizadeh et al., 2018).
A detailed analysis of functional requirements for cloud monitoring tools is available at the paper entitled “Monitoring self-adaptive applications within edge computing frameworks: A state-of-the-art review” (Taherizadeh et al., 2018). We refer the reader to that paper to find more detailed information about this process.
4. Conclusions
Organizations that want to remain competitive over time should start thinking in a cloud migration process. If a sound method is in the center of the migration process, the outcomes of this change can bring much and better benefits for organizations. This paper proposes a framework for the migration which is meant to support organizations to implement cloud computing services with best practices at the lowest risk. The main goal of the framework is to improve the migration process by minimizing threats and maximizing opportunities.
This unified framework consists in a well-defined 7-step process which has been improved after its application in the telecommunication industry (see Figure 1). Furthermore, this improved framework can be adopted by any organization, no matter the size, age or industry, as long as all the provided guidelines are followed. In addition, the main weaknesses and threats to this new approach are security and integrity risks to the data stored in the system (Saa, Moscoso-Zea, Cueva-Costales, & Lujan-Mora, 2017). These concerns are not discussed in this paper but can be reviewed at (Saa, Cueva-Costales, Moscoso-Zea, & Luján-Mora, 2017).
This study responds to previous researches suggested by other authors, in order to develop a complete risk and control framework for cloud computing. Which provides management with guidelines and control standards to deal coherently with cloud computing including the follow-up after migration. (Carroll, Merwe, & Kotze, 2011).
We hope that this approach supports IT directors in the management of IT assets and business analysts to reduce uncertainty in the construction and implementation of new technologies.
Tool | Open source | License | Collection | VM monitoring | Container monitoring | End-to-end link quality monitoring | Application monitoring | Data storage method | GUI |
---|---|---|---|---|---|---|---|---|---|
Zenoss | Yes | GPL | Pull | Yes | Yes | Yes | Yes | ZODB Maria DB HBase MySQL | Yes |
Ganglia | Yes | BSD | Push/Pull | Yes | No | No | Yes | RRDtool | Yes |
Zabbix | Yes | GPL | Push/Pull | Yes | Yes | Yes | Yes | Oracle MySQL PostgreSQL SQLite | Yes |
Nagios | Yes | GPL | Pull | Yes | No | Yes | No | Flat file MySQL | Yes |
OpenNebula | Yes | Apache2 | Push/Pull | Yes | No | No | No | SQLite MySQL Apache Cassandra | Yes |
PCMONS | Yes | NewBSD | Pull | Yes | No | No | No | Flat file MySQL | Yes |
DARGOS | Yes | Apache2 | Push/Pull | Yes | No | No | Yes | Nova Neutron DB | Yes |
Lattice | Yes | Apache2 | Push | Yes | Yes | No | Yes | Distributed Hash Table | No |
JCatascopia | Yes | Apache2 | Push/Pull | Yes | No | No | Yes | Apache Cassandra MySQL | Yes |
Tower 4Clouds | Yes | Apache2 | Push | Yes | No | No | Yes | Influx DB Graphite | Yes |