Thesis Undergraduate 5,643 words

Cloud Computing Changes Systems Analysis and Design

Last reviewed: March 1, 2016 ~29 min read

¶ … Cloud Computing Changes Systems Analysis and Design

Instiution/University affiliation

Both information systems and information technology infrastructure have been incorporated into business procedures for at least two decades. In the initial development of information technology, organizations which greatly invested in information technology infrastructure achieved strong growth in market shares and returns. Given that IT is now the core of businesses, nearly all organizations own their own IT infrastructures to manage their daily business activities. In case of malfunctions in the information systems, the regular business proceedings shall be really interrupted. Though the majority of companies are not IT companies, they have to invest a great share in IT so as to run their business operations smoothly (Chou & Chou, 2011).

Information technology has turned into a necessary infrastructure which organizations need to have; however, it does not essentially offer strategic benefits for business. According to Carr (2003), the growth of the power and ubiquity of information technology has relatively undermined its strategic significance. He made a comparison of the status of information technology and electricity. Both are significant for business' survival but neither offers more strategic values for business. Information technology is now a utility for many organizations, just like electricity. The rising increase in the use of the internet has resulted to progression in internet applications. The work and lives of individuals are greatly integrated into the computer network. Presently, the Web is not just a means of communication but also serves as a platform for business and society. To get to the vast number of users or likely users, organizations need to supply their contents and business procedures online. This recently established trend has led to increased demand for distributed computing power that also triggers a new paradigm- cloud computing.

Cloud computing is a means for organizations to supply their contents and business procedures online with the flexibility of computing resources (Armbrust, et al., 2010). From a business outlook, cloud computing is an on-demand access to virtualized information technology resources which are housed by the third party, utilized by others, easy to use, paid for through subscription, and accessible via web (Brynjolfsson, Hofmann, & Jordan, Communications of the ACM). The offering of cloud computing has presented organizations with opportunities of reviewing their IT infrastructure. Given that various cloud computing dealers are capable of providing extendable IT sources founded on subscription, cloud computing could be regarded as a utility model. With the pay-as-you-go design, organizations consume IT resources just like they consume water or electricity.

Cloud computing comprises of both the applications supplied over the internet and the hardware and systems software in the information centers which offer those services These services are known as a Software as a Service (SaaS). Additionally, cloud computing offers two or more kinds of services; they are Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). With the major advances in Information and communications Technology (ICT) in the last half century, there is a possibility that computing shall one day be the fifth utility (Sasi & Larance, 2014).

Information system analysts normally develop information systems founded on the differing activities in the system development life cycle (SDLC). These particular system development activities are founded on the presumption that information systems shall be developed in-house. Due to cloud computing, some new system development activities require modification or renewal. The aim of this paper is discuss how system development activities require to be altered to respond to the surfacing of cloud computing model together with the concerns that are associated with applying cloud computing model.

Cloud Computing

Cloud computing is basically a new platform of computing whereby software and hardware are supplied to users in a way which resembles the way utilities like electricity are supplied into households. The phrase cloud originates from the utilization of a cloud image which symbolizes the internet or a large networked surrounding. In cloud computing, nonetheless, cloud does not simply only entail routers, servers, and data pipes; it also entails offering capabilities and services to develop application (Hartig, 2009). The cloud computin phenomenon is still evolving. Cloud computing industry entails various levels of dealers as well as various kinds of services for varying market functions. Therefore, it is difficult to exactly describe cloud computing. United States "National Institute of Standards and Technology" made an effort to describe cloud-computing as being a model for permitting suitable, on-demand network access to a common pool of configurable computing resources (like servers, applications, and networks) which can be quickly provisioned and issued with minimal service provider engagement or management effort. This cloud model is made up of five important traits (wide network access, measured service, on-demand self-service, fast elasticity, and resource pooling), three service models (Cloud Infrastructure as a Service, Cloud Software as a Service, and Cloud Platform as a Service), and finally four models of deployment (Private cloud, Hybrid cloud, Public cloud, along with community cloud) (Mell & Grance, 2009). According to Pallis (2010) wireless network ubiquity, progressive advancement in internet computing software and mobile computing, and minimal storage and mobile device charges are the driving forces behind cloud computing. Some of the benefits for cloud users are ability to enhance efficiency by adding more capacity at greatest demand, lowering costs, and being able to eliminate unnecessary capacity easily.

