You are on page 1of 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

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. Research Findings "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, and Yahoo 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

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

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

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

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.

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.

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

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.

You might also like