Upload
rajat-panda
View
214
Download
0
Embed Size (px)
Citation preview
8/3/2019 Sdlc on Cloud Computing
1/9
Cloud Computing is identified as an important technological innovation in the recent
technological environments. This paper examines Cloud Computing environment and its
Application/Systems development life cycle. In addition, analysis includes the specific research
about Cloud Computing technology, components, and implementation strategies. The research is
performed using sources from academia, news media resources, and World Wide Web.
Research Summary
The research suggests that the Cloud Computing is a paradigm shift in Internet applications and
will promote the transformation of current web environment to a more flexible, robust, and faster
Web environment; and Cloud Computing environment supports the transformation of web to a
more powerful and faster processing environment due to its large scale processing, storage, and
networking capabilities. The Systems Development Life Cycle (SDLC) for Cloud Computing
requires minor tailoring of the SDLC for its deployment cycles and technology architecture.
Furthermore, this report provides analysis of Cloud computing infrastructure implementation
overview, challenges, and specific SDLC tasks for successful deployment; and provides insight
about market leaders and their successful implementations of the Cloud Computing
environment.
Recommendation & Conclusion
Research shows that the IBM Rational Unified Process provides significant capabilities to tailor
and adapt the methodology for the implementation of a Cloud Computing
environment/infrastructure. In addition, because Cloud Computing environment is a distributed
hardware and application environment, it is essential to ensure that the environment is highly
secured and SDLC must provide guidelines to secure the environment by monitoring
infrastructure, connectivity and data.
Table of Contents
Introduction
The Cloud Computing refers to the clustered architecture of many desktop like PCs to serve the
processing capacity to applications like a super computer. The Cloud computing environment is a
platform as well as the application environment. The Cloud computing platform dynamically
provisions, configures, reconfigures, and de-provisions resources as needed; the application
environment consists of web applications as well as web services (Boss, Malladi, & Quan, 2007).
The Cloud Computing promises to revolutionize the large scale web applications
8/3/2019 Sdlc on Cloud Computing
2/9
implementations for speed, reliability, and scalability. According to a publication by IBM "Cloud
computing infrastructures can allow enterprises to achieve more efficient use of their IT
hardware and software investments. They do this by breaking down the physical barriers
inherent in isolated systems, and automating the management of the group of systems as a single
entity. Cloud computing is an example of an ultimately virtualized system, and a natural
evolution for data centers that employ automated systems management, workload balancing, and
virtualization technologies" (Boss, Malladi, & Quan, 2007).
The systems development life cycle of Cloud Computing Application is similar to the traditional
SDLC; however, the Cloud Computing Applications will have shorter release times and fewer
tasks that could delay the implementation such as multiple levels of approvals etc; and Cloud
Computing SDLC will adapt agile development methodologies vs. those related to the traditional
SDLC. In addition, Cloud infrastructure allows for more dynamic life cycle where it can be
customized to a specific installation such as addition or remove of various test/QA stages in the
SDLC process.
ResearchFindings
"What aspects of SDLC are different for Cloud Computing and why"
According to Boss and Malladi the Cloud Computing is a dynamic computing environment that
enables large processing requirements in a clustered dynamic configuration infrastructure
environment (Boss, Malladi, & Quan, 2007). It is a paradigm shift, because Cloud Computing
provides new capabilities to implement and deploy applications in a fast cycle environement with
minimum effort and the ability to support large processing requirements (Kelkar, 2009). Per
research, the Cloud computing is an excellent virtual environment for large scale web
applications and computing (Boss, Malladi, & Quan, 2007). In addition, Cloud environment
provides large scale clustering of server environments to create mass processing power that
enables global computing environment over the world wide web.
The current industry platforms include Google, Microsoft, andYahoo with diverse capabilities,
architectures, and configurations. While Google is an active platform with current applications
for public sector and as well as private corporations, Yahoo and Microsoft are still emerging
(Ricadela, 2007). According to articles in BusinessWeek and ZDNet.com Microsoft, Yahoo and
Google are envisioning new applications for public and private consumers using the Cloud
Computing environments for supporting applications, storage, social networking, and enterprise
8/3/2019 Sdlc on Cloud Computing
3/9
applications. On the forefront of Cloud computing, "Google's search engine and productivity
applications are among the early products of efforts to locate processing power on vast banks of
computer servers, rather than on desktop PCs" (Ricadela, 2007). The performance and wide
acceptance of Google search engine framework presents an exceptional success in cloud
computing platform. The objectives set by the current companies such as Google, Microsoft and
yahoo is not only to make the Cloud computing tackle significant large scale applications, it is
also to provide online services to the mases and enterprises (Ricadela, 2007).
Although, there are significant advantages in implementing Cloud Computing environment, there
are obsticals to overcome with this new and emerging technology. One of the challenges is that
the technical standards for connecting various computer systems and software that are not yet
completely defined. And the U.S. broadband availability is yet to be expanded which may trigger
infrastructure defficiency for the expansion of Cloud computing. In addition, possibilities of
storing large amounts of data about users' identity and preferences is likely to raise new concerns
about privacy and information protection (Ricadela, 2007).
In addition, the new technological environment also introduces new approaches to the Systems
Development Life Cycle. The Could computing Systems Development Life Cycle (SDLC) must be
tailored according to the requirements of the project due to the change in effort levels, and
implementation speed. Cloud computing implementations can leverage current methodologies
such as Iterative development, Cloud Application Life Cycle, Rational Unified Process,
Agile/SCRUM, and other methodologies as feasible (Kelkar, 2009). The methodologies are
tailored for fast cycle deployments based on specific requirements. Although, the methodologies
can be tailored for specific requirements, it is essential that the platform capabilities must be
considered to overcome any implementation challenges. Because Cloud Computing is highly
platform/vendor specific, the methodology selected must be adaptable for a specific solution that
is being implemented (Kelkar, 2009). The Cloud Computing is a fast paced implementation
environment and requires emphasis during the requirements and elaboration phase of the SDLC
(Kelkar, 2009). When compared to traditional implementation methods, the Cloud Computing
environment implementation consists of significantly reduced effort and cost for the construction
phase of the project.
The SDLC of Cloud Computing, Architecture, and implementation are fast paced and different
from traditional environment, and requires careful analysis of requirements and selection of
Cloud environment for implementation and Life Cycle adaptation. As the Cloud computing is
dependent on the large scale computing clusters, networks, and broadband connectivity, it is
8/3/2019 Sdlc on Cloud Computing
4/9
required that the implementation organizations must prepare the environment during/prior to
the project inception.
Research Analysis
Research shows that the Cloud computing environment provides capabilities that enable large
scale web application implementations that adapt to the change in business environment as
needed. Cloud computing with accelerated SDLC process will enable implementations with
significantly reduced construction and deployment effort/duration, ultimately resulting in
reduced IT Costs. Research shows that the Cloud computing SDLC can be tailored for specific
project based on the solution requirements; and because of the reduced construction phase for
the project the solution can be tailored and implemented as per the change in business
requirements within the time required for business use. Although, Cloud computing environment
is a distributed model and require careful configuration of infrastructure, the application
environments are considerably simpler than other types of application environments. According
to the research, the complexity of implementation is involved in the analysis of requirements for
the solution and mapping the requirements to the capabilities of a specific Cloud computing
environment; however, the implementation of the defined solution is comparatively less complex
than other computing environments such as Commercial Off the shelf (COTS) products or
custom applications - where for some significant programming is required.
Research analysis depicts that the Cloud computing environment architecture requires the
implementation of computing environment in the backend that creates the Cloud. This can
comprise of group of application servers, network, and storage devices. As part of the process,
this group of hardware devices must be connected and configured so that the processing and
storage of Cloud Computing environment is seamlessly created to function as a unified back-end
system. In addition, the application side of the Cloud computing environment must leverage the
clustered environment of the cloud from the backend to provide large processing and storage
capabilities to the client. Furthermore, the integration of various server components, storage
devices, databases, and application components via network is a defined process that needs to be
completed based on the hardware and software environment that is adapted to create the Cloud
infrastructure. For example, the Cloud infrastructure can be created using vendor solutions such
as IBM, DELL and others for hardware, as well as the use of any or combination of database
systems such as Oracle, SQL Server or DB2 from various vendors. Thus, it is essential that the
integration of hardware components, server components, storage components, database systems,
and application server components must be completed as a defined process to ensure that the
8/3/2019 Sdlc on Cloud Computing
5/9
Cloud infrastructure environment can support the application requirements. Additionally, the
application architecture must provide the capabilities to leverage the Cloud infrastructure
capabilities such as storage connectivity, security, and communications without the use of any
client computer resources; and may simply function using the standard web browser
environment.
As Cloud computing environment is a new approach and different from Mainframe or Client
Server environments, the SDLC process must ensure that the installation and configuration of
infrastructure and application environment is completed appropriately for initial implementation
as well as for the ongoing maintenance and operations. It is essential that the SDLC provides
implementation approach, and guidelines to implement infrastructure that may be significant,
depending on the size of the Cloud environment that is being erected; and SDLC must provide
the methodology to ensure that the configuration of the application environment that will be
operated on the Cloud infrastructure. In addition, the ongoing maintenance of the Cloud
computing environment must also be considered as part of the SDLC process to ensure that as
users demand the performance, security, storage, and reliability to the their subscribed cloud
computing environment. The SDLC may be tailored specific to private or public Cloud
environments. In case of private Cloud for corporations and businesses, the SDLC may be specific
to the organization's standard methodology; however, for public cloud environment, the SDLC
must be tailored to ensure the support of many diverse set of users, thus requires significant
quality and reliability check. Furthermore, because Cloud computing is a paradigm shift in
computing that is different from Mainframe or Client Server, it is essential that the SDLC process
is carefully defined for the project.
The SDLC for the Cloud computing can be defined based on the existing Systems Development
Life Cycle methodologies such as Rational Unified Process (RUP), Agile Method, and Iterative
Management. In addition, Waterfall model from the Mainframe era may be used; however, due
to faster life cycles of the Cloud components implementation, this process may be burdensome to
the Cloud Computing environment. The other methodologies provide an iterative approach to the
implementation where the faster deployments are possible by tailoring the milestones as needed.
Regardless of what SDLC methodology is adapted, the Cloud Computing environment requires
the implementation to be completed in at least two phases such as initial implementation and
ongoing maintenance and support. The initial implementation is the phase where the Cloud
environment is erected to install and configure the infrastructure and application components;
and then the system is made available to the users and subscribers to use the Cloud Computing
8/3/2019 Sdlc on Cloud Computing
6/9
environment. During the ongoing maintenance and support phase, the SDLC will support the
process where the users subscriptions are created, configured, and any required resources
(hardware and/or software) are added to the Cloud computing environment; in addition, SDLC
will support the process where the system resources are monitored constantly to meet the users
processing, network bandwidth and storage requirements while ensuring that the current
equipment is fully functional with redundant storage and processing capabilities. Because Cloud
computing is highly used for greater processing and storage power, it is required to ensure that
the information that is stored and processed is critical and must be protected in all aspects such
as integrity, security and reliability.
According to the Rational Unified Process (RUP) from IBM, the initial implementation is
achieved as supported by the individual component vendor requirements for the installation and
configuration of the Cloud environment by leveraging the phases such as Inception, Elaboration,
Construction and Transition. The duration of the phases is dependent on the scale and scope of
the environment that is being erected; and the resource requirements are provided by the
individual vendors, who distribute the components. This process may include creation of data
center environments for providing the basic infrastructure that is needed for the installation of
the infrastructure components. The RUP process may need to be tailored for the initial
implementation; however, it may not be necessary as it is mostly milestone driven for the
construction, and configuration of hardware and server components, that are vendor specific.
However, the RUP process must be tailored for the ongoing maintenance and support as this
phase will include the support of user subscriptions and the process must be designed to be
iterative and repeatable.
During the ongoing maintenance and support phase the RUP SDLC will include all phases such
as Inception, Elaboration, Construction, and Transition and served for specific purpose such as
Inception for the gathering the initial requirements, Elaboration for the design, construction for
the implementation, and Transition for deploying to production or handing keys to the client. As
the ongoing maintenance and support phase there are two types of activities that are typical to
the Cloud Computing environment 1) maintenance activities and 2) user subscription activities.
For maintenance activities the organization use the RUP methodology to ensure that the
activities are completed with minimum impact to the users and resources are protected as
required. For example, the RUP methodology can be tailored to ensure that the maintenance
activities are performed iterative to ensure the integrity in development and test environments
prior to applying the software and/or hardware components to the production environment.
8/3/2019 Sdlc on Cloud Computing
7/9
Secondly, the subscription activities are those to add users, websites or specific type of
application capabilities; these activities may require infrastructure modifications, yet they are
mostly either within the application or fully automated. The subscription activities have very
faster life cycle from Inception to Transition as they require minimum effort on the modification
or configuration of the system. Based on the analysis, Rational Unified Process provides an
excellent customizable process that can be applied to any Cloud computing environment for
initial implementation as well as the ongoing maintenance supporting comprehensive
implementation process while providing the faster implementation release cycles.
Research analysis depicts that the Agile System Development Life Cycle is also well suited for the
Cloud Computing environment with its iterative management approach and flexible release
management methodology. Research shows that there are multiple "Agile" methodologies from
various vendors including SCRUM, Microsoft Team System Agile System Development Life cycle,
and from many other Software vendors; and most of them support project delivery in Cloud
Computing environment. The agile process allows faster deployment cycles with defined release
management techniques, where the work is defined and grouped into releases and then
completed iteratively within specific durations such as daily, weekly or monthly. Per research,
because Agile is a framework that is applied to various methodologies, iterations and phases of
cycles are customizable to the project or a particular organization. In Cloud computing
environment the agile process can be used to accomplish the initial implementation as well as the
ongoing maintenance and support. Because the methodology is flexible and could be adjusted
quickly, and phases are customizable, it is an excellent methodology for Cloud computing
environment to support any type of Cloud computing project. The tasks are accomplished by
defining the iterations, releases and tasks with durations on as needed basis. Additionally, agile
process promotes improved communications and faster Deployments that are essential for cloud
computing environments.
The fundamental SDLC difference when compared to traditional applications such as Client
Server and Mainframe to the Cloud computing environment, the project work performed need to
be completed more iteratively, inclemently, and with speed as the development / construction
time to release functionality is considerably less. In addition, with the dynamic infrastructure
environment the SDLC must support the ability to deploy maintenance releases quickly and
efficiently. Furthermore, because the application configuration is primarily is dependent on the
subscription requirements, it is essential that the requirements are defined correctly, including
the identification of features.
8/3/2019 Sdlc on Cloud Computing
8/9
Based on the research the Cloud environments are already deployed to millions of users by
Google, Microsoft and yahoo and are able to respond to subscription requests daily and
maintaining the infrastructure to support millions of users across the globe. It is important to
note that although the Cloud computing is a new approach to computing, it is already proved to
be successful by the providers such as Google, Microsoft and Yahoo; thus, the adaption of this
new approach is not rated as high risk. However, due to the distributed computing environment
it is essential to ensure that the data ownership, security and performance are acceptable to the
user community. Based on the research Google with its search engine, email, application labs,
and other user applications is in the leading position in the Cloud computing, while Microsoft
and others are following close to the competition.
The SDLC of Cloud computing also requires high quality maintenance because critical
components are clustered and networked to support one or more application environments while
using a unified Infrastructure with specific configuration. Any of the clustered components
malfunction will result into either performance issues or storage issues to the overall Cloud
computing environment; even though the environment is redundant and does not take the
system offline. As a result, the quality need to be maintained while delivering quick releases;
furthermore, it is essential to have a prepared maintenance environment to quickly respond to
any Infrastructure issues- to keep the system ready for high volumes of workloads. In addition,
maintenance plans must include quality checks such as performance monitoring and application
availability.
Recommendation
Research shows that the SDLC for Cloud Computing is different from the SDLC for Mainframe or
Client Server computing and requires minor tailoring to the SDLC process. In addition, the
selected SDLC process must enable faster deployments with incremental and iterative task
management approach. According to the research and analysis, the IBM Rational Unified Process
is highly suitable for Cloud Computing implementations with its comprehensive Systems
Development Life Cycle with iterations, phases, and disciplines, which are highly compatible with
the Cloud Computing environment. In addition, the IBM Rational Unified Process supports
iterative management methodology that is essential for the management of complex multi-phase
implementation projects.
ConclusionIn
8/3/2019 Sdlc on Cloud Computing
9/9
Conclusion, the Cloud Computing is a paradigm shift in the recent computing technologies with
support to large scale processing, applications, and storage capabilities. In addition, it provides
capabilities to deploy applications as required by the changes in the business environment with
its accelerated deployment SDLC process. Furthermore, Cloud Computing environment with is
architecture and implemented applications in the global world wide web environment, it is a
proven infrastructure and application environment that can provide large scale process
capabilities supported by reliable hardware and application infrastructure.However, because
Cloud Computing environment is a distributed infrastructure it is critical to ensure that the
environment is supported by secured infrastructure for connectivity and storage to ensure the
data security. Furthermore, the deployment of solutions using Cloud Computing environments
require analysis of information privacy, network security, network speed, and scalability
requirements, especially to support large scale global applications.