Cloud Infrastructure

A cloud system generally entails elements like network, storage, and processing. Thus, cloud's architecture could be observed from three different layers: application, platform, and infrastructure. Cloud services can hence be split into different groups: software as a service (SaaS), infrastructure as a service (IaaS), and platform as a service (PaaS) (Chou & Chou, 2011).

SaaS

SaaS allows the user to utilize the provider's applications available on a cloud infrastructure. The applications can be accessed from particular user gadgets through a user interface like a web browser. The SaaS model offers the user minimal or no influence on how input data is processed, but offers confidence in the cloud provider's duty and compliance. Firstly, the user could avoid providing sensible information to SaaS. Secondly, he may be capable of "securing" the sensible information prior to deploying them into the SaaS. In the SaaS model, software applications are presented as services on the internet instead of software packages to be bought by individual clients (Motahari-Nezhad et al., 2009). SaaS model permits dealers to create, host, and run software for client use. Instead of buying the software and hardware to manage an application, clients simply need a server/computer to download the application and internet access and use the software. An example of SaaS is Google; Web-based office application (like spreadsheets and word processors).

PaaS

PaaS provides tools supported by a cloud provider, which allows developers to deploy applications (like Mozilla and Google App Engine). The developer is faced with the great responsibility of using the best practices and security tools. The developer, however, has to depend on the reliability of the underlying PaaS. Imagine, for example that some developer has come up with a cloud application that encrypts all data prior to it getting stored within the cloud storage offered by the PaaS. In this particular case, the developer is forced to trust that the infrastructure/platform is not compromised. The attacker might otherwise get a chance to the clear text before encryption takes place. In PaaS, the user is not faced with the responsibility of controlling the basic cloud infrastructure, operating systems, network, or storage, however; the user has control over the deployed applications. An example of PaaS is CodeRun which is actually built on top of the "Amazon Elastic Compute Cloud" (EC2). It permits programmers to easily create, evaluate, deploy, and publish code online, without needing intricate software or powerful hardware. Google App Engine is another example of PaaS; it allows clients manage their web applications on Google's infrastructure.

IaaS

IaaS offers the user computing resources to manage software. An example is the Amazon EC2 Web Services.. An IaaS provider normally assumes responsibility for securing the data centers, systems and networks, and takes steps to ascertain that its workers and operational procedures abide by the applicable laws and regulations. Nonetheless, given that an IaaS provider might have little application-level expertise, it shall be hard for that provider to guarantee data-level compliance, like geographic constraint of data transfers. In this case, the cloud user is accountable for maintaining compliance controls. IaaS is a model that ensures more direct management but also allows the client to be accountable for the application of technical and procedural security as well as resilience measures. Concerning standardization, there needs to be a way for the client in an IaaS cloud environment to communicate his/her security linked needs. In the IaaS model, computing power (like CPU) and hardware resources (like data server) are presented as services to the client. Instead of investing money on the networking devices and committed servers, IaaS clients are capable of availing the computing power and hardware resources on rent. IaaS providers are able to supply hardware resources and computing power to applications on an as-required basis (Motahari-Nezhad, Stephenson, & Singhal, 2009). With this elasticity, organizations are able to increase the effectiveness of IT resources utilization and therefore minimize costs. Amazon Elastic Compute Cloud (Amazon EC2™) is an example of an IaaS, a web-service that offers resizable compute volume within the cloud. It is capable of rapidly scaling capacity with change in the computing requirements (Chou & Chou, 2011).

Cloud computing is getting famous because it deals with the issue of the traditional computing model, whereby every business unit in an enterprise has committed IT resources. The traditional computing model typically results to under-usage of IT resources because of resource division and uneven workload allocation. Cloud computing permits organizations to virtualized their IT infrastructure and deal with issues of under-usage. The pace at which the clouds are forming and increasing greatly implies that cloud computing shall not just majority of the requirements of enterprise computing, but could also establish the digital platform for a shaping plan directing next generation ventures in their movement to and involvement in such ecosystems. It might be interpreted to imply data center hosting and then later laid off without catching the advancements to hosting known as utility computing which allow near real time, policy-founded control of computing resources. Alternatively, it might be interpreted to imply only data center hosting instead of being understood as being an important migration in the internet application architecture which it actually is (Rahul, Haque, & Muntjir, 2012).

