Punjab

In this paper we will discuss Outsourcing is the commissioning of a third party (or a number of third parties) to manage a client organization’s IT assets, people and/ or activities to required results. Business process outsourcing (BPO) is a more comprehensive definition of the current situation within the outsourcing domain.  BPO has become increasingly interesting as more and more business processes are commoditized and thus easier to be hosted by an external party. Cloud Computing has all the attributes and potential to support a global BPO environment. These attribute are: virtualization, service oriented architecture (SOA), utility based pricing and grid computing. Cloud Computing involves the movement of IT services – application, infrastructure and platform – onto the Internet and deployment models. Because of the high availability, high bandwidth and the increased use of the Internet it has become easier to access a variety of services, traditionally originating from within a company’s data center.


INTRODUCTION
A recent phenomenon in the domain of outsourcing is called Cloud Computing. "Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs" (Vaquero, 2009). This means actually that more and more IT servicesapplications and technologyare outsourced to external vendors over the Web, which eventually will lead to a change in the traditional business modelwhere IT is in-house organized to a virtual enterprise. This virtual enterprise, based on mainly Cloud services, could be the future perspective. Meanwhile organizations are looking into business process outsourcing (BPO), which involves the delegation of an entire business process to a third party provider, including its supporting services There are generally three types of IT services which an organization can send into a cloud environment, namely: PaaS (platform as a service), SaaS (software as a service) and IaaS (Infrastructure as a Service)This research will address the most significant differences between them and provide the basic architecture and layers of the Cloud Computing modelA Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more Unified Computing resources based on service-level agreement established through negotiation between the service provider and consumers. Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services (Software as a Service) The datacenter hardware and software is what we will call a Cloud. When a Cloud is made available in a pay-as-you-go manner to the public, we call it a Public Cloud; the service being sold is Utility ComputingResearchers propose a three way model for provision and usage of "cloud Services", that could also be seen as recursive in case of mash-up provider that is a cloud user of another platform at the same time:

TECHNOLOGIES PRINCIPLES
The concept of Cloud Computing is based on a collection of many old and few new concepts in several research fields like Service-Oriented Architectures (SOA), distributed and grid computing as well as virtualization

Service-oriented Architecture
Service-oriented Architecture refers to a modular design principle in Software architecture. Service-orientation aims at separating individual functions into distinct units or "services", that could be accessed, e.g. via a network, by developers to integrate them in a reusable manner in their applications.SOA is an architecture model,not a technology itself. SOA is an architectural concept that aims to achieve loose coupling between service requester and service provider, by means of well-defined technology-agnostic contracts supporting interoperability of services independent of operating systems, programming languages or any other technology specifics that underlie applications, supporting the implementation and delivery of services

Distributed and Grid Computing
Distributed computing is a technique where computing tasks are processed by a collection of networked computers and therefore can be seen a cluster of computers Grid computing creates a fast virtual computer from a network of computers by using their idle cycles.Even though grid computing is an important successor to distributed computing, the computing environments are essentially different. For distributed computing, resources are homogeneous and are reserved, leading to guaranteed processing capacity. On the other hand, grid environments are highly unpredictable. The computers are heterogeneous, their capacities are typically unknown and changing over time, and they may connect and disconnect from the grid at any time

Virtual Organization
A virtual organization (VO) is a dynamic group of individuals, groups, or organizations who define the conditions and rules for sharing resources. The concept of the VO is the key to grid computing. All VOs share some characteristics and issues, including common concerns and requirements that may vary in size, scope, duration, sociology, and structure.The members of any VO negotiate the sharing of resources based upon the rules and conditions defined by the VO, and the members then share the resources in the VOs constructed resource pool.The concept of a VO is quite flexible in practice.

Utility Computing
Utility computing proposes to allow clients to buy computing capacity as they do electricityjust by plugging in or out. For users of this utility computing principle, the cost is variable and based on the actual capacity they require, rather than a fixed cost for a capacity they only use during peak periods. Users can get the capacity they need whenever they need it, without expending resources and effort to frequently monitor and upgrade capacity. Cloud Computing is the sum of SaaS and Utility Computing, but does not normally include Private Clouds This means that when a "Cloud" is made available in a utility based manner to the general public, it is called it is called a public Cloud. However, a private Cloud is managed by the organization itself and refers to an internal data center which is not available to the general public A Cloud environment is by definition a self-serving service, in which the end users develop, deploy and run applications with minimum or even without Cloud administrator help .By a Cloud, we mean an infrastructure that provides resources and/or services over the Internet 2009).

SERVICE MODELS
The Cloud architecture can be split up in three main layers, namely: infrastructure, platform and software.

Infrastructure as a service
Infrastructure as a Service (IaaS) is the delivery of hardware (server, storage and network), and associated software (operating systems virtualization technology, file system), as a service. Through virtualization, infrastructure providers are able to split, assign and dynamically resize these resources to build ad-hoc systems as demanded by customers . The IaaS provider does very little management other than keep the data center operational. The users must deploy and manage the software themselves. The main difference is that data is not stored on the servers which an organization owns by itself, but stored on servers in datacenters of third party service providers.

