You are on page 1of 4

Cloud Computing: Services, Issues and Impacts.

Sara Al-Sudairy1, Nouf Al-Shenaifi2
1,2

Department of Computer Science, King Saud University, Riyadh, Saudi Arabia
1 2

saraalsoudairy@gmail.com noof.alshenaifi@gmail.com

Abstract— Cloud computing brings about a paradigm shift in the IT industry. The related applications and resources were removed from portable desktop or hardware-software into large cloud computing centres, which is delivered as software as a service (SaaS), platform as a service (PaaS) and Infrastructure as a service (IaaS), to provide all kinds of services on-demand. This paper provides an insight to cloud computing, its advantages and discusses various issues that organizations face while implementing cloud computing. Further, analyses of how cloud computing is going to impact the software engineering process to develop quality software is presents. Keywords— Cloud, Cloud computing, Software Engineering.

I. INTRODUCTION A new paradigm of computing has started to evolve in recent times called cloud computing. In this environment, the applications, data and software are no longer exist on the client side; instead they are treated as abstract services and reside in a cloud. Cloud, which is the next revolutionary step in distributed computing, will change the world in such a way that people can get any service on the cloud where cloud is the limit. Cloud keeps up the earlier promise of the Internet that you could dynamically move out of another environment [5]. Additionally, Cloud computing is the virtualization of computer programs through Internet connection rather than installing applications on every office computer. Virtualization is efficient because expensive physical devices that were dedicated to specific applications can be shared across a number of functions without modifying the applications. The rest of the paper is organized as follows: Section 2 presents a high-level definition of cloud computing followed by cloud computing services which categorized in three models: Infrastructure as a Service (IaaS), platform as a service (PaaS) and Infrastructure as a service (IaaS). Section 3 discusses the impact of cloud computing on Software Engineering. Section 4 lists some of cloud computing advantages. Issues and challenges related to cloud computing are addressed in section 5. Section 6 presents current cloud computing applications. Finally, we conclude the paper in Section 7. II. FRAMEWORK OF CLOUD COMPUTING Cloud is the main concept in cloud computing, it is group of many interconnected computers and network servers, the large network that providing resources called "cloud". The architecture of the cloud typically involves component

communications with each other over software application that allow the customer to access cloud application. In traditional development environment the organization needs a large number of servers, equipment and storage devices, also requires maintenance and skilled technical team. However, now with cloud computing data, files and applications are hosted on cloud and can be accessible via the web. New advances in processors, virtualization technology, disk storage, broadband internet access and fast, inexpensive servers have all combined to make cloud computing a compelling paradigm. Cloud computing allows customers and companies to pay for and use the software and storage that they need, when they need and where they need them [3]. Moreover, cloud computing is environmental friendly because of the easy to build web based applications that run on the cloud; and it gives the ability to meet changing in user demands. III. CLOUD SERVICE MODELS A. Based on Type of Capability: Cloud basically offers three types of services: (1) IAAS (infrastructure as a service), (2) PAAS (platform as a service) and (3) SAAS (software as a service). As shown in figure 1. 1) Infrastructure as a Service (Iaas): Infrastructure as a Service is virtual servers with number of unique IP addresses and block of storages on user demand. The customer can pay the amount of service he/she needs through application program interface. Service includes provision of hardware and software for processing, data storage, networks and any required infrastructure for deployment of operating systems and applications. 2) Platform as a Service (Paas): Platform as a Service is services includes programming languages, tools and application delivery platform hosted by the service provider to support development, deployment, testing, maintaining and delivery of end-user applications. Developers can use the provider application interface to create any application. In Platform as a Service there are four type of application which is: social application platforms, row compute platforms, web application platform and business application platforms. 3) Software as a Service (Saas): Software as a Service is the service based on the concept of renting software from a service provider rather than buying it yourself, It is known as software on demand [3]. Hosted software applications are provided and managed by the service provider for the enduser and the software interacts with user through a user