The deployment models might either be private cloud or public cloud depending on the cloud computing service model. A public cloud basically refers to a service provider that makes resources, like storage and applications, available to the public via the web. Public cloud services might be totally free or given on a pay-per-usage basis. The main advantages of utilizing a public cloud service include: (1) Simple and cheap set-up since hardware, bandwidth, and application charges are all incurred by the provider, (2) Scalability of meeting needs, and (3) No misused resources since it is either totally free of pay-per-usage.

A private cloud, on the other hand, refers to a proprietary computing architecture which offers hosted services to a restricted group of individuals behind a firewall. Private cloud deployment permits data center managers as well as corporate network to make their IT infrastructure virtualized and yet stay in control of their data. Some of the major benefits of utilizing private cloud computing are: (1) Great deployment speed, (2) high availability, (3) simple to monitor, (4) optimal use of resources, and (5) independence of hardware (Sintobin, n.d.).

Ecosystem of Information Requirements

Companies establish information systems in order to seize and manage data to generate helpful information which support their workers, clients, partners, and suppliers. Even though information systems vary in sizes and shapes, via the information systems development procedure, information prerequisites originate from similar kinds of system stakeholders. In an outline of system testing and design, five system stakeholders were identified by Whitten and Bentely (2007); they are system users, system owners, system designers, system analysts, and system builders. System users are basically information works that are more concerned with the system's ease of utilization, ease of learning, and functionality. System owners are normally executive or middle administrators that have a tendency to be interested in the bottom line like the system's costs and benefits. System designers are technology experts interested in the design as well as choice of the systems with selected technologies. System analysts are basically problem solvers that fill the gaps between the computing and business needs. System builders are simply another kind of technology experts who come up with information systems depending on the design specification from system designers. In accordance to a framework for information systems architecture proposed by Whitten and Bentley (2007), information systems developments have three main objectives: (1) to enhance business knowledge, (2) to enhance business procedure, and (3) to enhance business communication. Therefore, information prerequisites from certain stakeholders are founded on the elements of knowledge, procedure, and communication. These three information elements are traditionally executed by database, user interfaces, and computer applications. These building blocks in information architecture are normally built in-house. The deployment of cloud computing offers the chance of outsourcing all or part of information elements to the cloud computing providers (Chou & Chou, 2011).

Adopting cloud computing into information systems development procedures is essentially to develop a virtual business working environment. According to Motahri-Nrzhadet al. (2009) a virtual business working environment presents facilities which permit business owners to develop their business in a holistic manner. Towards handling the basic/core requirements of system owners, the cloud services need to offer a means for system owners to define business objectives and track down to service implementation level in order for system owners to weigh the costs and gains of the subscribed IT services. System analysts ought to be familiar with the available IT services in the marketplace in order to address the solution for the suggested business opportunities or issues. Cloud service providers are required to provide various IT services that support business models. After selection of the IT services, system builders and designers ought to be capable of configuring the present IT services or recently developed IT services if required. The newly established IT services or subscribed IT services ought to be capable of being deployed via user-friendly interface. Cloud computing services are ideally capable of addressing the information requirements based on knowledge, communication, and process. Nonetheless, at the present cloud computing advancement, there are still various concerns that inhibit business owners from integrating cloud computing into the solution of information systems development.

Cloud Computing has changed the System Development Life Cycle; how it differs from the Traditional SDLC

SDLC (Systems Development Life Cycle or Software Development Life Cycle) refers to a framework which describes duties to be carried out all every step in the software development procedure. It entails a set of procedures that developers follow for every step of the SDLC like planning, development, documentation, assessment, deployment, and maintenance. Does traditional SDLC differ from cloud SDLC? In order to answer this question, it is essential to understand the core issues involved. Cloud computing is seen as a paradigm transition in the world of computing and brings more flexible, measurable, and yet strong environment from the development of web applications. It offers the most immediate access to the software and development milieu, through the provision of multi-tenancy in the virtualized servers together with other IT infrastructure. PaaS particularly encourages the utilization of Agile technologies. PaaS and Agile put together add a lot of value to the SDLC procedures. They assist to minimize costs for enterprises eventually and at the same time assist in increasing developer productivity (Velagapudi, 2012).

