Cloud Computing

Cloud Computing

Cloud Computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them. The concept incorporates technologies that have the common theme of reliance on the Internet for satisfying the computing needs of the users. Cloud Computing services usually provide applications online that are accessed from a web browser, while the software and data are stored on the servers.

Companies or individuals engaging in Cloud Computing do not own the physical infrastructure hosting the software platform in question. Instead, they avoid capital expenditure by renting usage from a third-party provider (except for the case of 'Private Cloud' - see below). They consume resources as a service, paying instead for only the resources they use. Many Cloud Computing offerings have adopted the utility computing model, which is analogous to how traditional utilities like electricity are consumed, while others are billed on a subscription basis.

The Opportunity for Cloud Computing

The growing market offering Cloud-based solutions is particularly broad, coming either from big worldwide companies such as Amazon, Google, Microsoft, IBM, etc., and from smaller but equally agile companies such as, GoGrid, Mosso, Enomaly, Bungee Labs Connect, LongJump, Coghead, and others.

The last years have seen increased activity, with Google, IBM, and a number of universities embarking on a large scale Cloud Computing research project. The term started gaining popularity in the mainstream IT literature, and numerous Cloud Computing events had been scheduled in many important symposiums all over the world.

The models that are currently used to offer Cloud Computing solutions, may be layered as:

  • Software as a Service (SaaS): is a model of software deployment whereby a provider licenses an application to customers for use as a service on demand. SaaS software vendors may host the application on their own web servers or they may rent IaaS and/or PaaS from others. Examples of SaaS vendors include Microsoft, Salesforce, Intuit Quickbase, and Google Apps which provide common business applications online that are accessed from a web browser, while the software and data are stored in the cloud.
  • Platform as a Service (PaaS): PaaS provides the Application Framework-as-a-service layer upon which software applications can be securely and reliably built. Industry Analyst firm Forrester describes PaaS as "an externally hosted service that provides a complete platform to create, run, and operate applications. It includes dev tools, admin & mgmt tools, run-times, data mgmt engines, security facilities, and user mgmt services; and based on internet protocols and patterns."
  • Infrastructure as a Service (IaaS): is the delivery of computer infrastructure (typically a platform virtualization environment) as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy these resources as a fully outsourced service. The service is typically billed on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. It is an evolution of web hosting and virtual private server offerings.

    One of the most successful cases is the well known Amazon EC2. It is a commercial web service that allows customers to rent computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a web services interface through which a customer can create virtual machines containing any software of their choice. This allows the customer to create, launch, and terminate server instances as needed, paying by the hour for active servers (hence the term "elastic").

The main advantage offered by those solutions is the reduction of infrastructure costs, and of the infrastructure's maintenance. By not owning the hardware and software, Cloud users avoid capital expenditure by renting usage from a third-party provider. Customers pay for only the resources they use. The advantage for the provider of the Cloud, is that sharing computing power among multiple tenants improves utilization rates, as servers are not left idle, which can reduce costs and increase efficiency.

Public cloud

Public cloud or external cloud describes cloud computing in the traditional mainstream sense, whereby resources are dynamically provisioned on a fine-grained, self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who shares resources and bills on a fine-grained utility computing basis.

Private cloud

Private cloud and internal cloud describe offerings deploying cloud computing on private networks. These solutions aim to "deliver some benefits of cloud computing without the pitfalls", capitalizing on data security, corporate governance, and reliability concerns. On the other hand, users still have to buy, deploy, manage, and maintain them, and as such do not benefit from lower up-front capital costs and less hands-on management.

Architecture

The majority of cloud computing infrastructure, today, consists of reliable services delivered through data centers and built on servers with different levels of virtualization technologies. The services are accessible anywhere that has access to networking infrastructure. The Cloud appears as a single point of access for all the computing needs of consumers. The offerings need to meet the quality of service requirements of customers and typically offer service level agreements, and, at the same time proceed over the typical limitations.

The architecture of the computing platform proposed by NICE (fig. 1) differs from the others in some interesting ways:

  • you can deploy it on an existing IT infrastructure, because it is completely decoupled from the hardware infrastructure

  • it has a high level of modularity and configurability, resulting in being easily customizable for the user's needs

  • based on the NICE EnginFrame technology, it is easy to build graphical web-based interfaces to provide several applications, as web services, without needing to code or compile source programs

  • it utilises the existing methodology in place for authentication and authorization

Further, because the NICE Cloud solution is built on advanced IT technologies, including virtualization and workload management, the execution platform is dynamically able to allocate, monitor, and configure a new environment as needed by the application, inside the Cloud infrastructure. The NICE platform offers these important properties:

  • Incremental Scalability: the quantity of computing and storage resources, provisioned to the applications, changes dynamically depending on the workload

  • Reliability and Fault-Tolerance: because of the virtualization of the hardware resources and the multiple redundant hosts, the platform adjusts the resources needed from the applications, without disruption during disasters or crashes

  • Service Level Agreement: the use of advanced systems for the dynamic allocation of the resources, allows the guarantee of service level, agreed across applications and services;

  • Accountability: the continuous monitoring of the resources used by each application (and user), allows the setup of services that users can access in a pay-per-use mode, or subscribing to a specific contract. In the case of an Enterprise Cloud, this feature allows costs to be shared among the cost centers of the company.

Find out more about the CloudFrame solution - already deployed by major Service Provider and software companies, to power their paid, public cloud offerings.