CLOUD COMPUTING FROM THE PERSPECTIVE OF ... - swdsi

51 downloads 0 Views 55KB Size Report
CLOUD COMPUTING FROM THE PERSPECTIVE OF SYSTEM ANALYSIS. Amy Y. Chou. School of Information Technology, Illinois State University. Normal ...
CLOUD COMPUTING FROM THE PERSPECTIVE OF SYSTEM ANALYSIS Amy Y. Chou School of Information Technology, Illinois State University Normal, Illinois 61790 Phone: 309-438-2804 E-mail: [email protected] David C. Chou Department of CIS, Eastern Michigan University Ypsilanti, Michigan 48197 Phone: 734-487-0054 E-mail: [email protected]

ABSTRACT The emergence of cloud computing has changed the perception of how an information system can be built. Information system now can be built upon virtual operating environments instead of physical operating environments. The objective of this paper is to discuss how system development activities will need to change to respond to the emergence of cloud computing model and the issues that are related with implementing cloud computing model. Keywords: Cloud computing, utility model, IT service, SDLC INTRODUCTION Information systems and information technology infrastructure has been integrated into business processes for more than two decades. In the early development of information technology, companies that invested heavily in the information technology infrastructure did gain the robust growth in market shares and revenues. Since IT has become the life blood of the business, nowadays, most companies and organizations own their own IT infrastructures to run their regular business operations. If their information systems do not function properly, the regular business operation will be seriously interrupted. Although most companies are not IT companies, yet they have to invest a large share in information technology in order to run their business operations smoothly. Information technology has become a necessary infrastructure that companies have to have, but IT does not necessarily provide strategic advantages for businesses. Carr (2003) argued that as information technology's power and ubiquity have grown, its strategic importance has diminished. He compared the status of information technology with electricity. Both are important for the survival of business. However both IT and electricity do not provide more strategic values for business. As electricity is utility to companies, information technology has followed the same trend and become utility as well.

- 1091 -

As the usage of Internet increasing, the applications of Internet keep evolving. People’s life and work are so integrated into computer network. It is very difficult for everyone to conduct business offline. Today, the Web is not only a communication medium but also a platform for business and society. To reach the large number of users or potential users, companies have to deliver their contents and business processes online. This newly developed trend has created more demand for distributed computing power, which also stimulates a new paradigm – cloud computing. In general, cloud computing is a way for companies to deliver their contents and processes online with the elasticity of computing resources (Armbrust et al., 2010). From the business perspective, cloud computing is on-demand access to virtualized IT resources that are housed by the third party, shared by others, simple to use, paid for via subscription, and accessed over Web (Brynjolfsson, Hofmann, and Jordan, 2010). The emergence of cloud computing has provided opportunities for companies to review their information technology infrastructure. Since some cloud computing vendors are able to offer extendable IT sources based on the subscription, cloud computing model could be considered as a utility model. With the pay-as-you-go model, companies can consume IT resources as they consume electricity or water. The objective of this paper is to discuss how system development activities will need to be changed to respond to the emergence of cloud computing model and the issues that are related with implementing cloud computing model. Traditionally, information system analysts develop information systems based on the different activities in the system development life cycle (SDLC). And these system development activities are based on the assumption that information systems will be developed in house. With new paradigm of cloud computing, some new system development activities need to be modified or renewed. The following sections of this paper are organized as follows. First, the cloud computing paradigm will be introduced. Next, ecosystem of information requirements will be reviewed. Then, the issues of integrating cloud computing into information systems development process will be discussed. Lastly, the conclusion will be offered. CLOUD COMPUTING Cloud Computing is a new computing platform where hardware and software are delivered to users in a manner that resembles the way utilities such as electricity are delivered to households today. As the users increasingly demand to satisfy their immediate information need, Internet has become a preferred platform to deliver information. The term of cloud comes from the use of a cloud image that represents Internet or large networked environment. However, in cloud computing, cloud doses not just only include data pipes, routers, and servers, it also involves providing services and capabilities to build application (Hartig, 2009). Cloud computing phenomenon is still evolving. Cloud computing industry involves different levels of vendors and different types of services for different market niches. Thus, it is hard to precisely define what cloud computing is. US National Institute of Standards and Technology made attempts to define cloud computing as follows: - 1092 -