Because of the involvement of the cloud provider the customer has to sign contract with them as well so that the “Software Engineering code of ethics” are not violated by the cloud provider. In addition. construction. Planning and design phases of software development with cloud computing also have to include the cloud providers. resources are dynamically provisioned on a fine-grained. 1) Public Cloud (External Cloud): The organization will rent the resources from an off-site (third -party) cloud provider and these resources will be shared between multiple tenants. cloud computing means more for development of the software as developers will be coding. Radha et al in [2] propose an extended version of Extreme Programming (XP). 2) Private Cloud (Internal Cloud): The organization owns all resources on-site. It may be managed by the organization or a third party. Cloud computing will transform the software industry and offers a better economical way of software development as the customers will not have to spend capital of owning or renting the Hardware/Software rather they can use the resources and expense is cut down to usage only. The application deliver it as a service and accessible from various customer's devices and this platform provides flexibility in application's location. The suggested model "Extreme Cloud Programming" includes all the phases of software development life cycle (planning. However. distributed web services and multiple enterprises geographically [2]. design. Figure. By Comparing software process model activities of traditional software development and software development with cloud platform we found that In the requirements phase. Software process model activities require interaction with cloud providers. (2) private and (3) hybrid cloud. Based on Access There are basically three types of cloud: (1) public. Maintenance phase also should include the cloud providers as well as software engineers. in the rapidly changing computing environment with web services and cloud platform.interface (web browser). which also will reduce the cost and time for testing and validation. users and software engineers while in cloud platform it has to include the cloud providers as well as they will be supplying the computing infrastructure to offer customers storage. However. This model is proposed to leverage the benefits of cloud computing and mitigate the challenges of Software development with cloud platform. Furthermore. The success of software project is measured by that the developed software should deliver the required functionality within time and budget and in accordance to Quality attributes. an agile process model for cloud computing platform and named it Extreme Cloud Programming.1 Cloud Computing Service Models . Coding and testing can be done on the cloud platform which gives developers a huge benefit as everybody will have easy access to the software being built. More promises of cloud computing regarding cost savings as the costs of operations and delivery is reduced. the activities of . self-service basis over the Internet. traditional software development includes customers. The private cloud should offers necessary hardware and software provisions to the customers per their request. Software development process will involve heterogeneous platforms. In requirement phase. via web applications/web services. Public cloud is easy and inexpensive set-up because application and hardware are covered by provider. staging and working with services and will have to design for running in parallel. these phases need interaction with the representatives from cloud provider. not just in sequential. testing and deployment). and may exist on premise or off premise. but only members of the client organization can provision. 3) Hybrid Cloud: The hybrid cloud is in the middle between private cloud and public cloud which means the organization owns some resources (external resources) and rent some other resources. B. public clouds are still not mature because of the various unaddressed security issues [5]. configure and use the resources of that private cloud [3]. Maintenance of Software product is now the key responsibility of cloud providers. IV. testing. IMPACT OF CLOUD COMPUTING ON SOFTWARE ENGINEERING Software engineering is an engineering discipline that is concerned with all aspects of software production [1]. Hybrid cloud will dominate the market in the future than public cloud because most of the enterprises have made huge investments in the infrastructure required providing resources in-house and they prefer to keep the data in their control and the other services can be given to the external providers [3]. Software development is going to be very challenging. Yahoo mail and Google docs are examples of SaaS vendors. software services and maintain them too. The platform enables scenarios where some applications are delivered as a service while others run on client and server devices.

