• No results found

Relationship between Service-Oriented Architecture, Outsourcing and Cloud Computing

1 Introduction

2.10 Relationship between Service-Oriented Architecture, Outsourcing and Cloud Computing

Cloud Computing is a paradigm that evolved from previous computing paradigms. Thus, Cloud Computing overlaps with other existing topics in the information system field, such as Service- Oriented Architecture (SOA) and Outsourcing. The next sections will provide a critical comparison between these three concepts, as follows:

Service-Oriented Architecture (SOA)

Achieving alignment between organisational IT and the organisation’s business strategy is critical to business success (Bleistein et al., 2006). Service-Oriented Architecture (SOA) is an architectural pattern that provides the ability for businesses to use software resources more effectively (Tsai et al., 2010). In SOA, each service embodies at least one business function that is implemented in a software component (Papazoglou, 2003). SOA is a software architecture based on the concept of a service, so its main focus is to support service orientation (Goyal, 2012).

Cloud Computing and SOA share many common characteristics. Their main focus is service orientation, so they deliver IT as a service (Sriram & Khajeh-hosseini, 2008). Both concepts support business agility via making IT services align with business requirements (Chang et al., 2013). The IT services that are delivered by either Cloud Computing or SOA are network- based (Goyal, 2012). Loose coupling and reusability are also common features of both concepts, either directly in SOA or indirectly in Cloud Computing via scalability and elasticity (Wu, 2013).

Although Cloud Computing and SOA have many similarities, they also have some differences. SOA focuses only on software components while Cloud Computing covers many IT resources which may include software, hardware and platform (Chang et al., 2013), and consequently Cloud Computing can cover other aspects such as business processes (Anstett et al., 2009). One of the main features of Cloud Computing is virtualisation, which is not required in SOA (Zhang & Zhou, 2009). The IaaS layer in Cloud Computing provides an infrastructural abstraction for self-provisioning features which is not available in SOA (Chang et al., 2013).

Cloud Computing and SOA are distinct concepts but several studies have focused on combining them. Zhang et al. (2009) developed a Cloud Computing Open Architecture (CCOA). The CCOA is a Cloud Computing-centric service-oriented architecture framework which has been built based on seven architectural principles and 10 architectural modules, by integrating the power of service-oriented architecture (SOA) and virtualisation technology of Cloud Computing. Tsai et al. (2010) proposed a Service-Oriented Cloud Computing Architecture (SOCCA). This architecture is based on both SOA and Cloud Computing to support interoperability between different Clouds. Tang et al. (2010) combined Cloud-centric enterprises with Enterprise Service-Oriented Architecture (ESOA) principles and governance in order to improve the quality of cloud services and support the standardisation of Cloud Computing. Table 2.3 shows a comparison between the two concepts.

Table 2.3 Comparison between Cloud Computing and SOA

Criteria SOA Cloud Computing

Reusability Supported Supported

Business and technical approach Supported Supported

IT resources Only software many IT resources such as

software, hardware, storage and platform

Network-based applications Supported Supported

Service concept Supported Supported

Loose coupling Supported Supported

Self-provisioning Not supported Supported

Virtualisation Not required Required

Outsourcing

IT outsourcing is a traditional method of delegating or transferring some or all IT functions to a third party based on a contractual agreement (Dhar, 2012). Outsourcing methods have been applied in IT markets from the early 70s and have evolved to have strategic implications for a business (Ho & Atkins, 2006a). The benefits of IT outsourcing may include cost reduction, access to specialised expertise and improving the focus on core business (Ho & Atkins, 2006a; Dhar, 2012). However, outsourcing is associated with some risks, such as the loss of organisational competencies, vendor lock-in, loss of control over the data, security issues and scalability (Ho & Atkins, 2006a; Dhar, 2012).

Cloud Computing and outsourcing share some similarities since both transfer some or all internal IT operations to external providers. Both models offer cost-effectiveness for customers by moving some operational and management burdens to the provider (Zhong & Myers, 2016). IT resources in both models are delivered by external partners based on customer requirements where the provider is responsible for backup systems and disaster recovery processes (Dhar, 2012). Additionally, organisations benefit from the access to specialist resources available on the provider sides of cloud and outsourcing (Dhar, 2012). In both models, security and loss of control are implementation issues (Dhar, 2012; Zhong & Myers, 2016).

Although there are similarities between Cloud Computing and traditional outsourcing, there are also some fundamental differences. While traditional outsourcing uses the traditional way of paying for the services (i.e. traditional billing), Cloud Computing allows the users more flexible payment options (i.e. pay-per-use) (Böhm et al., 2011). IT outsourcing usually requires upfront capital investment in terms of physical resources but in Cloud Computing usually no upfront investment is required (Böhm et al., 2011). Additionally, Cloud Computing models provide on-demand scalability with minimum human interaction whereas IT outsourcing requires more time and some negotiations to provide extra resources (Mell & Grance, 2011). The relationship between the provider and the consumers is another difference between Cloud Computing and outsourcing. While the Cloud Computing services are more standardised with minimum need for communication between the service provider and the customer, the client- vendor relationship is a central feature of traditional outsourcing (Zhong & Myers, 2016). Thus, traditional outsourcing services are more customised than Cloud Computing ones, and the contract is usually longer (>10 years) (Dhar, 2012). Data location in IT outsourcing is usually specified by the customer while there is no guarantee about the location of the data in Cloud Computing unless the customer requests a specific location (Dhar, 2012; Marston et al., 2011). Table 2.4 summarises the similarities and differences between the two models. While some researchers understand Cloud Computing as a new form of IT outsourcing (Dhar, 2012), others consider it as a disruptive technology (Marston et al., 2011). In this research, Cloud Computing is understood as a new business model for delivering innovative IT services and applications with some features of the traditional IT outsourcing model (Zhong & Myers, 2016), and Cloud Computing can be studied as a distinct concept.

Table 2.4 Traditional outsourcing and Cloud Computing, similarities and differences

Criteria Outsourcing Cloud Computing

Similarities • Cost-effectiveness

• Services delivered by third party

• Access to specialist resources • Security, loss of control issues

• Cost-effectiveness

• Services delivered by cloud vendor party

• Access to specialist resources

• Security, loss of control issues

Differences • Traditional payment options

• Initial upfront capital investment

• Usually specifies data location • High level of customisation • More time and some

negotiation to provide extra resources.

• Flexible payment options • No upfront investment

• Usually no specific data location

• Less customisation • On-demand scalability