“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. This cloud model promotes availability and is composed of five essential characteristics (On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, and Measured Service), three service models (Cloud Software as a Service, Cloud Platform as a Service, and Cloud Infrastructure as a Service), and four deployment models (Private cloud, Community cloud, Public cloud, and Hybrid cloud).” (Mell & Grance, 2009) Pallis (2010) suggested that the driving forces behind cloud computing are the promise of broadband and wireless networking ubiquity, lower storage and mobile device costs, and progressive improvement in Internet computing software and mobile computing. The advantages for cloud users are typically include the ability to improve efficiency by adding more capacity at the peak demand, reducing costs, experimenting with new services without long term commitment, and being able to remove unneeded capacity easily. In general, a cloud system includes the elements such as processing, network, and storage. Therefore the architecture of cloud can be viewed from three different layers: infrastructure, platform, and application. The cloud services thus can be divided into different categories: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). In the model of IaaS, hardware resources (such as data server) and computing power (such as CPU) are offered as services to customer. Rather than investing money on the dedicated servers and networking equipments, IaaS customers can rent the hardware resources and computing power. Iaas providers can allocate computing power and hardware resources to applications on an as-needed basis (Motahari-Nezhad et al, 2009). With this flexibility, companies can increase the efficiency of IT resources usage and thus reduce costs. One example of IaaS is Amazon Elastic Compute Cloud (Amazon EC2™) which is a web service that provides resizable compute capacity in the cloud. It can quickly scale capacity, both up and down, as the computing requirements change. In the model of PaaS, cloud service vendors provide facilities to support the entire application development lifecycle including design, implementation, debugging, testing, and deployment of Web applications. The consumer doesn’t have to manage or control the underlying cloud infrastructure, network, servers, operating systems, or storage, but the consumer has control over the deployed applications and possibly application hosting environment configurations (PaaS Providers). One example of PaaS is CodeRun, which is a browser-based Integrated Development Environment (IDE). CodeRun is built on top of the Amazon Elastic Compute Cloud (EC2). It allows programmers to easily develop, test, deploy and publish code online, without requiring powerful hardware or complex software. Another example of PaaS is Google App Engine lets customers run their web applications on Google's infrastructure.

- 1093 -

In SaaS model, software applications are offered as services on the Internet rather than as software packages to be purchased by individual customers (Motahari-Nezhad et al, 2009). SaaS model allows vendors to develop, host and operate software for customer use. Rather than purchasing the hardware and software to run an application, customers only require a computer or a server to download the application and internet access and utilise the software. One example of SaaS is that Salesforce.com offers its CRM application as a service. Another example is Google Web-based office application (such as word processors and spreadsheets).  Cloud computing is gaining popularity because it address the problem of the traditional computing model, in which each business unit in an enterprise has dedicate IT resources. The traditional computing model usually leads to under-utilization and waste of IT resources due to resource fragmentation and unequal distribution of workload. Cloud computing allows companies to virtualized their IT infrastructure and address under-utilization problems. Based on the various cloud computing service models, the deployment models could be either public cloud or private cloud. A public cloud refers a service provider makes resources, such as applications and storage, available to the general public over the Internet. Public cloud services may be free or offered on a pay-per-usage model. The main benefits of using a public cloud service are: (1) Easy and inexpensive set-up because hardware, application and bandwidth costs are covered by the provider, (2) Scalability to meet needs, and (3) no wasted resources because it is either free or pay-per-usage (What is a public cloud? ). A private cloud refers to a proprietary computing architecture that provides hosted services to a limited number of people behind a firewall. Private cloud deployment allows corporate network and datacenter administrators to make their IT infrastructure virtualized and remain having control over their data (What is a private cloud?). The main benefits of using private cloud computing are: (1) high availability, (2) speed of deployment, (3) hardware independence, (4) optimal resource usage, and (5) ease of monitoring (Sintobin). ECOSYSTEM OF INFORMATION REQUIREMENTS Organizations develop information systems to capture and manage data to produce useful information that support their employees, customers, suppliers, and partners. Although Information systems come in different shapes and sizes, through the information systems development process, information requirements come from the same types of system stakeholders. In a framework for system analysis and design, Whitten and Bentley (2007) identify five types of system stakeholders including systems owners, system users, system analysts, system designers, and system builders. System owners are usually middle or executive managers, who tend to be interested in the bottom line such as cost and benefits of the systems. System users are generally information works, who are more concerned with the systems functionality, ease of use, and ease of learning. System designers are typically technology specialists, who are interested in technology choice and design of systems with chosen technologies. System builders are another type of technology specialists, who construct information systems based on the deign specification from system designers. System analysts are typically problem solvers, who bridge the gaps between business requirements and computing requirements. - 1094 -

