• Ei tuloksia

Preparing for the Cloud

2. CLOUD COST OPTIMIZATION

2.2 Preparing for the Cloud

Organizations are eager to shift their business workloads from on-premise data centers to public clouds and gain the relevant cloud computing benefits. However, thorough anal-ysis is necessary before moving workloads away from on-premise environments, as pub-lic clouds are extensively complex by nature. (Mithani et al. 2010) The migration of ap-plications from an on-premise to a cloud environment can be considered a strategic or-ganizational decision (Alkhalil, Sahandi, & John 2017). Application migration includes the shifting of an application from an on-premise to a cloud environment (Tran, Keung, Liu

& Fekete 2011), to one of the cloud service models, Infrastructure as a Service (IaaS), Platform as a Service (PaaS) or Software as a Service (SaaS) (Jennings & Stadler 2015).

The decision to migrate applications to the cloud has proven to be a rather difficult one, as a wide range of both technical and organizational aspects require in-depth evaluation (Alkhalil et al. 2017). Furthermore, finding an optimal deployment model that is suitable with the application requirements (Evangelinou, Ciavotta, Ardagna,Kopanel, Kousiouris

& Varvarigou 2018), as well as matching the application with the most cost-effective de-ployment model, cannot be categorized as a trivial task (Huang, Yi, Song, Yang, & Zhang 2014).

In order to reap the benefits of the cloud environment, applications must function properly in the cloud. This requires a clear understanding of the application at hand, and the cloud environment chosen for the deployment of the application. (Tran et al. 2011) The extent of software system complexity joined with a wide range of services and prices force con-sumers to evaluate a growing number of design alternatives (Koziolek, Koziolek &

Reussner 2011) while keeping costs at a minimum. (Evangelinou et al. 2018) Further-more, being ready for the cloud requires training. Consumers must have a clear under-standing of the applications system environment, specifications and configurations.

(Tran et al. 2011) As there are many cloud providers on the market it is important to examine the diversity of the cloud providers and the available technology stacks of cloud services (Evangelinou et al. 2018). Furthermore, licensing costs are incurred alongside scaling resources in the cloud (Suleiman, Sakr, Jeffery & Liu 2012). Having a good un-derstanding of the cloud providers on the market and the offerings and technologies uti-lized assists in getting ready for a successful migration process (Tran et al. 2011).

A cost-benefit analysis should be included alongside the migration of an application to a cloud environment. This is an essential tool in assisting IT managers with identifying whether IT investment costs are outweighed by the benefits. (Tran et al. 2011) Further-more, it is highly important to know how to manage dynamic computational resources of an application in a cloud environment, and especially focus on the trade-off between the amount of these computational resources and the costs (Andrikopoulos, Binz, Leymann

& Strauch 2013). System designers must investigate a large array of alternatives and need to have the ability to evaluate costs, as the number of solutions is immense and application dynamics and performance tend to affect the costs (Evangelinou et al. 2018).

Many questions arise prior to migrating applications to a cloud environment. These in-clude contemplation on what parts of the application to migrate, how to align and adapt the application to function in a cloud environment and if it would in fact be more beneficial cost wise to migrate the whole application. In order to tackle these dilemmas a clear understanding of the application and how it should be adapted to the cloud is necessary.

(Andrikopoulos et al. 2013) All the essential pre-requisites must be thoroughly examined and documented by business and technology organizations prior to moving any business workloads into a cloud environment (Mithani et al. 2010). However, understanding the application behavior on cloud platforms prior to moving to a cloud environment is a key challenge for consumers. This is especially apparent when trying to determine the most

suitable environment to host application components from a cost point of view. (Evange-linou et al. 2018)

In addition, the impact of cloud adoption on the applications usual operations requires analysis (Andrikopoulos et al. 2013). It is crucial for businesses to understand the effect of different cloud environments on business processes (Lněnička 2013). The migration itself will be smooth, if the preparation for migration activities has been done accordingly (Tran et al. 2011). On the other hand, application owners often lack knowledge and awareness of how the migrated application components use cloud computing resources.

In some cases, runtime behavior and usage of resources may be unknown or mistakenly altered for certain application components, as structural changes might occur during the software migration activity. (Evangelinou et al. 2018)

Cloud solutions are scalable from small offices to large enterprises. In addition, good cloud solutions enable simple use and adaptation of cloud services. (Case Company 2019b) The optimal solution for migrating applications may depend on many factors such as application characteristics, workload and the required Quality of Service (QoS) (Evangelinou et al. 2018). However, a crucial factor that must be considered prior to moving workloads to a cloud environment is whether the existing workload can and should in fact be deployed in a cloud environment (Mithani et al. 2010). Mithani et al.

(2010), identify the types of workloads which are typically moved to public cloud environ-ments. These include highly elastic workloads, test and pre-production systems, contex-tual applications including email, software development environments, batch processing jobs with limited security requirements, isolated workloads without latency requirements, storage solutions, backup solutions and data intensive workloads (Mithani et al. 2010).

Lněnička (2013) identifies applications that have little interaction with back-end systems, applications with exponential demand increases, business intelligence and data mining applications, as well as test and development applications as best fits for a cloud com-puting environment.

On the other hand, not every application is fit for a cloud environment (Andrikopoulos et al. 2013). There are certain workloads that are not equipped to be hosted on virtual serv-ers. Examples of workloads that are not a good fit for cloud environments include legacy workloads and workloads that need to meet precise service level objectives. Further-more, applications that require physical servers for hosting are limited to a few choices public cloud wise. It is important to keep in mind that maximum mobility in public cloud environments is a possibility for business workloads that suit virtual image formats. (Mith-ani et al. 2010)

Furthermore, the case company identifies certain scenarios where public cloud solutions are not appropriate. These include solutions that are highly sensitive to network latency, such as real time applications which require close data integrations to function properly.

Moreover, performance may become an issue for old software, as modifications are re-quired before being suitable for a public cloud environment. In addition, data security might become a problem, as certain regulations mandate data to be audited on-premise.

Certain software terms and conditions may also restrict the deployment of applications in a public cloud environment. There may also be situations where using public cloud services could result in a risk of vendor lock-in, with expensive exit plans. (Case Com-pany 2019b)