VI. The are starting to see the cloud as a way to work cloud service providers should ensure that encryption simultaneously on common data and information. F. user software. software developer roles include Interface design. organizations pay for services based computing technology. like reducing cost and accelerating the development process through automatic construction of development environments [4]. Moreover. on the cloud. infrastructure and platform. on the other high speed access. Most of the cloud needed to offer a new service.cloud provider are mainly about resource accounting while the software developers will focus on requirements elicitation in this phase. some of the issues related to cloud computing are presented below: A. protection of user data from external attacker or from database administrators. Users external data to hackers and disgruntled employees. During design phase. using a traditional data third party. defined resulting in a significant ris for consu ers to . every site has physical and electronic vulnerabilities. Collaboration: Since everything is on the cloud. However. Immediacy: cloud computing helps to save time and reduce delays in time because it provides application in relatively less time rather than the old approach. Standards: universal set of standards have not yet been applications from around the globe. social additional services at peaks may provide economic security numbers and financial information may be too benefits. Simplicity: Obviously. Security critical systems including backup and recovery) and worries are undoubtedly slowing the adoption of the cloud costs of maintenance or upgrade can be avoided using and prevent enterprises from taking advantage of the cloud the cloud. data types. Moreover. Testing phase is done in cooperation between software developers and cloud providers. Software/Hardware architecture and component reuse are responsibility of cloud provider. security and privacy as the top with basically no investment in the physical resources potential risks of cloud computing. The key concern is data resources that scale based on user demand. as developers are no longer have to perform systems backups or switching. hardware. schedule estimation. it gives organizations of the general population and business leaders would have the chance to change old technology to new technology concerns about the security and privacy of their own data without worrying about the cost. H. I. While center. Using the cloud to run either all services or just Sensitive information such as credit card numbers. Scalability: Users have access to a large amount of by Penn Schoen & Berland" [5]. cloud provider fully ensures the availability of the services even in case of natural disasters. Instead. Security: The major challenge in cloud computing is the B. However. Moreover. it is simple and easy to use all the services without having to worry about resource management and infrastructure set up and management [3]. coding integration of web services is responsibility of software developers and the implementation details will be mitigated with the mediation of the cloud provider. according to the survey C. Resiliency: In cloud computing platform. they can focus on the actual development work. "A recent survey commissioned by on usage. V. 20 servers are purchased to meet peak loading. the work of constructing the development environment can now be done in less effort. bandwidth. in a cloud computing environment. Risk Reduction: Companies and individuals may use the cloud to test ideas and concepts before making major investments in technology. These tasks take an effort and time to complete. A. policies are designed and tested by experts. many cloud providers store data in specific locations. authentication and authorization practices. More than 90 percent available in the cloud. and they run at about 20% load most of the month. On the other hand deployment phase is only performed by cloud provider. large storage space. at the end of each month. Availability: The cloud providers provide the latest by applying data encryption mechanisms. Efficiency: Developers have to perform wide range of tasks to construct a development environment. Cost: costs of setting up infrastructure such as (servers. 20 servers' audit rights and even a documented security audit from a worth of computing is needed. people resources for managing cloud provider who access unencrypted data. Some of cloud computing advantages are listed below: G. this pay-per-usage model allows an Microsoft has found that 75 percent of senior business organization to only pay for the resources they need leaders consider safety. CLOUD COMPUTING CHALLENGES Cloud computing faces many of the same challenges as other information and network technologies. users are always worried about the vulnerability of E. hand. Mobility: Users have the ability to access data and B. from setting up the servers to installing the operating system and applying latest patches and updates. J. service providers take enough measures to secure the data D. In construction phase if application or web services are used. cost estimation. but not a 100% security guarantee. it will reduce the delay time valuable to be stored on the cloud. Assume privacy where users do not have control on where their that normal loading requires 5 data servers to serve a data is being stored. BENEFITS OF CLOUD COMPUTING The conversion of development environment to cloud computing gives an organization number of positive effects. most providers will provide group of users.

Selvarani and D.C. CONCLUSION: Cloud computing is currently gaining popularity as an inexpensive way of providing storage and software.2. Cloud Computing is not currently subject to specific regulation. Switch over to new technologies: Switching to cloud computing (new technology) would be best when the applications and data are independent. introducing latency into every communication between the user and the environment. VII. March 2010. "More Tales of Clouds: Software Engineering Research Issues from the Cloud Application Perspective. organizations face many difficulties to move to new technology.Kalyankar and S. June 2010. " Elements of Cloud Computing: A Perspective on Service Oriented Enterprises (SOEs)"." in International Journal of Computer Applications.Al-Dabass.Maurya and U. [7] S." in Indian Institute of Information Technology.2. "Internet Ware Cloud Computing :Challenges. We have listed advantages of cloud computing and highlighted the challenges of cloud computing.Pandey. Software Engineering. D. stored and modified [3]. Vol.Kushwaha.Mirashe. A. [3] U. No." October 2009.Allahabad. Google Doc . This will make software engineering more difficult as they have to interact with a third party called the “cloud provider”." in Journal of computing. The best using of cloud computing is in small and medium organization. Net suite. Financial: The cost of cloud computing is larger than inhouse data centres in case of large organization. F. "Community Cloud Computing. H. Legality and Regularity Compliance: Issues arise regarding the ownership of data and whether the client might be ready to forgo the rights of their data [3]." in (IJCSIS) International Journal of Computer Science and Information Security.Zhang. 2004. Furthermore. No. Also.Suchithra. vol. vol. and W. Google and Mosso in the market offering cloud services.Chan. including how the organization will deal with security. R. 7th Edition. [8] A. No.0 and Cloud Computing Platform on Software Engineering. E. "Cloud Computing. .Lanjewar and L.Google Calendar and picas. Operational and Organizational: A strategy for the management of cloud services. "Impact of Web 2.Singh.Tandon. [9] A. 3. [5] R. 2010. G. N. CURRENT CLOUD COMPUTING APPLICATIONS There are many service providers like 3Tera. when a low level of protection works well and a strong architecture of the organization conditions are favourable for the organization to switch to newer technologies. [4] L. 2009. REFERENCES [1] Ian Sommerville.8. In small to medium organizations. standards governing . Z. at enduser level. in certain jurisdictions the provision of cloud computing services will require the provider to obtain a license. There is no specific standard where each cloud service provider defines his product in his own way.Briscoe.Qamar. ove their entire operations‬ hence." in international Symposium on Electronic System Design. Cloud computing is a paradigm shift over traditional way of developing and deploying software application.Lal and M. Amazon Web services. online business software such as Salesforce. regulations are needed which ensure uniformity in how the applications are accessed. Microsoft.Rewatkar.Guha and D. 7. B.3. Despite the lack of specific regulation.Nagamalai.com." in 33rd Annual IEEE International Computer Software and Applications Conference. The organization could face many internal issues like distributed business levels and complexity of applications.Qamar and G. AddisonWesley. [2] R. "Cloud Computing: Exploring the scope. However. "Implementation of Cloud Computing on Web Application. Also we have discussed the impact of software engineering on cloud computing. March 2010 . VIII. Performance: All access to the cloud is done via the internet. This paper discussed cloud computing as an emerging paradigm. Technical Hardware and Software Expertise: There are needs for technical experts to develop cloud computing applications in order to suit the requirements and the provision of services and equipment necessary to achieve the goal of cloud computing. management and transactions need to be created. IBM. there are online photo and document sharing applications such as flickr.Mei. [6] N.