Cloud is the commercial availability of individual computing services delivered remotely. The services include Desktops, storage, processing, networking, database, and other services.
ON DEMAND MODEL
The users are only charged for what they use. This helps the firm in reducing costs as it is expensive to purchase new software and hardware. The user is charged variably by the hour or subscription. The firm also has the flexibility to add or remove the services as per the requirement.
Cloud services do not replace the native hardware and software. They are delivered and used remotely by the means of internet.
The native hardware and software are called native resources. The services accessed over the internet are called remote services.
The firm's computing infrastructure includes the hardware, software, networks, facilities, and equipment related to the services. The firms can manage the infrastructure as needed. This is called managed infrastructure.
The services offered are sometimes so similar that it becomes difficult to know whether it is a local service or cloud service. The services such as disk, networking, memory can be identified easily.
The delivery of these cloud services is done remotely. The desktop services are offered through remote desktop connection. The cloud desktops are run from the native desktop itself.
It is the method of transfer of services to the user. Most of the cloud services are delivered in the same way. Virtualized hardware is part of the cloud provider's hardware allocated to the customers for a while. Virtual processing shares processing hardware, disk and storage, networking, desktop, and memory of the cloud provider.
The hypervisor is a product used by the cloud provider to allocate the resources to each consumer through a network address.
The cloud provider also offers a console to manage the firm's infrastructure.
One of the most popular cloud providers is Azure. Some of the services offered by them include Artificial Intelligence(AI), DevOps, IoT, Databases, Blockchain, and many more. Similarly, there are also many providers such as Amazon Web services(AWS) and IBM.
Cloud computing services are classified into four types namely SaaS, PaaS, IaaS, FaaS.
Let us learn about these things in a detailed manner.
Software as a Service(SaaS)
These are the services hosted by a third party that is made available through the internet. The process of delivering these services is by a subscription model. This method is more efficient than maintaining local services. It also eliminates the need to install, host, and maintain software products. It also delivers expertise and support.
Examples for SaaS are Quickbooks, Office 365, Salesforce.
Platform as a Service(PaaS)
PaaS is a developer offering that is used to run and develop software systems without the need for installing and maintaining software. It delivers middleware such as Java and .NET development networking, storage, virtual servers, Operating Systems(OS) for customer application.
All these environments come prepackaged with the latest and best tools for application development and maintenance. The main advantage of PaaS is that multiple operating systems development can be done at the same cost.
Examples for PaaS include Apache Stratos, AWS Elastic Beanstalk, Windows Azure, Heroku.
Infrastructure as a Service(IaaS)
It is the basic layer of computing that includes database services, hosting services, infrastructure services, network, and storage services. Generally, IT infrastructure requires large investments to deploy, maintain, and upgrade. IaaS makes it possible for organizations of any size to have the infrastructure of a large organization. It is most commonly used in the development and test environments.
Virtualization helps IaaS in maintaining consistency and managing hardware like software. It offers environments, disk space, memory to enable data backup and recovery. The resources for the same can also be modified as needed.
Function as a Service(FaaS)
FaaS is similar to PaaS(Platform as a Service). It also provides an application development environment. FaaS provides services dynamically and on-demand. These services are offered as runtime services. Users pay for the time the environment is used. The environment stops during idle time and no costs are incurred during the same. It processes the data, does not store them.
The disadvantage of FaaS is that it can be slow and startup is not immediate.
Examples for FaaS include AWS Lambda, Google Functions, Azure Function.
Disadvantages of Cloud Computing
Security can be an issue.
Data is under the control of the provider.
Dependent on the cloud provider.
Limited mobility of data from the provider.
Cloud computing has many deployment models. They are made flexible to cater to the needs of the users.
Private Deployment Model
A private deployment model is a model where the firm owns or has control over the data center providing the cloud services. The main disadvantage of cloud computing being the security issue can be overcome by this type of deployment model.
The private deployment model is of two types namely the Physical Private Cloud(PPC) and Virtual Private Cloud(VPC). The physical one is one that has physical custody over the data center. A Virtual one is the one where the user is allocated a dedicated set of resources that are delivered over the firm's network using a Virtual Private Network(VPN).
Amazon, IBM, Azure, Google all offer VPC facilities.
Public Deployment Model
The services are delivered over the internet. These are typically data centers located at safe locations with a proper backup facility.
Hybrid Cloud Deployment Model
It is a mixture of both public and private models. They are generally not offered directly by the provider but put together and managed by the firm. This is used as all the data is not required to be private or completely public. Some of the data can be public. This can mainly reduce the costs incurred. The private data in this type of service is managed by the hypervisor. The public one is mainly used for IaaS and provides computing and networking.
It is an architecture of arrayed computers or processors that work on the principle of parallel processing. A basic computer can run around 3 billion calculations per second whereas the HPC architecture allows running around 4 quadrillions of calculations per second.
Big Data Cloud
The term Big Data refers to analyze, extract information from large datasets. This requires very high computing power, data storage. Cloud can meet all these demands. This type of Big Data processing is done at hours when the users are not connected to the system. The generated output is stored in the data warehouse for further processing.
Bare Metal Computing
It refers to the computing where all the software required is installed on the native hardware. This is generally preferred for mobile workstations. In this type of computing, the firm should have the hardware to transform it. This is a fixed cost strategy. No Virtualization is needed but adding it improves efficiency.
Running Virtual Machines (VM) improves the efficiency of the existing hardware. In this case, the management of hardware to each virtual machine is done by a hypervisor. Using this, we can run many instances of an Operating System on bare-metal hardware.
DOCKER: Docker is an open-source Platform as a Service(PaaS) product that provides virtualized operating system environments called containers. These containers cannot run on their own. They require a single Operating System kernel called Docker Engine. The containers are independent of each other and each application can be hosted an individual container. The main advantage of this is that it is easier compared to a Virtual Machine.
KUBERNETES: Kubernetes is a PaaS product that can also be offered as IaaS. It automates the process of application development, scaling, and maintenance. It also supports Docker containers but is more complex. Its architecture is based not a structure called a pod. A pod contains containers as of docker. These pods are independent of their IP address. These pods make up the Kubernetes cluster.
It is a traditional model where all the hardware is controlled by the firm. All the services are delivered over the firm's network. It requires heavy investments and efforts. The firm itself manages the hypervisors and cloud services.
In this, the services including processing and storage are brought closer to the customer. This is required where the response time is critical such as gaming and IoT. In this, the content delivery of large data files is required that makes edge computing helpful.
COMPARING CLOUD PLATFORMS
Azure is a cloud offering from Microsoft. It went live in March 2014. It offers many services such as virtual computing, storage, backup, database, development, DevOps, Artificial Intelligence(AI). It offers Linux and Windows-based computing. It offers services for all enterprises ranging from small to large and huge firms. Azure offers an enriched console for managing its services. It also offers a mobile application for android as well as IOS based systems.
AMAZON WEB SERVICES(AWS)
AWS offers pay-as-you-go to most of the applications, as of Azure. It went live in 2006. It is popular for "Elastic Cloud Computing" that has been used by governments, Airbnb, Netflix, and many more. Its pricing is competitive and can fit any size. It also allows us to copy and run templated images. The services are offered using the AWS console. It offers varieties of IaaS, SaaS, PaaS, and FaaS.
GOOGLE CLOUD PLATFORM
It offers services similar to Azure and AWS. The console is also similar to AWS.
It wen live in 2010. Its offerings include IaaS, SaaS, PaaS, private cloud and virtual private, and Hybrid cloud. Data Analytics is a major offering. The console is different for each service due to many applications.
It delivers Customer Relationship Management(CRM) SaaS products. It was founded in 1999. It has expanded its services to include PaaS, Lightning, and many more products. Lightning offers development environments. It has expanded to SaaS offerings also.
It is an extension of FaaS that dynamically offers computing resources. Pricing is based on runtime and computing time. Idle time is not charged. Serverless database and storage have emerged recently. These database products are based on MySQL.