Platform as a Service (PAAS)
Platforms are an abstraction layer between the software applications (SaaS) and the virtualized infrastructure (IaaS). In a Cloud platform arrangement the provider operates the whole computing platform or operating system for the customer which is accessed over the Web. This model makes all of the facilities and services required to support the complete life cycle of building and delivering applications entirely available as an integrated suite from the internet. Therefore platform as a service means that Cloud providers supply the software platform where systems run on. Developers can write their applications according to the specifications of a particular platform without needing to worry about the underlying hardware infrastructure (IaaS).Developers upload their application code to a platform, which then typically manages the automatic up scaling when the usage of the application Grows.

Software as a Service (SAAS)
Software as a Service solutions are at the top end of the Cloud Computing stack and they provide end users with an integrated service comprising hardware, development platforms, and applications.In the software as a service model, the application, or service, is deployed from a centralized data center across the Web, providing access and use on a recurring fee basis. SaaS is accessed by a web-portal and is often based on the concept of utility computing, which means the organizations pays for the resources they are actually using. The next table provides an overview of the different Cloud service models as described above and states out the main current commercial vendors in the market environment Table 1

-Commercial providers (Vecchiola, Pandy, & Buyya, 2009
These different categories of service models in Cloud computing might not all be that emerging in the future as they might look. The IaaS and the SaaS layer will provide most of the sourcing solutions looking at a recent market analysis of Pierre Audoin Consultants (PAC).

5.ACTORS AND MARKET ORIENTATION
The Cloud service user is the most important actor due to the fact that they are the trigger of Cloud services.An organization that is willing to outsource IT services to a Cloud service provider defines the requirements for the Cloud service and the underlying actors are dependent on these requirements in order to develop this service.
There are three categories of users which we can identify in the cloud hierarchy

Cloud Service Provider
Service providers or developers are responsible for the development of Cloud services as well as the maintenance of them, with the remark that this is always covered by service level agreements. Service providers develop and integrate system hardware, storage, networks, interfaces, administration and management software, communications and scheduling algorithms, services authoring tools, workflow generation and resource access algorithms and software, and so on.Amazon has been the first mover in the field of Cloud service providers, providing access to developers by way of Amazon Web Services (initially developed for internal purposes)

Resource allocator
When an organization decides to outsource one or more IT services (infrastructure, platform or software) into a Cloud environment one should expect some coordination between the Cloud service user and provider. The services developed by the service providers are probably not one-to-one applicable into an organization.
The resource allocator forms the link between the developer and the user. Appendix A provides a schematic overview of this architecture, which states out the role of the resource allocator in relation with the Cloud service user and provider.. The resource management structure has to be changed in order to regulate the supply and demand of Cloud resources. System-centric is a traditional approach to resource management that attempts to optimize system-wide measure of performance and is commonly used in managing resources in single administrative domains.

Cloud Service User
1. End consumers, who mainly use the service of the SAAS layer over a Web browser and basic offerings of the IaaS layer as for example storage for data resulting from the usage of the SaaS layer.
2. Business customers that might access all three layers: the IaaS layer in order to enhance the own infrastructure with additional resources on demand, the PaaS layer in order to be able to run own applications in a Cloud and eventually the SaaS layer in order to take advantage of available applications offered as a service.
3. Developers and Independent Software Vendors that develop applications that is supposed to be offered over the SaaS layer of a Cloud. Typically, they directly access the PaaS layer, and through the PaaS layer indirectly access the IaaS layer, and are present on the SaaS layer with their application.

DEPLOYEMENTS MODELS
Clouds are often defined as public (i.e. external), private (i.e. internal) or hybrid (a combination thereof). There are three types of clouds defined in deployment models GoGrid Nirvanix www.ijctonline.com definitely based on the concept of utility computing. Cloud service providers charge an organization for the capacity provisioned at a particular time. The advantage of a public Cloud is that resources aren"t wasted; however they have the disadvantage of hosting data in an offsite organization outside the legal and regulatory set of rules of the organization that is using the Cloud.

Private Cloud
A private Cloud aims to emulate a public Cloud on private/ internal resources while maintaining control over an organization"s resources and data. It therefore aims to provide the benefits of Clouds (elasticity, dynamic provisioning, multiplexing) while meeting security and governance requirements in the organization.
In other words, the infrastructure for implementing the Cloud is controlled completely by the organization itself. Many enterprises are focused on building "private Clouds" until some of the security, control and terms of service of public Cloud Computing are clear.The key advantage of a Private Cloud is to gain all advantages of virtualization, while retaining full control over the infrastructure.

Hybrid cloud
A hybrid Cloud is a combination of private, or internal, and external Cloud resources that enables outsourcing of non critical functions whilst keeping the remainder internal. The key functionality is the ability to use and release resources from public Clouds as and when required . The hybrid model has the implication that it requires close coordination between the public and the private Cloud. The picture below provides an overview of a Cloud environment; it involves multiple Clouds working together, including both public and private Clouds. It makes clear the private Cloud use case is different from the others in that the Cloud is contained with in the enterprise.

INTEROPERABILITY
Cloud providers, which are currently the established big players is the IT supply market, are all developing their own kind of Cloud servicesThe most obvious reason would be that they are not willing to stay behind in the technological developments towards Cloud Computing.
However, this will eventually lead to less standardized and thus less interoperable services. Like web services have lead to the standardization of communication and increased interoperability in the enterprise application integration (EAI) domain) there is no such standardization in the Cloud Computing domain. Contemporary Cloud technologies have not been designed with interoperability in mind.The integration and advances in interoperability of Clouds might be an important factor for the future success of Cloud Computing. Open standards and interoperability among Private and Public Clouds enable a higher flexibility for user companies.