ABSTRACTWith the significant advances in Information and Communications Technology (ICT) over the last half-century, there is an increasingly perceived vision that computing will one day be the 5th utility (after water, electricity, gas, and telephony). This computing utility, like all other four existing utilities, will provide the basic level of computing service that is considered essential to meet the everyday needs of the general community. To deliver this vision, a number of computing paradigms have been proposed, of which the latest one is known as Cloud computing.
The Internet is commonly visualized as clouds; hence the term “cloud computing” for computation done through the Internet. Cloud computing promises increase innovation, and lower costs, all while increasing business agility. Cloud computing environment is driven by including the server, storage, network, and virtualization technology to the software that runs in virtual appliances. It can be used to assemble applications in minimal time. This paper discusses how cloud computing transforms the way we design, build, and deliver applications.
Customers can use open source Cloud Computing or commercial systems. Customers are billed, based upon server utlilisation, processing power and the bandwidth consumed. As a result, cloud computing has the potential to change the software industry entirely, as applications are purchased, licensed and run over the network instead of a user’s desktop. This change will put data centres and their administrators at the centre of the distributed network, as processing power, electricity, bandwidth and storage are all managed remotely. Cloud computing relies on a cloud platform that lets applications run and use services provided.
Cloud computing is a form of location-independent computing. Here the servers, resources, software and data are given as a service based on demand. The customers are not supposed to be an expert in the technology. This takes the form of web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer.
Most cloud computing infrastructures consist of services delivered through common centers and built on servers. Clouds often appear as single points of access for customer's computing needs. It is expected to meet the Quality of Service, requirements of customers and service level agreements.
With Cloud Computing users can access database resources via the Internet from anywhere, for as long as they need, without worrying about any maintenance or management of actual resources. Besides, databases in cloud are very dynamic and scalable. Cloud computing is unlike grid computing, utility computing, or autonomic computing. In fact, it is a very independent platform in terms of computing. The best example of cloud computing is Google Apps where any application can be accessed using a browser and it can be deployed on thousands of computer through the Internet.
Recent interest in Cloud Computing has been driven by new offerings of computing resources that are attractive due to per-use pricing and elastic scalability, providing a significant advantage over the typical acquisition and deployment of equipment that was previously required. The effect has been a shift to outsourcing of not only equipment setup, but also the ongoing IT administration of the resources as well.
WHAT IS CLOUD COMPUTING?
Cloud computing provides the facility to access shared resources and common infrastructure, offering services on demand over the network to perform operations that meet changing business needs. The location of physical resources and devices being accessed are typically not known to the end user. It also provides facilities for users to develop, deploy and manage their applications ‘on the cloud’, which entails virtualization of resources that maintains and manages itself.
LAYERS OF CLOUD:
SaaS - Software as a ServiceSaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet. Saas is generally used to refer to business software rather than consumer software, which falls under Web 2.0. By removing the need to install and run an application on a user’s own computer it is seen as a way for businesses to get the same benefits as commercial software with smaller cost outlay.SaaS can alleviate the burden of software maintenance and support but users relinquish control over software versions and requirements.
- Accessible from anywhere with an internet connection
- No local server installation
- Pay per use or subscription based payment methods
- Rapid scalability
- System maintenance (backup, updates, security, etc) often included in service
- Possible security improvements, although users with high security requirements (e.g., large corporations) may find SaaS a security concern
Daas – Data as a ServiceOver time many big Internet based companies have come to realise that only a small amount of their data storage capacity is being used. This has led to the renting out of space and the storage of information on remote servers or "clouds". Information is then temporarily cached on desktop computers, mobile phones or other internet-linked devices.
PaaS - Platform as a Service
Platform as a Service (PaaS) is the delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.
PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services may be provisioned as an integrated solution over the web.
- Developers can focus on development and innovation without worrying about the infrastructure.
- Developers only need a PC and an Internet connection to start building applications.
- The platform dynamically assigns resources to the right applications and users at the right time.
- The PaaS provider manages upgrades, patches, and other routine system maintenance.
- PaaS vendors frequently offer online communities where developers can get ideas, share best practices, and seek advice from others.
IaaS - Infrastructure as a Service
- Pay less if the application has a lower customer base and vice-versa.
- The number of resources at a given point of time can be controlled.
- The need for every company to maintain its own infrastructure is eliminated through IaaS.
- The power of IaaS brings the resources needed to service government and enterprise contracts to businesses of every size.
Types of cloud computing environments
Public cloudsThis environment can be used by the general public. This includes individuals, corporations and other types of organizations. Typically, public clouds are administrated by third parties or vendors over the Internet, and services are offered on pay-per-use basis. These are also called provider clouds. Business models like SaaS (Software-as-a-Service) and public clouds complement each other and enable companies to leverage shared IT resources and services.
- Public clouds are widely used in the development, deployment and management of enterprise applications, at affordable costs
- Allows organizations to deliver highly scalable and reliable applications rapidly and at more affordable costs
The cloud infrastructure is shared between the organizations of the same community. For example, all the government agencies in a city can share the same cloud but not the non government agencies.
This cloud computing environment resides within the boundaries of an organization and is used exclusively for the organization’s benefits.
These are also called internal clouds. They are built primarily by IT departments within enterprises who seek to optimize utilization of infrastructure resources within the enterprise by provisioning the infrastructure with applications using the concepts of grid and virtualization.
- They improve average server utilization, allow usage of low-cost servers and hardware while providing higher efficiencies; thus reducing the costs that a greater number of servers would otherwise entail
- High levels of automation, reducing operations costs and administrative overheads
Organizations host some critical, secure applications in private clouds. The not so critical applications are hosted in the public cloud. The combination is known as Hybrid Cloud.
There are number of security issues associated with cloud computing but these issues fall into two broad categories: Security issues faced by cloud providers (organizations providing Software-, Platform-, or Infrastructure-as-a-Service via the cloud) and security issues faced by their customers.
In most cases, the provider must ensure that their infrastructure is secure and that their clients’ data and applications are protected while the customer must ensure that the provider has taken the proper security measures to protect their information.
In order to ensure that data is secure (that it cannot be accessed by unauthorized users or simply lost) and that data privacy is maintained, cloud providers attend to the following areas:
To be considered protected, data from one customer must be properly segregated from that of another; it must be stored securely when “at rest” and it must be able to move securely from one location to another. Cloud providers have systems in place to prevent data leaks or access by third parties. Proper separation of duties should ensure that auditing and/or monitoring cannot be defeated, even by privileged users at the cloud provider.
Every enterprise will have its own identity management system to control access to information and computing resources. Cloud providers either integrate the customer’s identity management system into their own infrastructure, using federation or SSO technology, or provide an identity management solution of their own.
Physical and personnel security
Providers ensure that physical machines are adequately secure and that access to these machines as well as all relevant customer data is not only restricted but that access is documented.
Cloud providers assure customers that they will have regular and predictable access to their data and applications.
Cloud providers ensure that applications available as a service via the cloud are secure by implementing testing and acceptance procedures for outsourced or packaged application code. It also requires application security measures (application-level firewalls) be in place in the production environment.
Finally, providers ensure that all critical data (credit card numbers, for example) are masked and that only authorized users have access to data in its entirety. Moreover, digital identities and credentials must be protected as should any data that the provider collects or produces about customer activity in the cloud.
After so many years, Cloud Computing today is the beginning of “network based computing” over Internet in force. It is the technology of the decade and is e enabling element of two totally new computing models, the Client-Cloud computing and the Terminal-Cloud computing. These new models would create whole generations of applications and business. Our prediction is that it is the beginning to the end of the dominance of desktop computing such as that with the Windows. It is also the beginning of a new Internet based service economy: the Internet centric, Web based, on demand, Cloud applications and computing economy.
- Behind the Cloud: The Untold Story of How Salesforce.com Went from Idea to Billion-Dollar Company-and Revolutionized an Industry by the CEO of Salesforce Marc Benioff and Carlye Adler
- Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance (Theory in Practice) by Tim Mather focuses on Security related aspects in cloud computing.