Through the systems development life cycle, the information requirements of different stakeholders are varied. According to a framework for information systems architecture suggested by Whitten and Bentley (2007), there are three major goals for information systems developments: (1) to improve business knowledge, (2) to improve business process, and (3) to improve business communication. Thus Information requirements from various stakeholders are based on the building blocks of knowledge, process, and communication. Traditionally these three information building blocks are implemented with database, computer applications, and user interfaces accordingly. These components in information architecture are usually built in house. The emergence of cloud computing provide the possibility to outsource all or part of information components to the cloud computing service providers. To adopt cloud computing into information systems development processes is to create a virtual business operating environment. Motahari-Nezhad et al. (2009) suggested that a virtual business operating environment provides facilities that allow business owners to build their business in a holistic way: define their business, express their requirements, find and engage cloud services that match their needs, compose services if needed, and monitor their business operations over outsourced services.  

To address the bottom line of system owners’ requirements, the cloud services should provide the mechanism for system owners to define business goals and track down to service execution level so that system owners can measure costs and benefits of the subscribed IT services. System analysts need to know the available IT services in the marketplace to address the solution for the proposed business problems or opportunities. Cloud service providers should offer different IT services that support various business models. Once the IT services are selected, systems designers and system builders should be able to configure the existing IT services or developed new IT services if needed. The subscribed IT services or newly developed IT services should be able to be deployed through IaaS platform so that system users can access the system functions through user friendly interface. Ideally, cloud computing services are able to address the information requirements in terms of knowledge, process, and communication. However, at current development of cloud computing, there are still some issues exiting that prevent business owners to integrate cloud computing into the solution of information systems development. INTEGRATING CLOUD COMPUTING IN SYSTEMS DEVELOPMENT PROCESS Each information system has its own life. Typically, the development of information system is guided by system development life cycle (SDLC). Different methodologies may divide information systems development process into various phases. However, most information systems development methodologies suggest that system development cycle should include the following phases: planning, analysis, design, implementation, and support (Satzinger et al., 2009). In the planning phase, typical activities are defining problem, producing project schedule, and confirming project feasibility. At the stage of defining the problem, systems stakeholders need to identify the functionalities of the proposed systems. To integrate cloud computing into the - 1095 -

systems development process, system analyst should research the different business models in cloud service markets and identify the potential to adopt cloud service as part of solution to the business problem. In the analysis phase, distinctive activities include gathering information, defining system requirements, building prototype, prioritizing requirements, and generating and evaluating alternatives. Since the cloud service is either base on subscription or pay-per-usage, system analyst could include the cloud service in building prototype without incurring large expense. Building prototype in the virtual operation environment can serve two purposes: (1) discovering more system requirements from users, and (2) testing if cloud service can be used as a solution for solving business problem. In the design phase, some common activities are designing network, application architecture, user interface, system interface, and database. System designers need to verify the interoperability of different selected cloud services, especially the cloud services provided by different cloud service providers. In some cases, having a best-of-breed option involves employing different cloud platforms for different application. System designers need to make sure the services provided by IaaS, PaaS, and SaaS providers can be integrated seamlessly. In the implementation phase, typical activities are constructing software components, verifying and testing, and converting data. To integrate cloud computing into the implementation phase, system builders are required to reconfigure the selected cloud IT services to meet the design speciation. If it is necessary, designers need to develop new IT service with resources provide by cloud computing providers. In the support phase of SDLC, usual activities involve keeping system running productively during the years following the initial installation. Since, cloud computing is a utility based computing, physical machines are replaced by virtual machines to host information systems. In the virtual environment, the majority of the support tasks will be shifted from in-house to the cloud providers. As level of virtualization of an information system increasing, supporting tasks will move from being operation focused to being management focused. Integrating cloud computing into information systems development indeed has the advantages of having flexible IT resources without making large up-front commitment. However, the development of cloud computing is still at the early stage. Cloud computing researchers points out that some existing obstacles may prevent companies widely adopt cloud computing services. Armbrust et al. (2010) listed ten obstacles that could prevent the adoption of cloud computing. The first three technical obstacles related to the adoption of cloud computing are: (1) availability of services, (2) data lock-in, and (3) data confidentiality and auditability. The next five technical obstacles are related to the growth of cloud computing once it has been adopted. These five obstacles include (1) data transfer bottlenecks, (2) performance unpredictability, (3) scalable storage, (4) bugs in large-scale distributed systems, and (5) scaling quickly. The last two obstacles related to the policy and business to the adoption of cloud computing. These two obstacles are (1) reputation fate sharing, and (2) software licensing.