SDLC is the management of development phases while applying different types of methodologies that most suits the needs of several projects. In accordance to the roadmap comparison, one can state that SDLC offers route choices that you could take to arrive at your destination and also offers choices for the means of travel. In software application situation, SDLC frameworks offers you methods that you could pick based on your project's requirements. In the current fast evolving technological world, the need for greater developer productivity, faster development procedures, and adaptation to various technological trends makes it even more significant for development teams to possess the strength and flexibility of cloud together with maturity in SDLC framework able to be accommodated in the cloud computing environments.

Bearing these important factors in mind, cloud computing SDLC varies from traditional SDLC in the ways below:

Inclination towards Agile Methodologies:

Agile SDLC (utilizing IBM or SCRUM Rational Unified Process) are among the methods that cloud SDLC can use. These are intended for iterative approach to development together with rapid deployment lifecycles. The application of DevOps needs to be spelt out in cloud SDLC frameworks to bring operations on the same table.

Customizable SDLC framework for different stages:

Cloud computing SDLC should possess the capabilities of being customized in accordance to the prerequisites of the project because of variations in implementation rates and effort levels. Simply put, strength and flexibility of cloud computing environment is best used if the SDLCs for the cloud are actually customizable in the incorporated ALMs and IDEs in the cloud.

Installation and configuration guidelines

Cloud SDLC ought to offer implementation approach and directions for installation as well as configuration of the cloud environment which is being set up, based on its size. The directions should guarantee that installation and configuration of application and infrastructure environment is correctly done for differing SDLC phases with the inclusion of operations and maintenance. These directions are major to distinguishing cloud SDLC from traditional SDLC. This is because the infrastructure set-up for computing environments as well as other application environments in cloud totally differs from the traditional on-premise IT stacks, given that cloud is founded on virtualized environment and distributed network, permitting multi-tenancy (Velagapudi, 2012).

How Cloud Computing has been integrated into Systems Development Process

Every information system has its own life. The growth of information system is normally directed by system development life cycle (SDLC). Varying methods might actually split information systems development procedures into different stages. On the contrary, nearly all information system development methods propose that system development cycle ought to entail the following stages: planning, assessment, design, execution/implementation, and finally support (Satzinger, Jackson, & Burd, 2009).

In the planning stage, some of the usual activities involved here are problem definition, production of project schedule, and confirmation of project practicability. At the phase of problem definition, system stakeholders ought to identify the operations of the suggested systems. In order to incorporate cloud computing into the systems development procedure, system analysts need to conduct research on the several business models in the cloud service market and identify the potential of adopting cloud service as part of the solution to the business concern.

In the analysis stage, some of the particular activities involved are obtaining data, description of the system requirements, building prototype, prioritization of prerequisites, and the generation and assessment of options. Given that the cloud service is founded on either subscription or pay-per-usage, the system analyst could incorporate the cloud service that aids in building prototype without having to incur great costs. Building prototype in the virtual functioning environment could actually serve two uses: (1) finding out of more system requirements from the users themselves, and (2) assessing if cloud service could be utilized as a solution for solving business issues.

In the design stage, some of the activities involved are network designing, application architecture, system interface, user interface, and data base among many others. System designers ought to confirm the inter-functionality of the different chosen cloud services, in particular the cloud services offered by the numerous cloud providers. In certain instances, having a best-of-breed alternative entails the employment of different cloud platforms for various functions. System designers ought to guarantee that the services offered by SaaS, PaaS, and IaaS providers could be incorporated seamlessly.

In the implementation stage, some of the common activities include construction of software elements, verification, and testing, as well as conversion of data. To incorporate cloud computing into the implementation stage, system builders need to reconfigure the chosen cloud IT services to satisfy the design requirements. If need be, designers ought to come up with new IT services having resources provided by cloud computing providers.

