International Journal of Advanced Research in
Computer Science and Software Engineering
Research Paper
Available online at: www.ijarcsse.com
A Study on Organize and Optimize Strategy Using Cloud
Computing Platform
Ankush Narkhede* Prashant Barhate, Ashwini Narkhede
Oriental University, Indore J.T.M.C.O.E.Faizpur Indore, India Faizpur, India
Abstract- Cloud is a computing model providing web-based software, middleware, computing resources on-demand, and capabilities of Information Technology (e.g. applications, storages, communication, virtualization, collaboration, and infrastructure). That derives cloud computing environments to the software that runs in virtual appliances that can be used to assemble applications in minimal time. Its service has ubiquitous access through a web browser or mobile device with APIs or special desktop applications developed by cloud service provider. Cloud computing now provides organizations with new ways to organize and maintain applications allowing for greater flexibility and reduce complexity. Fully understanding the range of potential cloud computing benefits requires a broad perspective that recognizes that real computing resource optimization aligns computing capabilities with business needs. So, in addition to uptime, organizations can now achieve agility, integration, scalability, accelerated deployment, better utilization, and transparent cost accounting. Cloud computing promises to increase the velocity with which applications are organized, increase innovation, and lower costs, all while increasing business agility.
KeyTerm- Cloud Computing, Information Technology, Organize and Optimize, Applications, Virtualization, Infrastructure
I. Introduction
Cloud computing builds on established trends for driving the cost out of the delivery of services while increasing the speed and agility with which services are deployed. To determine which applications are likely to derive the greatest benefit from cloud computing, organizations will want to explore a number of considerations to help guide decisions regarding deploying or migrating applications to the cloud. To make these strategic decisions, as it is important to have a comprehensive understanding of the new cloud computing platform and services capabilities, which will provide organizations with opportunities to become more agile and responsive, while controlling costs and reducing complexity. As define in [2] Cloud computing incorporates virtualization, on-demand deployment, Internet delivery of services, and open source software. From one perspective, cloud computing is nothing new because it uses approaches, concepts, and best practices that have already been established. From another perspective, everything is new because cloud computing changes how can invent, optimize, organize, scale, update, maintain, and pay for applications and the infrastructure on which that run. Data and Computation are operated somewhere in a cloud, which is some collection of data center owned and maintained by third party. As depict by [3] Cloud computing refer to the hardware, system software, and applications delivered as a service over the internet. In general, Cloud Computing is the concept of revitalization that began to emerge in technology circle.
II. Cloud Computing Building On Established Trends
Cloud computing builds on established trends for driving the cost out of the delivery of services while increasing the speed and agility with which services are deployed. It shortens the time from sketching out application architecture to actual deployment.
A. Virtual Machines As The Standard Deployment Object
Virtual machines have become a standard deployment object. As define by Ou. G. et al. [4] Virtualization further enhances flexibility because it abstracts the hardware to the point where software stacks can be deployed and redeployed without being tied to a specific physical server. Virtualization enables a dynamic datacenter where servers provide a pool of resources that are harnessed as needed, and where the relationship of applications to compute, storage, and network resources changes dynamically in order to meet both workload and business demands. With application deployment decoupled from server deployment, applications can be deployed and scaled rapidly, without having to first procure physical servers. As define by A.V. Konstantinou et al. [5] Virtual machines have become the prevalent abstraction and unit of deployment because that is the least-common denominator interface between service providers and developers. Using virtual machines as deployment objects is sufficient for 80% of usage, and it helps to satisfy the need to rapidly organize and scale applications. Virtual machines that include software that is partially or fully configured to perform a specific task such as a Web or database server further enhance the ability to create and organize applications rapidly. The combination of virtual machines and appliances as standard deployment objects is one of the key features of cloud computing.
June - 2013, pp. 1151-1155
B. The On-Demand, Self-Service, Pay-By-Use Model
As define by M.A. Vouk et al. [6] the on-demand, self-service, pay-by-use nature of cloud computing is also an extension of established trends. From an enterprise perspective the on-demand nature of cloud computing helps to support the performance and capacity aspects of service-level objectives. The self-service nature of cloud computing allows organizations to create elastic environments that expand and contract based on the workload and target performance parameters. The pay-by-use nature of cloud computing may take the form of equipment lease that guarantees a minimum level of service from a cloud provider. As define by Vincent Biddlecombe et al. [7] Virtualization is a key feature of this model. IT organizations have understood for years that virtualization allows them to quickly and easily create copies of existing environments sometimes involving multiple virtual machines to support test, development, and staging activities. The cost of these environments is minimal because they can coexist on the same servers as production environments because that uses few resources. As define by N. Chohan et al. [8] new applications can be developed and deployed in new virtual machines on existing servers, opened up for use on the Internet, and scaled if the application is successful in the marketplace. This lightweight deployment model has already led to an approach to business development where beta versions of software are made public and the market decides which applications deserve to be scaled and developed further or quietly retired. Cloud computing extends this trend through automation. Instead of negotiating with an IT organization for resources on which to deploy an application, as define by A. Dubey et al. [9] a compute cloud is a self-service proposition where a credit card can purchase compute cycles, and a Web interface or API is used to create virtual machines and establish network relationships between them. Instead of requiring a long-term contract for services with an IT organization or a service provider, clouds work on a pay-by-use, or pay-by- the-sip model where an application may exist to run a job for a few minutes or hours, or it may exist to provide services to customers on a long-term basis.
C. Applications Are Composed And Are Built To Be Composable
As describe in [10] another consequence of the self-service, pay-by-use model is that applications are composed by assembling and configuring appliances and open-source software as much as those are programmed. Applications and architectures that can be refectories in order to make the most use of standard components are those that will be the most successful in leveraging the benefits of cloud computing. Likewise, application components should be designed to be composable by building them so they can be consumed easily. This requires having simple, clear functions, and well-documented APIs. Building large, monolithic applications is a thing of the past as the library of existing tools that can be used directly or tailored for a specific use becomes ever larger. For example, tools such as Hadoop define in [11], an open-source MapReduce as define by Dean, J. et al. [12] implementation, can be used in a wide range of contexts in which a problem and its data can be refectories so that many parts of it can execute in parallel. When The New York Times wished to convert 11 million articles and images in its archive to PDF format, their internal IT organization said that it would take seven weeks. In the mean time, one developer using 100 Amazon EC2 simple Web service interface instances running Hadoop as define by Bialecki et al. [13] completed the job in 24 hours for less than $300. (This did not include the time required to upload the data or the cost of the storage.) Even large corporations can use cloud computing in ways that solve significant problems in less time and at a lower cost than with traditional enterprise computing. 1) A developer might choose a load balancer, Web server, and database server appliances from a library of preconfigured virtual machine images.
2) The developer would configure each component to make a custom image. The load balancer would be configured, the
Web server populated with its static content by uploading it to the storage cloud, and the database server appliances populated with dynamic content for the site.
3) The developer layers custom code into the new architecture, making the components meet specific application requirements.
4) The developer chooses a pattern that takes the images for each layer and deploys them, handling networking, security, and scalability issues.
5) The secure, high-availability Web application is up and running. When the application needs to be updated, the virtual machine images can be updated, versioned, copied across the development test production chain, and the entire infrastructure redeployed. Cloud computing assumes that everything is temporary, and it’s just as easy to redeploy an entire application as it is to manually patch a set of individual virtual machines.
In this example, the abstract nature of virtual machine images supports a composition based approach to application development. By refactoring the problem, a standard set of components can be used to quickly deploy an application. With this model, enterprise business needs can be met quickly, without the need for the time-consuming, manual purchase, installation, cabling, and configuration of servers, storage, and network infrastructure.
D.Services Are Delivered Over The Network
It almost goes without saying that cloud computing extends the existing trend of making services available over the network. Virtually every business organization has recognized the value of Web-based interfaces to the applications [14], whether that is made available to customers over the Internet, or whether that is internal applications that are made available to authorized employees, partners, suppliers, and consultants. The beauty of Internet-based service delivery, of course, is that applications can be made available anywhere, and at any time. While enterprises are well aware of the ability to secure communications using Secure Socket Layer (SSL) encryption along with strong authentication, bootstrapping trust in a cloud computing environment requires carefully considering the differences between enterprise computing and cloud computing. When properly architected, Internet service delivery can provide the flexibility and security required by enterprises of all sizes.
June - 2013, pp. 1151-1155
E. The Role Of Open Source Software
As describe in [15] Open source software plays an important role in cloud computing by allowing its basic software elements virtual machine images and appliances to be created from easily accessible components. This has an amplifying effect:
1) Developers, for example, can create a database appliance by layering MySQL software onto an instance of the OpenSolaris™ Operating System and performing customizations. Appliances such as these enable cloud computing applications to be created, deployed, and dynamically scaled on demand. Consider, for example, how open source software allows an application such as that created by Animoto to scale to 3,500 instances in a matter of days.
2) The ease with which open source components can be used to assemble large applications generates more open source
components. This, in turn, makes the role of open source software even more important. The need, for example, to have a MapReduce algorithm that can run in a cloud-computing environment.
3)
III. Cloud Computing
The main idea behind cloud computing is to deliver the computing infrastructure and software applications as a ―pay-as-you-go‖ model to the user. Thus creating the Internet as a large repository, where resources are available to everyone as services. These services can be dynamically reconfigured to satisfy user requests via dynamic provisioning / deprovisioning of virtual machines. Cloud computing has been defined differently by different groups [18-21] , The National Institute of Standards and Technology (NIST), has defined the cloud computing as: ―Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources… that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three delivery models, and four deployment methods‖ [20]. Cloud computing has different models of implementation as Private, Public, Hybrid, and Community cloud.. They can be managed by the company itself or the cloud provider. Public clouds are provided by the third parties, here different companies are sharing the resources, and normally data centre is provided outside the premises of the owner of the data in this case. If the security and performance has to be kept in mind, then these must be transparent from one user to the other. Public clouds are larger than the private clouds where the portion is allotted to the individual customer. One of the biggest advantages of the public cloud is that they are much bigger than the private cloud. Scale up and down on demand. Hybrid cloud provides the combination of both public and private clouds and can harness the potential of both [2]. They have significant role in offering scaling. There are many considerations for cloud computing architects to make when moving from a standard enterprise application deployment model to one based on cloud computing. The on-demand model evolved to overcome the challenge of being able to meet fluctuating resource demands efficiently. Over engineering a solution can be just as adverse as a situation where the enterprise cuts costs by maintaining only minimal computing resources, resulting in insufficient resources to meet peak load requirements. Concept such as clustered computing, grid computing, utility computing may all seem very similar to the concept of on-demand computing, but they can be better understood if one thinks of them as building blocks that evolved over time and with techno-evolution to achieve the modern cloud computing model in Figure.
Fig. Building blocks to the Cloud Computing
Cluster Computing is a group of coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer. It is connected to each other through fast local area networks. Grid Computing vs. Cloud Computing Grids are collections of resources ranging from clusters to supercomputer. Grid Computing is a form of distributed computing that implements the virtual supercomputer made up of cluster of networked or inter networked of computers. Many cloud computing deployments today are powered by grid computing implementations and are billed like utilities. The use of virtualization in cloud computing has defined a set of working layers. These layers are infrastructure, services and application.
Utility computing Super computing Cluster computing Grid computing IaaS, SaaS,PaaS
June - 2013, pp. 1151-1155 1) Infrastructure as a Service (IaaS): It is lowest layer and delivering the basic services like storage and compute
capabilities as standardized services over the network.
2) Platform as a Service (PaaS):It is middle layer and delivers development environment as a service. This platform is
very useful for the developers, to develop and test the code without having traditional development environment on
the PC. A good example of PaaS is Google app Engine.
3) Software as Service (SaaS): SaaS is the highest layer and delivers application as services on-demand, via multitenancy i.e. single instance of the software runs on the provider’s infrastructure and serves multiple client organizations. Google Apps and Salesforce.com are well known for the SaaS as describe in [22].
IV. Goal Of Efficient Application Development
These advances help to support the goal of efficient application development while helping applications to be elastic and scale gracefully and automatically. The overriding objective of good applications, however, has not changed at all: it is to support the same characteristics that have always been important:
A. Scalability: This characteristic is just as important as it has ever been. Applications designed for cloud computing need to scale with workload demands so that performance and compliance with service levels remain on target. In order to achieve this, applications and the data must be loosely coupled to maximize scalability. The term elastic often applies to scaling cloud applications because they must not only be ready to scale up, but also scale down as workloads diminish in order to not run up the cost of deploying in the cloud.
B. Availability: Whether the application serves the users of social networking sites or it manages the supply chain for a large manufacturing company, users of Internet applications expect them to be up and running every minute of every day. C. Reliability: The emphasis on reliability has shifted over time. When large applications meant large symmetric multiprocessing systems, reliability meant that system components rarely fail and can be replaced without disruption when that does. Today, reliability means that applications do not fail and most importantly that do not lose data.
D. Security: Applications need to provide access only to authorized, authenticated users, and those users need to be able to trust that data is secure. This is true whether the application helps individual users on the Internet prepare to tax returns, or whether the application exchanges confidential information between a company and its suppliers. Security in today’s environments is established using strong authentication, authorization, and accounting procedures, establishing security of data at rest and in transit, and application software.
E. Flexibility and agility: These characteristics are increasingly important, as business organizations find themselves having to adapt even more rapidly to changing business conditions by increasing the velocity at which applications are delivered into customer hands. Cloud computing stresses getting applications to market very quickly by using the most appropriate building blocks to get the job done rapidly.
F. Serviceability: Once an application is deployed, it needs to be maintained. In the past this meant using servers that could be repaired without, or with minimal, downtime. Today it means that an application’s underlying infrastructure components can be updated or even replaced without disrupting its characteristics including availability and security. G. Efficiency: Efficiency is the point of cloud computing, and if an application can’t be deployed in the cloud quickly and easily, while benefitting from the pay-by-the-sip model, it may not be a good candidate. Enterprise resource planning applications, for example, may be best suited to vertically scaled systems and provided through SaaS in the near term. Applications that extract, manipulate, and present data derived from these systems, however, may be well suited to deployment in the cloud.
V. Conclusion
Cloud computing provides new opportunities for individuals and business leaders to make more meaningful contributions. Cloud computing provides enterprise organizations with opportunities to achieve greater agility and far better resource utilization. Organizations need not take an all or nothing approach to cloud computing, but by evaluating the application portfolios, many organizations will be able to use cloud capabilities to better meet business demands. Cloud computing should empower top designers, application architects, and IT professionals to test these capabilities now by deploying well-suited new projects and by migrating appropriate existing applications . Many organizations are already learning how to exploit cloud capabilities to respond more rapidly and intelligently to changing conditions. Virtualization and encapsulation hides implementation details and refocuses developers on the interfaces and interactions between components. These components should provide standard interfaces so that developers can build applications quickly and easily as well as use alternate components with similar functionality as performance or cost dictates. Application deployment is done programmatically, and even the programs that deploy applications can be encapsulated so that can be used and re-used. Web infrastructure could be encapsulated so that its parameters would include pointers to virtual machine images for the Web server, business logic. The cloud computing philosophy for application maintenance is not to patch, but redeploy. It’s relatively easy to solve problems discovered after deployment, or release new versions of the application by updating the component virtual machines.
Reference
[1] R. Sean Cunningham President June 1, 2010 ©Logic20/20, Inc. 2010.
[2] ―Introduction to cloud Computing Architecture‖, Sun, White Paper, 1st Edition, Jun 2009
[3] ―Introduction to Cloud Computing‖, White Paper, Dialogic® Making Innovation ThriveTM
June - 2013, pp. 1151-1155
[5] A.V. Konstantinou et al., ―An architecture for virtual solution composition and deployment in infrastructure clouds‖, 3rd International Workshop on Virtualization Technologies in Distributed Computing, Barcelona, Spain, June 2009.
[6] M.A. Vouk, ―Cloud computing — issues, research and implementations‖, Journal of Computing and Information
Technology 16 (4) (2008) 235–246.
[7] Vincent Biddlecombe, ―How One Company Used Virtualization to Lower the Cost of Disaster Recovery‖ , CIO
June 26, 2008.
[8] N. Chohan et al., AppScale: ―Scalable and open AppEngine application development and deployment‖, ICST International Conference on Cloud Computing, Bangalore, India, September 2009.
[9] A. Dubey, D. Wagle, ―Delivering software as a service‖, The McKinsey Quarterly (May 2007) 1–12.
[10] http://open.blogs.nytimes.com/2007/11/01/self-serviceprorated-super-computing-fun/ [11] Cloudera, Hadoop: training and support [online]. Available from: http://www.cloudera.com/.
[12] J. Dean, And Ghemawat, S. Mapreduce: ―Simplified data processing on large clusters.‖ In OSDI’04: Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation (Berkeley, CA, USA, 2004), USENIX Association, pp. 10–10.
[13] A. Bialecki, M. Cafarella, D. Cutting, And O’malley, O. Hadoop: ―A framework for running applications on large clusters built of commodity hardware.‖ Wiki at http://lucene. apache. org/hadoop.
[14] W3C, Web Services Glossary [cited 2009 April 3]; Available from: http://www.w3.org/TR/ws-gloss/.
[15] OpenNebula: Sotomayor, B; Montero, RS; Llorente, IM & Foster, I (2009), ―An Open Source Solution for Virtual Infrastructure Management in Private and Hybrid Clouds‖, IEEE Internet Computing, Special Issue on Cloud Computing, October 09
[16] IDC Survey (2012), available at http://www.idc.com/prodserv/idc_cloud.jsp (accessed on 20 March 2012). [17] R. Buyya, C.S. Yeo, and S. Venugopal, ―Market-oriented cloud computing: Vision, hype, and reality for
delivering it services as computing utilities‖, Proceedings of 10th IEEE International Conference on High Performance Computing and Communications, 2008. (HPCC’08), pp. 5–13.
[18] W. John Rittinghouse, F. James Ransome, ―Cloud computing Implementation, Management, and security‖, CRC Press pp. 183-193.
[19] P. Mell, T. Grance, Draft NIST Working Definition of Cloud Computing. National Institute of Standards and Technology. June 2009.
[20] Amazon, EC2, S3, Pricing (2009), Amazon EC2 Developer Guide (2006).
[21] D.E. Atkins et al., ―Revolutionizing Science and Engineering through Cyber infrastructure.‖ NSF, Report of the National Science Foundation Blue-ribbon Advisory Panel on Cyber infrastructure, January 2003. http://www.nsf.gov/od/oci/reports/atkins.pdf
[22] ―The Economics of the cloud‖, Microsoft White Paper, Nov 2010
[23] W.K. Chan,T.H. Tse, Lijun Mei, ―A Tale of Clouds: Paradigm Comparisons and Some Thoughts on Research Issues‖,2008 IEEE Asia-Pacific Services Computing Conference (APSCC 2008),IEEE computer Society Press, Los Alamitos, CA (2008).