- 1096 -

CONCLUSION Cloud computing has present an attractive opportunity to both small business and large enterprise. Traditional information systems were predominately operated on physical machines that were in house. The emergence of cloud computing makes it possible to develop information systems on virtual machines that are hosted by cloud service providers. For the companies that IT is not their core business, cloud computing presents an opportunity to save costs on the development of information systems that support their major business operations. The adoption of cloud computing also triggers the changes of the activities in the information systems development process. As more business functions are basing on cloud services, the role of IT developers will undergo a significant transformation. Most IT developers will move from business IT departments to service providers. And the role of remaining IT staff will convert into support and consultation for service selection, engagement and management. Cloud computing services are at the early stage. There are still obstacles existing that prevent enterprises to adopt cloud computing services. Most significant obstacle is probably the availability of IT services. Enterprises have heavily invested in IT infrastructure to build redundancy to prevent single point of failure. However, relying critical IT services on a single service provider is in fact a single point of failure. Because of the concern of IT service continuity and the confidentiality of data, large enterprises may want to deploy IT services in their private cloud for the sake of keeping data onsite and retaining control. The main users of public cloud services will remain small businesses and individual consumers. The development of cloud computing has triggered the changes of the system development activities. This paper has suggested some fundamental activities in the difference phases of systems development life cycle. As cloud computing industry keep evolving, future researches could focus more on the changes of system development methodology that build information systems in virtual operating environment.

- 1097 -

REFERENCES Armbrust, M., Fox, A., Griffith, R., Joseph, A., Katz, R., Konwinski, A., et al. (2010). A View of Cloud Computing. Communications of the ACM, 53(4), 50-58. Brynjolfsson, E., Hofmann, P., & Jordan, J. (2010). Cloud Computing and Electricity: Beyond the Utility Model. Communications of the ACM, 53(5), 32-34. Carr, N. (2003). IT Doesn't Matter. Harvard Business Review, 81(5), 41-49. Hartig, K. (2009). What is Cloud Computing? Retrieved October 2, 2010, from Cloud Computing Journal: http://cloudcomputing.sys-con.com/node/579826 Mell, P. and Grance, T. (2009). Cloud Cpmputing. Retrieved 10 2, 2010, from US National Institute of Standards and Technology: http://csrc.nist.gov/groups/SNS/cloud-computing/ Motahari-Nezhad, H. R.,Stephenson, B., and Singhal, S. (2009). Outsourcing Business to Cloud Computing Services: Opportunities and Challenges. Retrieved September 2, 2010, from HP Technical Reports: http://www.hpl.hp.com/techreports/2009/HPL-2009-23.html Pallis, G. (2010). Cloud Computing: The New Frontier of Internet Computing, IEEE Internet Computing, September/October, 70-73. PaaS Providers. (n.d.). Retrieved October 4, 2010, from NEOVISE: http://www.neovise.com/paas-providers Satzinger, J., Jackson, R., & Burd, S. (2009). Systems Analysis and Design in a Changing World (5th ed.). Boston, MA: Course Technology. Sintobin, B. (n.d.). Case Study: advantages of private cloud computing platform. Retrieved October 4, 2010, from SlideShare: http://www.slideshare.net/ISPABelgium/case-studyadvantages-of-the-private-cloud-computing-platform-3195422 What is a private cloud? (n.d.). Retrieved October 4, 2010, from SearchCloudComputing .com: http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201 _gci1333074,00.html What is a public cloud? . (n.d.). Retrieved October 4, 2010, from SearchCloudComputing .com: http://searchcloudcomputing.techtarget.com/sDefinition/0,,sid201 _gci1356516,00.html Whitten, J. L., & Bentley, L. D. (2007). Systems Analysis and Design Methods (7th ed.). New York: McGraw-Hill.

- 1098 -