In the support stage, some of the ordinary activities entailed are keeping the system operating in a productive manner during the years that follow the initial installation. Due to the fact that cloud computing is actually utility-based computing, virtual machines substitute physical machines in the hosting of information systems. In the virtual environment, most of the support tasks are moved to the cloud providers from in-house facilities and development. As the virtualization level of an information system increases, the supporting tasks shall shift from being operation oriented to being management oriented. Incorporating cloud computing into information systems development truly has the benefits of having elastic computing resources without having to make huge up-front commitment. Nonetheless, cloud computing development is still in its nascent phase. According to various cloud computing researchers, various existing barriers might hinder organizations from widely adopting cloud computing services.

Impact of Cloud Computing on traditional systems analysis and design

The disparities amidst cloud computing and on-premise software development are actually bound to have some effect on the traditional software development methods. Firstly, the traditional software development lifecycle, 'waterfall', or 'agile' models of an enterprise could become reduced once cloud computing is implemented. This is because some of the operations which were carried out in-house would now be offered by the cloud dealer. Some of these operations include upgrades, installation, and patching among many others. The majority of the concerns around scalability and performance shall fall on the cloud service provider as well, mostly if the software was hitherto developed in-house. In various instances, the quality assurance process also becomes shorter; specifically if a venture that previously had the software written in-house chooses to implement a cloud service provider for the same. A sandbox is normally supplied by the cloud service provider to carry out system testing so that time is saved in the creation as well as maintenance of test beds.

Ventures that are shifting their application to a cloud are able to come up easily with an on-demand test environment on the cloud without investing in any additional hardware. For instance, in case the application were to be ultimately deployed on the EC2 platform, one could easily deploy the particular application on as many EC2 images as required to carry out evaluation and then, once the evaluation is complete let go of that environment. This truly saves a great deal of time. With the traditional software development design, this was impossible. Platform as a Service (PaaS), for example force.com, because of their nature, permit applications to be developed without the need of a lot of coding activity. All an enterprise needs to do is to customize the platform to suit its needs. This obviates the need for some of the main steps in traditional software development. Between the 'agile' and 'waterfall' models of software development, the agile model actually has a tendency to lend itself more to the new technology particularly with SaaS. It offers the premise to conduct things in tiny increments with short-term planning and objectives planning, instead of complex, long-term planning. All such iterations entail a complete software development cycle, comprising of planning, prerequisite analysis, design, coding, unit evaluation, and acceptance testing when a functioning product is displayed to stakeholders. This is properly suited for a cloud environment given that the infrastructure to evaluate, deploy, or authorize has already been taken care of by the provider. Cloud services (on paper) are constantly available and this makes the agile objective of having software that is constantly operating on a distinct likelihood. This does not imply that the waterfall development model is fading away- I am actually taking part in a project whereby we have decided to develop an application using a third party software as a service and have utilized the waterfall method of requirement analysis, design, and development. The integration procedure simply disappears with SaaS because any written code is integrated with the SaaS application immediately from the start.

In order for software to be deployed on the cloud, a venture has to take into consideration the deployment strategies early enough in its development life cycle- at the design phase. This is basically because the cloud provider would have exposed its environment through a fixed API set and whichever software is deployed on the cloud has to agree with those APIs. The software ought to have algorithms in place where new data storage volume is produced by the application or additional requests are being served by the application as well. This is in contrary to the traditional software development design where the progression of software development is much more unplanned (Bhattacharjee, 2009).

Several likely effects to traditional system analysis and design exist when implementing the methods to cloud computing. We particularly have to be aware of the ones listed below:

The quantity of clients that will be using the system to observe if licensing is needed and if so, how many. The training requirements of users and change management in the course of the transition stage ought to be considerered.

The need to check performance as well as scalability of the cloud solution to make sure that usage in the peak periods is well handled. The new application ought to be capable of handling prospective business growth. Given that a cloud-based solution relies on connectivity of network through the internet service, we need to establish if high availability needs are achievable.

You’re 81% through this paper. Sign up to read the full paper.

Sign Up Now — Instant Access Already a member? Log in
130,000+ paper examples AI writing assistant Citation generator Cancel anytime
Cite This Paper
PaperDue. (2016). Cloud Computing Changes Systems Analysis and Design. PaperDue. https://www.paperdue.com/essay/cloud-computing-changes-systems-analysis-2161232

Always verify citation format against your institution’s current style guide requirements.