Monday, August 1, 2016

CLOUD COMPUTING






 “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Five essential characteristics of cloud computing

The essential characteristics can be elaborated as follows:

On-demand self-service: Users are able to provision cloud computing resources without requiring human interaction, mostly done though a web-based self-service portal (management console).

• Broad network access: Cloud computing resources are accessible over the network, supporting heterogeneous client platforms such as mobile devices and workstations.

• Resource pooling: Service multiple customers from the same physical resources, by securely separating the resources on logical level.

Rapid elasticity: Resources are provisioned and released on-demand and/or automated based on triggers or parameters. This will make sure your application will have exactly the capacity it needs at any point of time.

Measured service: Resource usage are monitored, measured, and reported (billed) transparently based on utilization. In short, pay for use



Cloud Design Objectives

The following list highlights six design objectives for cloud computing:

Shifting computing from desktops to data centers Computer processing, storage, and software delivery is shifted away from desktops and local servers and toward data centers over the Internet.

Service provisioning and cloud economics Providers supply cloud services by signing SLAs with consumers and end users. The services must be efficient in terms of computing, storage, and power consumption. Pricing is based on a pay-as-you-go policy.

Scalability in performance The cloud platforms and software and infrastructure services must be able to scale in performance as the number of users increases.

Data privacy protection Can you trust data centers to handle your private data and records? This concern must be addressed to make clouds successful as trusted services.

High quality of cloud services The QoS of cloud computing must be standardized to make clouds interoperable among multiple providers.

New standards and interfaces This refers to solving the data lock-in problem associated with data centers or cloud providers. Universally accepted APIs and access protocols are needed to provide high portability and flexibility of virtualized applications.


Cloud deployment models

            Deployment models define the type of access to the cloud. ie., how the cloud is located. Cloud can have any of the four types of access: Public, Private, Hybrid and Community.









Public cloud

 Private Cloud


Hybrid Cloud

Community Cloud
Cloud Computing Models




Software as a Service (SaaS): The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

In this model, a complete application is offered to the customer, as a service on demand. A single instance of the service runs on the cloud & multiple end users are serviced. On the customer’s side, there is no need for upfront investment in servers or software licenses, while for the provider, the costs are lowered, since only a single application needs to be hosted & maintained. Today SaaS is offered by companies such as Google (Gmail and docs), Salesforce(CRM software), Microsoft(sharepoint), Zoho, etc.

Characteristics of SaaS

• Web access to commercial software

• Software is managed from a central location

• Software delivered in a “one to many” model

• Users not required to handle software upgrades and patches

• Application Programming Interfaces (APIs) allow for integration between different pieces of software             



Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.

Here, a layer of software or development environment is encapsulated & offered as a service, upon which other higher levels of service can be built. The customer has the freedom to build his own applications, which run on the provider’s infrastructure. To meet manageability and scalability requirements of the applications, PaaS providers offer a predefined combination of OS and application servers, such as LAMP platform (Linux, Apache, MySql and PHP), restricted J2EE, Ruby etc. Google’s App Engine, Force.com, Microsoft Azure etc are some of the popular PaaS examples.

Characteristics of PaaS

• Services to develop, test, deploy, host and maintain applications in the same integrated development environment. All the varying services needed to fulfil the application development process

• Web based user interface creation tools help to create, modify, test and deploy different UI scenarios

• Multi-tenant architecture where multiple concurrent users utilize the same development application

• Built in scalability of deployed software including load balancing and failover

• Integration with web services and databases via common standards

• Support for development team collaboration – some PaaS solutions include project planning and communication tools

• Tools to handle billing and subscription management



Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).

IaaS provides basic storage and computing capabilities as standardized services over the network. Servers, storage systems, networking equipment, data centre space etc. are pooled and made available to handle workloads. The customer would typically deploy his own software on the infrastructure. Some common examples are Amazon EC2, GoGrid, Rackspace cloud, etc.

Characteristics of IaaS

• Resources are distributed as a service

• Allows for dynamic scaling

• Has a variable cost, utility pricing model

• Generally includes multiple users on a single piece of hardware




Advantages of Cloud Computing:


Let us go thru some of the advantages of cloud computing both from the perspective of the enterprise and the end users:

  • Cost Efficiency – This is the biggest advantage of cloud computing. Cloud computing eliminates the investment cost on standalone servers and respective software. Enterprises can save on license cost and the time required setting up these servers. Also the cloud infrastructure takes up the maintenance job of these servers and also up-gradation of the software required on these servers.
  • Convenience and continuous availability – The services offered by public cloud are available over the internet and can be accessed from anywhere. Users across different time zones and in geographic locations can access easily to these services. Cloud also guarantees continuous availability of these services.
  • Backup and Recovery – Cloud computing simplifies the process of backing up data and their recovery as the data resides on cloud and not on a physical device. Different service providers offer reliable and flexible backup/recovery solutions.
  • Environment Friendly – The cloud infrastructure requires less resource to compute than the typical IT infrastructure. In this approach, only the resources which are truly required are consumed by the system.
  • Scalability and Performance – Scalability is one of the major aspects of today’s applications which come as a built in feature for cloud deployments. These instances are dynamically deployed as and when required. Another feature – elasticity helps us to scale up or scale down depending upon our needs. As a consumer we have to pay only for the applications and the storages which we need.

Cloud based systems use the distributed architecture which offers excellent speed of computations.  Also it is the responsibility of the service provider to ensure that the services run on high end machines. Instances can be added or removed instantly as a when required.

  • Faster Deployment and simple Integration – One of the biggest advantages of a cloud based system is that it can be easily setup in a very short period. Addition of new instances is instantly done. In a cloud environment, software can easily be integrated. Hence minimum effort is required to customize and integrate the applications.
  • Storage Capacity – Cloud offers increased storage capacity as it can accommodate and store more data in comparison to a personal computer since it has almost unlimited storage capacity. Thus the worry of running out of space is ruled out and as a consumer we do not have to think of upgrading the hardware.
  • Device Diversity and Location independence – The services offered by cloud computing can be accessed by an array of devices which have access to internet ranging from traditional computers to smart phones, tablets etc. As an end user, we have the freedom of not just accessing these services from any device but also from any location.
  • On top of all these, the learning curve of cloud computing is very small.

Disadvantages of Cloud Computing:


Having discussed about some of the advantages of cloud computing, let us now talk of some of the disadvantages of cloud computing:

  • Security and Privacy – Security and privacy are the two main aspects when we talk about data. As we have seen that by outsourcing the IT infrastructure, the service consumer company gives away data that might be sensitive and confidential. The consumer company has to rely on the provider company to maintain the secrecy of their data. Data security is such a vital issue that all possible alternatives must be explored before taking the final call to implement cloud computing as the existence of the company could be in danger if any data goes out. At the same time, the cloud service providers must ensure the privacy of the data by protecting them from unauthorized access.
  • Dependency – Dependency is one of the major drawback of cloud computing. This is known as ‘vendor-lock-in‘ as it is almost impossible to migrate from cloud vendor to another because of the huge data migration. This may also lead to risking the security and privacy of data.
  • Downtime – Outage and downtime are the two important aspects on which even the best service provider of cloud computing can’t guarantee. Also we must keep in mind that the whole setup is internet based. Thus, any downtime on the internet side will lead to a connectivity issue.
  • Limited Control – Since the services run on a remote virtual environment, the service consumer party have less control over the hardware and the software.
  • Vulnerability – Even today, we know that how vulnerable is the public internet. In cloud computing since every component is available on the internet the risk of the entire environment being highly vulnerable to hackers and unwanted used is always there.


No comments:

Post a Comment