Cloud computing is a computing paradigm, where a large pool of systems is connected in private or public networks, to provide dynamically scalable infrastructure for application, data, and file storage. In the simplest terms, cloud computing is storing data and programs over the Internet instead of storing them in a computer’s hard drive. “The cloud” refers to servers that are accessed over the Internet, and the software and databases that run on those servers. Cloud servers are located in data centers all over the world. By using cloud computing, users and companies don’t have to manage physical servers themselves or run software applications on their machines.
Cloud computing is a practical approach to experience direct cost benefits. It can transform a data center from a capital-intensive set up to a variable priced environment. Cloud computing customers do not own the physical infrastructure, rather they rent the usage from a third-party service provider i.e., consume services and pay only for the resources that they use.
Cloud Computing Models
Cloud computing is offered in three different service models which each satisfy a unique set of business requirements. These three models are known as Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).
Software as a Service (SaaS)
Software as a Service offers applications that are accessed over the web and are not managed by your company, but by the software provider. It is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as “on-demand software”, and was formerly referred to as “software plus services” by Microsoft. SaaS applications are also known as Web-based software, on-demand software, and hosted software.
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. There is no need for upfront investment in servers or software licenses on the customers’ side, 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, Salesforce, Microsoft, Zoho, etc.
Infrastructure as a Service (IaaS)
Infrastructure as a service (IaaS) is a form of cloud computing that provides virtualized computing resources over the internet. They are online services that provide high-level APIs used to dereference various low-level details of underlying network infrastructure like physical computing resources, location, data partitioning, scaling, security, backup, etc.
IaaS provides basic storage and computing capabilities as standardized services over the network. Servers, storage systems, networking equipment, data center space, etc. are pooled and made available to handle workloads. The customer would typically deploy his software on the infrastructure. Some common examples are Amazon, GoGrid, 3 Tera, etc.
Platform as a Service (PaaS)
Platform as a Service is halfway between Infrastructure as a Service (IaaS) and Software as a Service (SaaS). It offers access to a cloud-based environment in which users can build and deliver applications without the need of installing and working with IDEs (Integrated Development Environments, which are often very expensive).
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 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, etc are some of the popular PaaS examples.
Public, Private and Hybrid Clouds
Enterprises can choose to deploy applications on Public, Private or Hybrid clouds. Cloud Integrators can play a vital part in determining the right cloud path for each organization.
Public Cloud
The public cloud is defined as computing services offered by third-party providers over the public Internet, making them available to anyone who wants to use or purchase them. It uses the standard cloud computing model to make resources – such as virtual machines, applications, or storage – available to users remotely. Public cloud services may be free or offered through a variety of subscription or on-demand pricing schemes, including a pay-per-usage model.
Examples: Amazon Elastic Cloud Compute(EC2), Google App Engine, Blue Cloud by IBM, and Azure services Platform by Windows.
Private Cloud
A private cloud is a server, data center, or distributed network wholly dedicated to one organization. Private clouds are built exclusively for a single enterprise. They aim to address concerns on data security and offer greater control, which is typically lacking in a public cloud. There are two variations to a private cloud:
- On-premise Private Cloud: On-premise private clouds, also known as internal clouds are hosted within one’s own data center. This model provides a more standardized process and protection but is limited in aspects of size and scalability. IT departments would also need to incur the capital and operational costs for the physical resources. This is best suited for applications that require complete control and configurability of the infrastructure and security.
- Externally hosted Private Cloud: This type of private cloud is hosted externally with a cloud provider, where the provider facilitates an exclusive cloud environment with a full guarantee of privacy. This is best suited for enterprises that don’t prefer a public cloud due to sharing of physical resources.
Examples: HP Data Centers, Microsoft, Elastra-private cloud, and Ubuntu
Hybrid Cloud
Hybrid cloud is an IT infrastructure that connects at least one public cloud and at least one private cloud, and provides orchestration, management, and application portability between them to create a single, flexible, optimal cloud infrastructure for running a company’s computing workloads. Hybrid cloud architectures help organizations integrate their on-premises and cloud operations to support a broad spectrum of use cases using a common set of cloud services, tools, and APIs across on-premises and cloud environments.
Examples: Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP)
Benefits of Cloud Computing
- Flexible and Scalable: One of the major benefits of cloud computing for any business which has opted for cloud computing can increase or decrease the bandwidth as per requirement. The cloud is not constricted to low bandwidths, and unlike the conventional in-house technical infrastructure, it is flexible enough to allow business owners to engage in last-minute changes and still have the ease of work.
- Reduced Infrastructure Cost: Moving to the cloud reduces the cost of managing and maintaining servers. Cloud computing eliminates the need to invest in servers and software. Cloud also reduces the overhead costs like IT Staff, power, data storage, and bandwidth.
- Mobility: The omnipresence of the cloud marks mobility as its prime feature. With the help of cloud connection, companies can connect remotely over an array of devices like smartphones, iPad, and Laptops with ease. Remote accessibility enables quick turnaround time, instant solutions, and constant connection. It is perfect for freelancers, remote employees, organizations with offices in different locations and different sectors.
- Automated Updates on Software: In cloud computing, the server suppliers regularly update your software including the updates on security, so that you do not need to agonize on wasting your crucial time on maintaining the system. With automatic software updates and cyclic upgrades, users can now focus their time & energy on work.
- Enhanced Collaboration: Cloud computing guarantees ease of access and remote accessibility, which makes it an instant hit to the technical world. Cloud applications enhance collaboration by authorizing diverse groups of people to virtually meet and exchange information with the help of shared storage. Such capability helps in improving the customer service and product development and also reducing the marketing time.
Cloud Computing Challenges
With all these benefits come the challenges of Cloud Computing. Data Security is a crucial element that warrants scrutiny. Enterprises are reluctant to buy an assurance of business data security from vendors. They fear losing data to competition and the data confidentiality of consumers. In many instances, the actual storage location is not disclosed, adding to enterprises’ security concerns.
In some of the European countries, Government regulations do not allow customer’s personal information and other sensitive information to be physically located outside the state or country. To meet such requirements, cloud providers need to set up a data center or a storage site exclusively within the country to comply with regulations. Having such an infrastructure may not always be feasible and is a big challenge for cloud providers.
Every time a company moves data from the internal storage to a cloud, it is faced with being compliant with industry regulations and laws. For example, healthcare organizations in the USA have to comply with HIPAA (Health Insurance Portability and Accountability Act of 1996), public retail companies have to comply with SOX (Sarbanes-Oxley Act of 2002), and PCI DSS (Payment Card Industry Data Security Standard).
Cloud computing marks the beginning of a new era in information and communication technology as it brings with it an evolutionary paradigm that can change how computing was done. In conclusion, cloud computing is a recent technological development that has the potential to have a great impact on the world. It has many benefits that it provides to its users and businesses. It reduces operating costs by spending less on maintenance and software upgrades and focuses more on the businesses.
But there are other challenges cloud computing must overcome. These challenges include security, privacy and reliability of data, consistency in the availability of services, interoperability issues due to unstandardized application programming interfaces which are unique to different service providers, issues in assessment and implementation of cloud computing, high costs of data transfers, and bugs in large-scale distributed systems.
Cloud computing as a recent technology is still at a nascent stage of its development. There is still so much potential that can be realized due to ongoing research and development in this regard.